logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

ATmega8 – zapis i odczyt EEPROM w PonyProg, obsługa plików .hex i .eep

y0yster 05 Sie 2007 21:50 1593 3
REKLAMA
  • #1 4149392
    y0yster
    Poziom 19  
    Posty: 471
    Pomógł: 9
    Ocena: 76
    Witam.

    Od pewnego czasu zacząłem się bawić w programowanie eepromu w atmedze i już napotkałem kilka nieprzyjemnych doświadczeń.
    Zacznę może od zapisywania pamięci eeprom. Mam kilka pytań z tym związanych, więc je ponumeruje :).

    1. Jak to jest zapisałem do eepromu jakiś znak, potem go odczytałem. Żeby sprawdzić, czy wszystko gra wyświetliłem go na LCD. Wszystko pieknie i ładnie :). Pojawił się problem. Pomyślałem... a zmienię program, żeby tylko odczytywał znak i wyświetlał go na wyświetlaczu. Po zmianie flash'u nie mogę odczytać znaku w pamięci eeprom (wyciąłem tylko linijkę zapisującą bajt).

    2. Może głupio zabrzmi. Jak w PonyProgu zapisać eeprom do atmegi? Próbowałem, ale to nic nie daję. Niby zapisuje, a przy odczycie czysta kartka :/.

    3. Korzystam z AVR Studio 4. Tam kompilator pamięć flash wrzuca do *.hex, a pamięć eeprom do *.eep. Może tutaj tkwi jakiś haczyk. Może PonyProg potrzebuje wszystkiego w jednym pliku?

    4. Próbowałem zmienić tak kod programu, aby po obszarze 8kB zapisało mi to co chcę do eepromu. Próbowałem oszukać kompilator, aby wszystko było w jednym pliku, bo nie wiem za bardzo jak scalić te dwa pliki (flash i eeprom) są w nich jescze dane oprócz właściwej zawartości. Dałem:
    .org 0x1000
    dane: .db "jajo", 0 .......... No i jajo :/

    Proszę o pomoc.
  • REKLAMA
  • #2 4149603
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    y0yster napisał:
    ...
    2. Może głupio zabrzmi. Jak w PonyProgu zapisać eeprom do atmegi? Próbowałem, ale to nic nie daję. Niby zapisuje, a przy odczycie czysta kartka :/.
    ...

    Jeśli masz M8 , to Ponyprog "pokazuje/umieszcza" dane z eepromu od adresu 0x2000 i dane są w innym kolorze niż dane z flash-a.
    Odczytaj eeprom , "przewiń" okienko do 0x2000 i tam zobaczysz dane z eepromu.Przy wczytywaniu z pliku *.eep , dane też są umieszczane "na końcu" poza flash-em.

    Piotrek

    ATmega8 – zapis i odczyt EEPROM w PonyProg, obsługa plików .hex i .eep
  • REKLAMA
  • #3 4150148
    y0yster
    Poziom 19  
    Posty: 471
    Pomógł: 9
    Ocena: 76
    Dlatego pisałem "Może głupio zabrzmi....". Wiem, że są w innym kolorze, tyle się skapnołem. A trick z .org 0x1000 umieszczał mi tam dane. Ale jak w AVR wczytam *.eep to mi otwiera zawartość pliku w nowym okienku. Może jest jakaś opcja?

    --edit
    OK. Teraz popatrzyłem. :) Żeby PonyProg umieścił dane pod tym adresem otwierając nowy plik *.eep to należy kliknąć na ikonkę otwerania pliku z eepromem, czy tam z danymi. Ja zawze dawałem otwórz i jechałem, a tu widzę, że trzeba troszkę pokombinować :).
  • #4 4150190
    Platon
    Poziom 42  
    Posty: 9185
    Pomógł: 744
    Ocena: 170
    1. Moze nie zapisales danych, a masz fusbity ustawione na kasowanie eepromu przy flashu? Wiec poprzednio zpisanych danych nie ma.
REKLAMA