avreal and Intel HEX file

Jan 12, 2005 1 Replies
äÅÎØ ÄÏÂÒÙÊ. × ÏÐÉÓÁÎÉÉ AVReAL ÅÓÔØ ÓÌÅÄÕÀÝÁÑ ÚÁÐÉÓØ: " þÔÅÎÉÅ ÉÚ HEX-ÆÁÊÌÁ ÚÁÐÉÓÅÊ ÔÉÐÁ '02' Extended Segment Address Record ÐÒÏÉÚ×ÏÄÉÔÓÑ × ÓÏÏÔ×ÅÔÓÔ×ÉÉ Ó ÆÏÒÍÉÒÏ×ÁÎÉÅÍ ÉÈ × AVRASM by Atmel (ÂÅÚ ÐÒÅÄÕÓÍÏÔÒÅÎÎÏÇÏ ÄÏËÕÍÅÎÔÁÃÉÅÊ Intel Ó×ÏÒÁÞÉ×ÁÎÉÑ ÁÄÒÅÓÁ ÓÍÅÝÅÎÉÑ ÐÏ ÍÏÄÕÌÀ
64Kb). " üÔÏ ÇÄÅ-ÔÏ ÁÔÍÅÌÏÍ ÚÁÄÏËÕÍÅÎÔÉÒÏ×ÁÎÏ? ÷ÓÅ ËÏÍÐÉÌÑÔÏÒÙ ÄÌÑ MCU AVR ÆÏÒÍÉÒÕÀÔ hex ÆÁÊÌ Ó ÄÁÎÎÙÍ ÏÔÓÔÕÐÌÅÎÉÅÍ ÏÔ ÉÎÔÅÌÏ×ÓËÏÇÏ ÓÔÁÎÄÁÒÔÁ, ÉÌÉ ÅÓÔØ ÉÓËÌÀÞÅÎÉÅ (Ë ÐÒÉÍÅÒÕ AVRAMS2)? (ÉÍÈÏ: ÎÅÌÅÐÏÓÔØ ÓÏ ÓÔÏÒÏÎÙ ÁÔÍÅÌÁ)...
ó Õ×ÁÖÅÎÉÅÍ, ÷ÌÁÄÉÓÌÁ× þÉÇÒÉÎÅÃ.

TV> в описании AVReAL есть следующая запись: TV> " Чтение из HEX-файла записей типа '02' Extended Segment Address Record TV> производится в соответствии с формированием их в AVRASM by Atmel (без TV> предусмотренного документацией Intel сворачивания адреса смещения по TV> модулю 64Kb). " TV> Это где-то атмелом задокументировано? Не видел. Т.е. впрямую это нигде не указано и не думаю, что на это отклонение пошли бы ОСОЗНАННО. Скорее просто ляп программистов.

TV> Все компиляторы для MCU AVR формируют TV> hex файл с данным отступлением от интеловского стандарта, или есть TV> исключение (к примеру AVRAMS2)? AVRASM2 не пробовал. Я очень давно перелез сначала на IAR ASM (он с давних пор бесплатно на atmel лежал), потом вообще с асма практически ушёл.

Проверить просто - дать .org на адрес, скажем 65530, сделать .db на 10 байтов и посмотреть на HEX. По-интеловски надо дать сначала одной записью

6 байт начиная с FFFA, потом запись типа 02, потом запись на 4 байта. AVRASM делал одну запись начиная с FFFA на 10 байт. По-интеловски хвост из 4 байт надо сворачивать в адреса 0..3, но они-то должны быть в 10000..10003.

А однажды avrasm дал запись `02' не позже, чем надо (и что корректируется "несворачиванием"), а раньше. Вышло вообще красиво. Отчёт разбора полётов был в этой эхе (письмо длинное, не считаю нужным тут цитировать):

Subject: [NEWS] "Глюки" при зашивке (в дополнение к AVR ASM --> IAR ASM :-) Date: Mon, 15 Jul 2002 10:05:49 +0000 (UTC)

wbr, Кстати, IAR тоже как-то ляп допустил, причём там записи были типа `04', "однозначные", но в одно мместе запись была просто пропущена. Там два длинных письма, можно в архивах поискать.

Subject: [NEWS] Внимание! баг в IAR-овском postlink? Date: Thu, 29 Jul 2004 15:16:41 +0000 (UTC)

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required