WinAVR+AVRStudio 4.07

May 13, 2004 4 Replies

Hi, All !



ëÏÍÐÉÌÉÒÕÀ ÐÒÏÅËÔ ÄÌÑ atmega32 Ó ÐÏÍÏÝØÀ avr-gcc + avr_ld. åÓÔØ ÖÅÌÁÎÉÅ ÐÒÏÉÚ×ÏÄÉÔØ ÏÔÌÁÄËÕ × AVRStudio. ëÏÎ×ÅÒÔÉÒÕÀ elf-ÆÁÊÌ × cof Ó ÐÏÍÏÝØÀ avr-objcopy. ÷ӣ ×ÒÏÄÅ-ÂÙ É ÎÉÞÅÇÏ, ÔÏÌØËÏ ×ÏÔ ÐÒÉ ÏÔÌÁÄËÅ ÐÅÒÅÍÅÎÎÙÅ, ËÏÔÏÒÙÅ × ÓÅÇÍÅÎÔÅ .data × ÏËÎÅ Watch ÐÒÏÓÍÏÔÒÅÔØ ÎÅ ÍÏÇÕ :( ðÒÉÞÉÎÁ - ÓÅÇÍÅÎÔ ÄÁÎÎÙÈ ÎÁÞÉÎÁÅÔÓÑ Ó ÁÄÒÅÓÁ 0x00800000. HÉËÁËÉÅ ÏÐÙÔÙ Ó ËÌÀÞÉËÁÍÉ ÌÉÎËÅÒÁ É objcopy ÎÅ ÐÏÍÏÇÁÀÔ.
üÔÏ ËÁË-ÎÉÂÕÄØ ÌÅÞÉÔÓÑ?

HÅ ÐÒÏÝÁÀÓØ, Alexander Gribanov.


Hi, Alexander !

ïÄÎÁÖÄÙ, × ðÑÔÎÉÃÁ íÁÊ 14 2004 11:22, Alexander Zholtkovsky ÐÉÓÁÌ Alexander Gribanov:

AG>> ÏËÎÅ Watch ÐÒÏÓÍÏÔÒÅÔØ ÎÅ ÍÏÇÕ :( ðÒÉÞÉÎÁ - ÓÅÇÍÅÎÔ AG>> ÄÁÎÎÙÈ ÎÁÞÉÎÁÅÔÓÑ Ó ÁÄÒÅÓÁ 0x00800000. HÉËÁËÉÅ ÏÐÙÔÙ Ó ËÌÀÞÉËÁÍÉ AG>> ÌÉÎËÅÒÁ É objcopy ÎÅ ÐÏÍÏÇÁÀÔ.

AG>> üÔÏ ËÁË-ÎÉÂÕÄØ ÌÅÞÉÔÓÑ?

AZ> avr-objcopy --debugging -O coff-ext-avr \ AZ> --change-section-address .data-0x800000 \ AZ> --change-section-address .bss-0x800000 \ AZ> --change-section-address .noinit-0x800000 \ AZ> --change-section-address .eeprom-0x810000 \ AZ> ${program_name} ${program_name}.cof

AZ> ÷ ËÏÍÐÌÅËÔÅ Ó WinAVR ÅÓÔØ ÎÅÓËÏÌØËÏ ÐÒÉÍÅÒÏ×.

õÇÕ. é ÞÔÏ? AVRStudio ÐÒÉ ÐÒÏÓÍÏÔÒÅ ÐÅÒÅÍÅÎÎÏÊ × Watch ÇÏ×ÏÒÉÔ "Invalid location (Location 0x00800000 [SRAM])". íÅÖÄÕ ÐÒÏÞÉÍ, ×ÐÏÌÎÅ ÌÏÇÉÞÎÏ ÇÏ×ÏÒÉÔ :( ÷ÏÐÒÏÓ × ÔÏÍ, ËÁË ÒÁÚÍÅÓÔÉÔØ ÄÁÎÎÙÅ Ó ÁÌÒÅÓÁ 0x00.

--change-section-address .data-0x000000 - ÎÅ ÐÏÍÏÇÁÅÔ. íÏÖÎÏ-ÌÉ ×ӣ-ÔÁËÉ ÜÔÏ ÓÄÅÌÁÔØ ?..

HÅ ÐÒÏÝÁÀÓØ, Alexander Gribanov.

Hi Alexander Gribanov!

AG> Компилирую проект для atmega32 с помощью avr-gcc + avr_ld. Есть AG> желание AG> производить отладку в AVRStudio. Конвертирую elf-файл в cof с помощью AG> avr-objcopy. Всё вроде-бы и ничего, только вот при отладке переменные, AG> которые AG> в сегменте .data в окне Watch просмотреть не могу :( Причина - сегмент AG> данных AG> начинается с адреса 0x00800000. Hикакие опыты с ключиками линкера и AG> objcopy не AG> помогают.

AG> Это как-нибудь лечится?

avr-objcopy --debugging -O coff-ext-avr \ --change-section-address .data-0x800000 \ --change-section-address .bss-0x800000 \ --change-section-address .noinit-0x800000 \ --change-section-address .eeprom-0x810000 \ ${program_name} ${program_name}.cof

В комплекте с WinAVR есть несколько примеров.

Hi Alexander Gribanov!

AG>>> окне Watch просмотреть не могу :( Причина - сегмент AG>>> данных начинается с адреса 0x00800000. Hикакие опыты с ключиками AG>>> линкера и objcopy не помогают.

AG>>> Это как-нибудь лечится?

AZ> avr-objcopy --debugging -O coff-ext-avr \ AZ> --change-section-address .data-0x800000 \ AZ> --change-section-address .bss-0x800000 \ AZ> --change-section-address .noinit-0x800000 \ AZ> --change-section-address .eeprom-0x810000 \ AZ> ${program_name} ${program_name}.cof

AZ> В комплекте с WinAVR есть несколько примеров.

AG> Угу. И что? AVRStudio при просмотре переменной в Watch говорит "Invalid AG> location (Location 0x00800000 [SRAM])". Между прочим, вполне логично AG> говорит :( AG> Вопрос в том, как разместить данные с алреса 0x00. AG> --change-section-address .data-0x000000 - не помогает. AG> Можно-ли всё-таки это сделать ?..

Какой AVRStudio? для 3.XX надо говорить -O coff-avr и там вроде что-то нехватает, лучше взять 4-тый.

Возможно ты не с того места ищешь? Попробуй какой-нить пример.

ðÒÉ×ÅÔ Alexander!

13 May 04 16:35, Alexander Gribanov ÐÉÓÁÌ All:

AG> ëÏÍÐÉÌÉÒÕÀ ÐÒÏÅËÔ ÄÌÑ atmega32 Ó ÐÏÍÏÝØÀ avr-gcc + avr_ld. åÓÔØ AG> ÖÅÌÁÎÉÅ ÐÒÏÉÚ×ÏÄÉÔØ ÏÔÌÁÄËÕ × AVRStudio. ëÏÎ×ÅÒÔÉÒÕÀ elf-ÆÁÊÌ × cof Ó AG> ÐÏÍÏÝØÀ avr-objcopy. ÷ӣ ×ÒÏÄÅ-ÂÙ É ÎÉÞÅÇÏ, ÔÏÌØËÏ ×ÏÔ ÐÒÉ ÏÔÌÁÄËÅ AG> ÐÅÒÅÍÅÎÎÙÅ, ËÏÔÏÒÙÅ × ÓÅÇÍÅÎÔÅ .data × ÏËÎÅ Watch ÐÒÏÓÍÏÔÒÅÔØ ÎÅ ÍÏÇÕ AG> :( ðÒÉÞÉÎÁ - ÓÅÇÍÅÎÔ ÄÁÎÎÙÈ ÎÁÞÉÎÁÅÔÓÑ Ó ÁÄÒÅÓÁ 0x00800000. HÉËÁËÉÅ AG> ÏÐÙÔÙ Ó ËÌÀÞÉËÁÍÉ ÌÉÎËÅÒÁ É objcopy ÎÅ ÐÏÍÏÇÁÀÔ.

óÏÄÅÒÖÉÍÏÅ ÓÅËÃÉÉ .data ÌÉÎËÅÒ ÐÏÍÅÝÁÅÔ ÔÕÄÁ, ËÕÄÁ ÅÍÕ ÓËÁÖÕÔ. ðÏËÁÖÉ map ÆÁÊÌ É ÌÉÎËÅÒÎÙÊ ÓËÒÉÐÔ. ÷ÓÅÇÏ ÎÁÉÌÕÞÛÅÇÏ, [Team PCAD 2000] áÌÅËÓÅÊ í. ... óÌÅÐÏÊ ðØÀ, çÌÕÈÏÊ åÍ...

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required