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

 
 
> Размер прошивки средствами линкера, С сохранением в тело прошивки
Prowler
сообщение Nov 26 2014, 07:36
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 171
Регистрация: 22-03-05
Из: Новосибирск
Пользователь №: 3 578



Суть проблемы: рассчитываю контрольную сумму прошивки как написано в http://supp.iar.com/Support/?note=62709 в пункте "Alternative solution using checksum-start and checksum-end markers". Сохраняю размер блока ROM_CONTENT как описано в http://supp.iar.com/Support/?note=52791. Но при этом значение ROM_length_used равна не размеру всей области до "checksum_end_mark", а только до адреса 0x0802bd04 (см. map-файл ниже). Подозреваю, что размер прошивки надо рассчитывать в Post-Build Actions и сохранять в заранее выделенную секцию выходного файла, но как это сделать не нашел. Можно ли это сделать средствами линкера и его утилит?

Контрольная сумма считается правильно для всей прошивки. Контроллер STM32.

CODE

*******************************************************************************
*** PLACEMENT SUMMARY
***

"A1": place at 0x08002000 { ro section .intvec };
"P1": place in [from 0x08002000 to 0x080edfff] { block ROM_CONTENT };
"P2": place in [from 0x20000000 to 0x20017fff] { rw, block CSTACK, block HEAP };

Section Kind Address Size Object
------- ---- ------- ---- ------
"A1": 0x130
.intvec ro code 0x08002000 0x130 startup_stm32f10x_xl.o [1]
- 0x08002130 0x130

"P1": 0x29d04
ROM_CONTENT 0x08002130 0x29d04 <Block>
ROM_length_used const 0x08002130 0x4 Place holder ROM_CONTENT_size
checksum_start_mark const 0x08002134 0x1 main.o [1]
.rodata const 0x08002138 0x10 arrow_down2.o [1]
.rodata const 0x08002148 0x10 arrow_up2.o [1]
.rodata const 0x08002158 0x1c calendar.o [1]

.text ro code 0x0802b234 0x62 memcmp_unaligned.o [5]
.text ro code 0x0802b298 0x10 startup_stm32f10x_xl.o [1]
.text ro code 0x0802b2a8 0x10 stm32f10x_adc.o [1]
.text ro code 0x0802b2b8 0x894 stm32f10x_it.o [1]
.text ro code 0x0802bb4c 0x15c system_stm32f10x.o [1]
.text ro code 0x0802bca8 0x1a cmain.o [5]
.text ro code 0x0802bcc2 0x4 low_level_init.o [3]
.text ro code 0x0802bcc8 0x28 data_init.o [5]
.text ro code 0x0802bcf0 0x4 exit.o [3]
.text ro code 0x0802bcf4 0xa cexit.o [5]
.text ro code 0x0802bd00 0xc XXexit.o [5]
Initializer bytes ro data 0x0802bd0c 0x20 <for P2-1> (used: 0x1c)
.text ro code 0x0802bd2c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd30 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd34 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd38 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd3c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd40 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd44 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd48 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd4c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd50 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd54 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd58 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd5c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd60 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd64 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd68 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd6c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd70 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd74 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd78 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd7c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd80 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd84 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd88 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd8c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd90 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd94 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd98 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bd9c 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bda0 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bda4 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bda8 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdac 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdb0 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdb4 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdb8 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdbc 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdc0 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdc4 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdc8 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdcc 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdd0 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdd4 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdd8 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bddc 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bde0 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bde4 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bde8 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdec 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdf0 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdf4 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdf8 0x4 startup_stm32f10x_xl.o [1]
.text ro code 0x0802bdfc 0xc cstartup_M.o [5]
.iar.init_table const 0x0802be08 0x24 - Linker created -
.rodata const 0x0802be2c 0x0 zero_init3.o [5]
.rodata const 0x0802be2c 0x0 copy_init3.o [5]
checksum_end_mark const 0x0802be2c 0x4 main.o [1]
checksum const 0x0802be30 0x4 Place holder ielftool_checksum
- 0x0802be34 0x29d04
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- - scifi   С этой задачей может отлично справиться SRecord. Я...   Nov 26 2014, 07:40
- - jcxz   Цитата(Prowler @ Nov 26 2014, 13:36) ниже...   Nov 26 2014, 07:49
|- - Prowler   Цитата(jcxz @ Nov 26 2014, 11:49) Восполь...   Nov 26 2014, 07:58
|- - jcxz   Плохо ищете:Вот   Nov 26 2014, 08:47
|- - Prowler   Цитата(jcxz @ Nov 26 2014, 12:47) Плохо и...   Nov 26 2014, 09:03
|- - jcxz   Цитата(Prowler @ Nov 26 2014, 15:03) И гд...   Nov 26 2014, 10:58
- - Prowler   Разобрался, опять невнимательность), в блок ROM_CO...   Nov 26 2014, 12:23
- - jcxz   Цитата(Prowler @ Nov 26 2014, 18:23) Разо...   Nov 26 2014, 19:06
- - Сергей Борщ   Цитата(jcxz @ Nov 26 2014, 21:06) достато...   Nov 26 2014, 23:48
- - Prowler   Цитата(Сергей Борщ @ Nov 27 2014, 02:48) ...   Nov 27 2014, 03:02
|- - Сергей Борщ   Цитата(Prowler @ Nov 27 2014, 05:02) Наве...   Nov 27 2014, 08:20
- - jcxz   Цитата(Сергей Борщ @ Nov 27 2014, 05:48) ...   Nov 27 2014, 08:23
- - Сергей Борщ   Цитата(jcxz @ Nov 27 2014, 10:23) Как нап...   Nov 27 2014, 09:35
- - Prowler   Цитата(jcxz @ Nov 27 2014, 12:23) Проблем...   Nov 27 2014, 09:50
- - jcxz   Цитата(Prowler @ Nov 27 2014, 15:50) Я им...   Nov 28 2014, 04:12
- - Сергей Борщ   Цитата(Prowler @ Nov 27 2014, 11:50) Данн...   Nov 28 2014, 09:10
- - jcxz   Может быть. Но тогда нужно искать - как это отключ...   Nov 28 2014, 11:56


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:08
Рейтинг@Mail.ru


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