Перейти к содержанию
    

IAR 6.21

Вот обновился и впал в ступор. Раньше была директива #pragma segment="CODE_ID" и по ней я мог вычислить, где начало/конец прошивки. Мне это нужно для проверки целостности было.

Это первая проблема.

Взял старт код из примеров. У меня AT91SAM7X256. Все конечно заработало. Но дальше стало совсем интересно. Решил добавить формирование CRC линкером. Но как оказалось происходит ремап из адреса 0 в 0x100000. И как результат линкер впадает в ступор - генерит прошивку размером более мегабайта, и, ессно, прошивальщик грит что прошивка не влезет.

 

Кто знает, как найти конец прошивки и сформировать вменяемую прошивку с CRC?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сама прагма никуда не делась, а вот имена секций изменились.

Читайте, там всё написано:

arm\doc\EWARM_DevelopmentGuide.ENU.pdf

arm\doc\EWARM_MigrationGuide.ENU.pdf

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

А по второму вопросу?

Изменено пользователем mungo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

__section_begin("CODE_ID")

__section_end("CODE_ID")

 

Разве вам не это надо ???

Дело в том, что таких названий секциий нету, это раз, а два - код и данные разделились как я понял, поэтому нет точного адреса окончания прошивки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость MALLOY2

Так создай и положи туда код, а так по умолчанию код находится в секции .text

 

__section_begin - получает адресс заданной секции.

__section_end - получает конец заданной секции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так и сделал.

Появился еще вопрос - можно как-то глобально выравнивание поменять, не выписывая везде прагму? А то 8 байт дофига, когда работаешь с епром на 8 кб, а подбирать всюду надоедает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...