-
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
- Światłowód między budynkami
- POtrzebny bufor 3.3<>5V, jedonkieruowy, trójstanowy, wąski
- retro
- Bezprzewodowe polączenie Windows z projektorem
- rozklejanie obudowy
- Prośba o identyfikację komponentu
- Smart gniazdko straciło na zasięgu wifi?
- Smart gniazdko straciło zasięg wifi?
- nurtuje mnie
- dziwna sprawa...
- Laptop MSI się nie uruchamia.
- Dobra listwa LED (CRI 90-95, bez migotania)
- masowe programowanie AVR
- Fajny pomysł na monitor z klawiaturą
- Sprzedawanie zaszyfrowanych filmów na płytach Blu-Ray bez kluczy deszyfrujących
Najnowsze wątki
- 2024-11-02 piszę list do św Mikołaja
- 2024-11-01 karta SIM nie działa w konkretnym smartfonie.
- 2024-11-01 Mamy WZROST! O 50% wzrosła ilość kredytów gotówkowych
- 2024-11-01 Warszawa => Expert Recruiter 360 <=
- 2024-11-01 Warszawa => Technical Leader (Java Background) <=
- 2024-11-01 Warszawa => Account Manager - Usługi rekrutacyjne <=
- 2024-11-01 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-01 Warszawa => Programista Dynamics 365 CRM <=
- 2024-11-01 Warszawa => Dynamics 365 CRM Developer <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Chrzanów => Specjalista ds. PR Produktowego <=
- 2024-11-01 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-11-01 Łódź => Frontend Engineer (Three.js) <=
- 2024-11-01 Warszawa => Junior Rekruter <=
- 2024-11-01 Gdańsk => Programista Full Stack .Net <=