ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
13 апреля
1581268 Топик полностью
Nikolay_Po (Вчера, 23:47, просмотров: 17) ответил VVB на Имею вопрос. Если честного флэша нет, и прога грузится в sram из spi flash и оттуда из sram исполняется, то можно после запуска менять память программ (в загруженной копии в sram)? Или разместить .data сразу в flash, убрав копирование в стартапе.
Насколько я помню, менять память программ в ОЗУ, в загруженной копии, не получится. По крайней мере, такой механизм мне неизвестен и о примерах подобных изменений я не слышал. 

А вот .data разместить прямо во флеш, без копирования - можно. Адресное пространство "прямого доступа" к флеш совсем другое и не пересекается с адресами копии в ОЗУ. Но! В тех чипах, для которых я это изучал, важно не превышать тактовую частоту флеш. Вроде как она держит 60МГц, но не держит 70МГц, как по началу заявляли китайцы. Скорректировали требования - не более 60МГц тактовой на шине, у которой макс. делитель 2. Поэтому, во время доступа к флеш напрямую, придётся использовать тактовую не 144МГц, а не более 120МГц.

У меня был один проект, где я использовал FLASH в качестве EEPROM с CH32V203 (собственно, эта тема - про него). И там я, в первой версии, выбрал пониженную тактовую. А в финальном варианте переключал скорость ЦП на время доступа на пониженную, допустимую. А потом возвращал на полную.

Но если переносить всю секцию .data, то будете ограничены по скорости постоянно.