-
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
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
- Litowe baterie AA Li/FeS2 a alkaliczne
- "ogrodowa linia napowietrzna"
- jaki zasilacz laboratoryjny
- jaki zasilacz laboratoryjny
- Puszka w ziemię
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
Najnowsze wątki
- 2025-02-12 Warszawa => Expert Recruiter 360 <=
- 2025-02-12 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-02-12 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-12 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-12 Kraków => PHP Full Stack Developer <=
- 2025-02-12 Karta dźwiękowa stereo
- 2025-02-12 Dęblin => JavaScript / Node / Fullstack Developer <=
- 2025-02-12 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-02-12 Łódź => NodeJS Developer <=
- 2025-02-12 Błonie => Sales Specialist <=
- 2025-02-12 Dziwne zachowanie magistrali adresowej w 8085
- 2025-02-11 Mini pecet
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=