Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: bad HEX file under AVRstudio 4.12 build 460 & Winavr 20050214
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
leevv
Pervyj raz rabotaju pod AVRstudio 4.12 build 460 & Winavr 20050214 ( Atmega 162).
Do etogo vsegda ispol'zoval assembler.

Proekt gruzitsja i otlagivaetsja bez problem pod AVRstudio + JTAGICE mkII.

No kogda probuju zagruzit' HEX file cherez JTAGICE ili cherez STK500 v AVR studio, govorit chto proekt "doesn't fit in this device", to est' ne vlazit v sushestvujushij device.

Ja tak ponimaju chto problema imenno s HEXfile, poskol'ku dage pod STK500 ja mogu otkyt' ELF file dlja DEBUG pod simuljatorom i zatem zagruzit' ATmegu ispol'zuja "copy from simulator memory".

Moget kto podskaget kak obojti problemu? Vrode "options" dlja sozdanija HEX file v "make file" stojat pravilnye - Intel HEX?
beer_warrior
intel hex, все правильно, простой как угол дома формат, ошибки нереальны.
Можно скомпилить, main() {}, и посмотреть, что получиться.
Проблемы скорее всего в студии или железе.
leevv
Vot na vyhodnyh vnov' zanjalsja etim proektom.

Problema ostalas' i vosnikaet potomu chto ja opredelil chast' RAM pod novuju section, dlja hranenije global variables s fixirovannym addressom.

#define GLOBAL_VARIABLES_SECTION __attribute__ ((section (".glob_vars")))
GLOBAL_VARIABLES_SECTION u08 gUartMsgCnt;
GLOBAL_VARIABLES_SECTION u08 gEcho ; // rs232 terminal echo

Esli etu global section ne vvodit' to HEX normal'no gruzitsja.

Esli ge sekcija opredelena to, HEX perestaet gruzitsja, govorit chto "program doesn't fit to the device".
Pri etom ELF file gruzitsja normal'no cherez debugger ili STK500.

Vsja zagvozdka v transljatcii ELF v HEX file, kotoruju delaet "avr-objcopy".

Ja tut ne bol'shoj specialist. Moget kto podskaget kakoi i kuda kljuchik nugno postavit'?
viakon
Ты проект в студии создавал? или в начале компиляция а в студии отладка? Попробуй создать проект прямо в студии, она это позволяет. Будет создан makefile автоматически.

Хекс выложи на обозрение, я его попробую у себя прогрузить. Правда через старый ICE.
leevv
Da, immenno, proekt sozdan polnost'ju v Studio.
Prikladyvaju dva build foldera dlja "good" i "bad" sluchaja, so vsemi list i map files.
"Good" eto kogda net global_var sekcii i vse gruzitsja. Bad - naoborot.
Device - Atmega 162.
viakon
ты прав явно глючит оbjcopy. можно ручками отрезать конец хекса, куда кладутся эти переменные
leevv
Spasibo,

Teper' kogda ja znaju chto ne "sam durak" poprobuju pogalovat'sja na Atmel.
viakon
Atmel тут ИМХО не причем, это ГНУшная заморочка
leevv
Vot poluchil otvet ot Atmela po etoj teme, esli komu interesno.

-------------------------------------------------------------------------------------------------------------

Hi

I am sorry about the delay. We have looked at this and see the problem, it seems an extended address record is being added to the hex file and that is why it does not fit. We are not sure why this happens.
We suspect that there is a bug in the GCC plugin to cause a problem when you try to define custom segments in SRAM. We will look into this, but it might take a while so please work around this by not used custom SRAM segments.

The software tool guys are working hard because of the AVR32 release so the issues with the GCC plugin must be fixed after April. I am sorry
viakon
У меня сейчас заморочка с точностью наоборот. Хекс нормальный, а в отладчике появляется только секция .bootloader. Секции размещаются во флэше. Похоже что тут уже студия 4.12 виновата, неправильно эльф понимает. Приходится грузить вручную хекс, а потом отладчик с don't reprogramming запускать
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.