Цитата(VladislavS @ Apr 18 2018, 20:09)
Нелогично... Наверное, except{ section .httpContent} поможет.
initialize by copy { readonly, readwrite }
Тогда уж лучше указать конкретные секции в
initialize by copy {}. А
readonly, readwrite в указанной конструкции указывают на
все секции имеющие соответствующие атрибуты.
Цитата(VladislavS @ Apr 18 2018, 20:09)
PS: А зачем для секции .httpContent свой регион заводить? Можно же просто в ROM_region её разместить. Даже больше, что-то мне подсказывает, что с атрибутом static const массив и так в readonly должен попасть.
Его секция будет иметь атрибут readoinly. Ну и попадёт в тот регион, который для readonly.
Я скопировал этот пример из .icf-файла для отладки в ОЗУ. Там все остальные секции идут в ОЗУ. Только .httpContent - во FLASH так как большой и не меняется - нет смысла грузить при каждой отладке.
Цитата(VladislavS @ Apr 18 2018, 20:09)
Создавать пересекающиеся регионы - только осложнять жизнь линкеру.
У меня и нет пересекающихся регионов.
Код
define region FLASHC_regionA = mem:[from 0x08000000 to 0x08001FFF]; //PMU/FLASH (cached)
define region FLASHC_regionB = mem:[from 0x08002000 to 0x08003FFF]; //PMU/FLASH (cached)
define region FLASHC_regionC = mem:[from 0x08020000 to 0x081FFFFF]; //PMU/FLASH (cached)
define region FLASHU_regionA = mem:[from 0x0C000000 to 0x0C1FFFFF]; //PMU/FLASH (uncached)
define region RAM_regionA = mem:[from 0x1FFE8000 size 0x18000]; //PSRAM (code)
define region RAM_regionB = mem:[from 0x20000100 size 0x1FF00]; //DSRAM1 (RW-data)
define region RAM_regionC = mem:[from 0x20020000 size 0x20000]; //DSRAM2 (RO-data)
PS: А "ROM" я называю именно ROM - Read Only Memory. FLASH != ROM