Цитата(_Артём_ @ Jun 5 2012, 13:28)

Думаю, надо смотреть в сторону __segment_end (если такой естьв IAR ARM).
Неверно, ибо во флеш в общем случае пишется > одного сегмента.
Сначала - надо определить порядок размещения входных сегментов во флеш, в конец пристроить определённый сегмент, его и смотреть.
Я делаю так (*.icf):
define block IMAGE_HEAD with fixed order { section .intvec, section .checksum, section .imagesize, section .intvecTail };
place in FLASH_region { ro, first block IMAGE_HEAD, last section .codetail };
(говорит - поместить во FLASH_region все readonly сегменты, первым - блок IMAGE_HEAD в котором у меня и сохраняется CRC)
В сегменте .codetail определяю одну единственную переменную (*.asm):
PUBLIC __codetail
SECTION .codetail:CONST:NOROOT(2)
__codetail DC32 0xAAAAAAAA
её потом и использую как конец проги (не забывая добавить её в исключения линкёру, чтоб он не выкидывал её из выходного файла).
Да - и в IAR есть возможность встроенной генерации CRC, что и использую.