-
Data: 2010-04-07 22:37:00
Temat: Re: Bootloader dla SAM7 z flashowaniem z karty SD
Od: voland <v...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 21 Mar, 03:12, Adam Dybkowski <a...@4...pl> wrote:
> W dniu 2010-03-19 09:15, Sebastian Biały pisze:
>
> >> BTW: Tyle że w AT91SAM7 nie ma takiego wsparcia dla własnych
> >> bootloaderów, jakie jest np. w AVRach. "Bootloader" w tym przypadku to
> >> zwykły kawałek softu, który leży sobie na początku Flasha. A cały
> >> normalny program musisz linkować odpowiednio dalej (np. od 32KB).
>
> > To nie ma znaczenia gdzie będzie fizycznie flash ładowany, byle by można
> > potem zmienić wektory przerwań.
>
> Z tym nie ma problemu. W kodzie bootloadera wstawiasz standardowy skok
> przez wektor ładowany z rejestru kontrolera przerwań:
> 0x18: ldr pc, [pc, #-3872] ; fffff100
> 0x1c: ldr pc, [pc, #-3872] ; fffff104
> A potem konfigurujesz konkretny adres przerwania IRQ i FIQ w kontrolerze
> przerwań. Po starcie właściwego systemu możesz zmienić adres i już.
>
> Można też dla uproszczenia nie korzystać w bootloaderze w ogóle z
> przerwań (nie jest to problemem przy prostym dostępie do UARTu i karty
> SD) a na początku bootloadera wstawić na stałe rozkazy skoków o 32KB do
> przodu - jeżeli przyjmiesz tyle miejsca na swój bootloader. Potem w
> kodzie docelowej aplikacji zajmiesz się przerwaniami jak chcesz.
>
> --
> Adam Dybkowski
> http://dybkowski.net/
>
> Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Przypadkiem sie natknąłem na ten wątek bo mam podobne problemy też z
at91sam7s128. Generalnie juz napisalem se taki bootloader i wyglada na
to ze dziala. flashuje se binarke do pamieci pod adres 0x109000, i
sciągam potem pamieć na twardy dysk i zawartość się zgadza, ale mam
inny problem mianowicie nie wiem jak skonfigurowac linker dla programu
który ma być wgrany pod ten adres, niby skonfigurowalem coś w pliku
flash.lds czyli zmieniłem adres pamieci flash i jej wielkość, wygląda
to mniej więcej tak:
MEMORY
{
sram (W!RX) : ORIGIN = 0x200000, LENGTH = 0x8000
flash (RX) : ORIGIN = 0x109000, LENGTH = 0x17000
}
No i jak kompiluje ten program z parametrem optymalizacji -s0 to niby
działa ale kiedy próbuje skompilować to zoptymalizowane to już się
wysypuje.
Następne wpisy z tego wątku
- 07.04.10 23:34 Adam Dybkowski
- 08.04.10 07:26 voland
- 08.04.10 07:27 voland
- 08.04.10 08:49 voland
Najnowsze wątki z tej grupy
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
- 74F vs 74HCT
- Newag ciąg dalszy
- Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- Szukam: czujnik ruchu z możliwością zaączenia na stałe
- kabelek - kynar ?
- Podnieść masę o 0.6V
- Moduł BT BLE 5.0
- Pomiar amplitudy w zegarku mechanicznym
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
Najnowsze wątki
- 2025-01-04 Zbieranie danych przez www
- 2025-01-04 reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- 2025-01-04 w Nowym Roku 2025r
- 2025-01-04 Warszawa => Specjalista ds. IT - II Linia Wsparcia <=
- 2025-01-04 Warszawa => Java Developer <=
- 2025-01-04 Warszawa => Spedytor Międzynarodowy <=
- 2025-01-04 Warszawa => System Architect (Java background) <=
- 2025-01-04 Wrocław => Application Security Engineer <=
- 2025-01-04 Chrzanów => Specjalista ds. public relations <=
- 2025-01-04 Katowice => Key Account Manager (ERP) <=
- 2025-01-03 Problem z odczytem karty CF
- 2025-01-03 Jazda z Warszawy do Krakowa teslą
- 2025-01-03 Wrocław => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-01-03 Warszawa => International Freight Forwarder <=
- 2025-01-03 Mińsk Mazowiecki => Area Sales Manager OZE <=