-
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
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
- Historia pewnego miernika kalibratora
- Ustym 4k Pro i wyświetlacz
- Czemu rozwaliło celę?
- Wojna w portfelu
- Jaki trojfazowy licznik tuya lub podobny?
- Problem z dekoderem adresów
Najnowsze wątki
- 2025-05-22 Department of Government Efficiency Europe, EU is made of Elon Tesla
- 2025-05-22 Department of Government Efficiency Europe, EU is made of Elon Tesla
- 2025-05-22 podpalacz
- 2025-05-22 Modlinska
- 2025-05-22 Warszawa => Support Engineer <=
- 2025-05-22 Warszawa => Support Engineer <=
- 2025-05-22 Środa Wielkopolska => SAP FI/CO Internal Consultant <=
- 2025-05-22 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-05-22 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu
- 2025-05-22 Kraków => Production Coordinator / Representant Product Dev <=
- 2025-05-22 Warszawa => Presales - Inżynier Wsparcia Technicznego IT <=
- 2025-05-22 Gdańsk => Delphi Programmer <=
- 2025-05-22 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-05-22 wzmacniacz mocy
- 2025-05-22 ostrość hamulców