реклама на сайте
подробности

 
 
> Рзмер скомпиленного образа в переменную, Автоматом, средствами ИАР.
elektronshik
сообщение Aug 14 2009, 07:02
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 25-10-07
Из: Тольятти
Пользователь №: 31 723



Добрый день.
Вот пишу вторичный загрузчик LPC2368, возникла необходимость подставлять размер образа в код программы. Естественно заранее он не известен, но после линковки выводится в сообщении:
X bytes of readonly code memory
Y bytes of readonly data memory
Z bytes of readwrite data memory

Вот этими X Y Z надо инициализировать какие нибудь переменные в коде (получается, что уже после линковки).

В некоторых компиляторах это вроде работает (видел строки наподобие "U32 Size = Image$$ER_IROM$$RO$$Length"), а вот как в ИАР это сделать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
elektronshik
сообщение Aug 20 2009, 07:48
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 73
Регистрация: 25-10-07
Из: Тольятти
Пользователь №: 31 723



В общем получилось вычислить размер всех секций, но как их не складываю, с размером бинарика не сходится.

CSTACK 0x0 (0)
IRQ_STACK 0x200 (512)
SVC_STACK 0x200 (512)
.vectors 0x40 (64)
.cstartup 0xFC (252)
HEAP 0x1000 (4096)
.text 0x827C (33404)
.rodata 0x3287 (12935)
ICODE 0xE0 (224)
.iar.init_table 0x0 (0)
.bss 0x574 (1396)
.data 0x1B4 (436)
.iar.dynexit 0x300 (768)

В .map - файле:
33944 bytes of readonly code memory
13189 bytes of readonly data memory
7 721 bytes of readwrite data memory

33944 +13189 = 47133, а сам бинарик весит 47134 байт - то есть даже с .map расхождение.
Из каких же секций он складывается?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th June 2025 - 03:52
Рейтинг@Mail.ru


Страница сгенерированна за 0.01362 секунд с 7
ELECTRONIX ©2004-2016