eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika[avr] Bootloader i stos albo...[avr] Bootloader i stos albo...
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: Dariusz Zolna <a...@u...com>
    Newsgroups: pl.misc.elektronika
    Subject: [avr] Bootloader i stos albo...
    Date: Sat, 17 Jan 2009 12:35:40 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 44
    Message-ID: <gksfqa$seq$1@inews.gazeta.pl>
    NNTP-Posting-Host: 62-250.76-83.cust.bluewin.ch
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2; format=flowed
    Content-Transfer-Encoding: quoted-printable
    X-Trace: inews.gazeta.pl 1232192139 29146 83.76.250.62 (17 Jan 2009 11:35:39 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sat, 17 Jan 2009 11:35:39 +0000 (UTC)
    X-User: dejet
    User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:554296
    [ ukryj nagłówki ]

    Rzeźbię teraz bootloader na Atmega8, który ściąga firmware przez I2C,
    niestety dzieją się dziwne rzeczy.
    Kod bootloadera uruchamia się, kontrolna dioda miga w określonej
    sekwencji, czyli jest ok. W momencie kiedy wyślę pierwszy bajt po I2C,
    układ się resetuje.
    Podejrzewałem 1 z 3 możliwości:

    1. Kod bootloadera jest za duży i nie mieści się w obszarze 1024 słów
    (ale to wyeliminowałem przez porównanie zawartości flasha z tym co do
    niego ładuję)

    2. Jest niepoprawnie ustawiony wektor przerwania TWI i w momencie
    otrzymania danej skacze gdzieś w maliny.

    Na początku programu przepisuję tablicę wektorów przerwań:
    GICR = (1<<IVCE);
    GICR = (1<<IVSEL);

    W pliku . map mam taki wpis:
    0x00000d4e __vector_17

    A w .lst taki:
    302 .global __vector_17
    304 __vector_17:
    305 .LFB15:
    306 .LM55:
    307 /* prologue: frame size=0 */
    308 00e2 1F92 push __zero_reg__

    Więc wygląda, że wszystko jest na miejscu.

    3. Ta opcja wygląda mi najbardziej podejrzanie: być może mam źle
    ustawiony wskaźnik stosu i program resetuje się przy próbie powrotu z
    przerwania.

    HELP!

    Dariusz Żołna

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: