-
Data: 2009-01-26 12:12:30
Temat: Re: Czy WinAVR radzi sobie z kodem dla ATMega128?
Od: Dariusz Zolna <a...@u...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]T.M.F. pisze:
> Tak jak poprzednio - nie wiem czy linker nie przyjmuje adresu jako
> slowa, a nie bajty.
Jako bajty. Ale ten trop też sprawdzałem, program wtedy się odpali,a le
nie jako bootloader i co oczywiste nie zapisuje pamięci.
> Toolchain raczej bym wykluczyl, tyle osob to testowalo, ze szansa, ze
> nie wyszlaby do tej pory tak gruba rzecz jest zadna.
> Zobacz jak wygladaja wygenerowane pliki .map i .lss. Tam bedziesz mial
> dokladnie pokazane co jest pod jakim adresem umieszczone i jak wyglada
> wygenerowany kod assemblerowy.
Oglądałem i wszystko jest ok.
> Jesli nie chcesz nam pokazac listingow programu to napisz jakis krotki
> programik, ktory produkuje ten sam blad. Wtedy bedzie mozna powiedziec
> cos wiecej.
Z pokazaniem kodu jest tylko jeden problem - jest za długi żeby tu
wklejać. Ale żeby pokazać, że jest ok, wkleję co istotniejsze fragmenty.
bootloader.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000004 00800100 0001f764 000017f8 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00001764 0001e000 0001e000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000452 00800104 00800104 000017fc 2**0
[...]
0001e000 <__vectors>:
1e000: 0c 94 a4 f1 jmp 0x1e348 ; 0x1e348 <__ctors_end>
1e004: 0c 94 c4 f1 jmp 0x1e388 ; 0x1e388 <__bad_interrupt>
1e008: 0c 94 c4 f1 jmp 0x1e388 ; 0x1e388 <__bad_interrupt>
[...]
0001e348 <__ctors_end>:
1e348: 11 24 eor r1, r1
1e34a: 1f be out 0x3f, r1 ; 63
[...]
1e380: 0e 94 14 f6 call 0x1ec28 ; 0x1ec28 <main>
1e384: 0c 94 b0 fb jmp 0x1f760 ; 0x1f760 <_exit>
0001e388 <__bad_interrupt>:
1e388: 0c 94 00 f0 jmp 0x1e000 ; 0x1e000 <__vectors>
[...]
nt main( void )
{
1ec28: 1f 93 push r17
// u16 i;
cli();
1ec2a: f8 94 cli
TIMSK = 0; // disable timer interrupts
1ec2c: 17 be out 0x37, r1 ; 55
/* Enable change of interrupt vectors */
MCUCR = (1<<IVCE);
1ec2e: 11 e0 ldi r17, 0x01 ; 1
1ec30: 15 bf out 0x35, r17 ; 53
/* Move interrupts to boot flash section */
MCUCR = (1<<IVSEL);
1ec32: 82 e0 ldi r24, 0x02 ; 2
1ec34: 85 bf out 0x35, r24 ; 5
[...]
Pliki .hex (zapisany i odczytany) wyglądają ok.
A może jest coś czym musi się różnić bootloader na ATMega128 od tego dla
ATMega8?
Dariusz Żołna
Następne wpisy z tego wątku
- 26.01.09 13:40 Marcin Stanisz
- 26.01.09 14:00 Dariusz Zolna
- 27.01.09 00:22 Adam Dybkowski
- 27.01.09 09:08 Dariusz Zolna
- 27.01.09 15:10 T.M.F.
- 27.01.09 15:36 T.M.F.
Najnowsze wątki z tej grupy
- zasieg radaru
- Zmywarka Bosch SRV55T43EU - awaria
- Kod zniżkowy w TME do 26.09.2025
- SFP, 10G, simplex sc/apc
- [słabe wiatry powodują - przyp. JMJ] Energetyczny paraliż w Niemczech
- NxtPaper
- Programiści nie przestają zadziwiać świat
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
Najnowsze wątki
- 2025-09-21 Wyłudzenia świadczeń przez obcokrajowców
- 2025-09-21 wprowadzili system kaucyjny ustawą
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 W Play chciałem kupić Huawei -- jako swój pierwszy smartfon...
- 2025-09-20 Kopiowanie telefonu
- 2025-09-20 Warszawa => AWS Cloud Engineer <=
- 2025-09-20 Łódź => Regular Network Engineer <=
- 2025-09-20 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-09-20 wrzesień
- 2025-09-20 Łomiarz wychodzi w marcu
- 2025-09-19 Czeladź => Specjalista ds. public relations <=
- 2025-09-19 Warszawa => International Freight Forwarder <=
- 2025-09-19 Warszawa => DevOps Engineer <=
- 2025-09-19 zasieg radaru
- 2025-09-19 JAK nie formułować sprzeciwów w kwestii Strefy w Gazie [Niemcy: Hasło rodem z III Rzeszy]