создал новый проект
не помогло.
Код
__x_z void __flashcpy(DstPtr_Type dst, SrcPtr_Type src, Counter_Type size)
{
do {
*dst++ = *src++;
} while(--size != 0);
}
эта ф-ция в файле segment_init.c
она неправильно работает - если поменять *dst++ = *src++; на *dst++ = 1;
то все статические переменные инициализируются единицами
т.е. видимо src не на нужную область указывает
в файле кода смотрел структуры SegmentInitBlock (их всего две для near_i и near_z)сформированы правильно с нужными адресами
инициализаторов.
т.е. всё вроде правильно написано и должно работать - но не работает.
только размер сегментов Near_i и near_id не совпадает первый больше
и цикл копирования из flash в RAM выполняется по длине near_i
__________но это наверное не страшно