eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaBootloader dla SAM7 z flashowaniem z karty SD › Re: Bootloader dla SAM7 z flashowaniem z karty SD
  • 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: