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

 
 
> программный доступ к значениям из icf файла, IAR ARM
shreck
сообщение Mar 26 2012, 03:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Есть ли возможность программно получить доступ к значениям, определенным в icf файле?
Типа ROM_start, ROM_end, cstack и т.д.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
shreck
сообщение Mar 28 2012, 02:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Спасибо, разобрался.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Mar 28 2012, 06:02
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(shreck @ Mar 28 2012, 05:32) *
Спасибо, разобрался.

Ну так напишите, что нового открыли?
Что нужно в хедере их упомянуть, как выше было указано ?
Или что-то еще?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
shreck
сообщение Mar 28 2012, 07:01
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(Dog Pawlowa @ Mar 28 2012, 13:02) *
Ну так напишите, что нового открыли?
Что нужно в хедере их упомянуть, как выше было указано ?
Или что-то еще?

В icf файле делаем export symbol на нужный name, а в программе объявляем его как extern и пользуем.
В указанном документе все с примерами описано. shmur и SSerge ткнули в нужное место.
Go to the top of the page
 
+Quote Post
_3m
сообщение Jun 5 2012, 07:07
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960



Напишу сюда чтобы темы не плодить.

iаr еwb fоr аrм v6 ЗО
Как получить от линкера адрес последней занятой ячейки в области флэш памяти (или размер прошивки)?
Хочу его хранить вместе с crc по определенному адресу для облегчения действий в бутлоадере.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Jun 5 2012, 07:28
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(_3m @ Jun 5 2012, 10:07) *
Напишу сюда чтобы темы не плодить.

iаr еwb fоr аrм v6 ЗО
Как получить от линкера адрес последней занятой ячейки в области флэш памяти (или размер прошивки)?
Хочу его хранить вместе с crc по определенному адресу для облегчения действий в бутлоадере.



Думаю, надо смотреть в сторону __segment_end (если такой естьв IAR ARM).
Go to the top of the page
 
+Quote Post
jcxz
сообщение Jun 7 2012, 02:07
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(_Артём_ @ 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, что и использую.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 15:41
Рейтинг@Mail.ru


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