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

Jak zapisać 1 bajt do pamięci FLASH AM29F016D-90EF przez mc9sd64?

Emiliano 01 Lis 2006 23:33 1610 4
REKLAMA
  • #1 3178136
    Emiliano
    Poziom 12  
    Posty: 92
    Pomógł: 1
    Ocena: 6
    Witam. Chcialem do uC motorola mc9sd64 podlaczyc jako pamiec danych flash serii AM29F016D-90EF. Chce ja podlaczyc do multipleksowanej szyny danych tak jak podlacza sie zewnetrzna pamiec SRAM. Chcialem sie dowiedziec pogladowo jak wyglada zapisanie do takiej pamieci danej 1 bajtowej poprzez uC. Czy mozliwy jest zapis tej danej poprzez polecenie movx - dostep po pamieci zwnetrznej.
    Dodatkowo: czy istnieje pamiec SRAM o pojemnosci 2 - 4 MB, najlepiej z mozliwoscia podtrzymania danych podczas braku zasilania.
    Pozdrawiam
  • REKLAMA
  • #2 3178368
    Bęben
    Poziom 16  
    Posty: 180
    Pomógł: 12
    Ocena: 13
    Pamięci o takiej pojemności szukaj na stronie producentów.
    Ale ja sie jeszcze z taką nie spotkałem.

    Pamięć mozesz zapisać poleceniem movx

    movx A,@Ri
    movx A,@DPTR

    i to o co pytałeś...
    movx @ri,A
    movx @DPTR,A

    i - numer rejestru
  • REKLAMA
  • #3 3178798
    Emiliano
    Poziom 12  
    Posty: 92
    Pomógł: 1
    Ocena: 6
    Niestety teraz dowiedzialem sie ze Motorola nie ma podzialu pamieci danych i programu jak w przypadku 8051 tylko ma wspolna przestrzen adresowa. W zwiazku z tym mam pytanie czy mozliwe jest podlaczenie do tego uC pamieci SRAM na przechowywanie danych 8 bitowych. Jakim poleceniem zapisuje sie i odczytuje dane z zewnetrznej pamieci SRAM.
    W moim przypadku jako pamiec SRAM bede uzywac FLASH
    Pozdrawiam
  • REKLAMA
  • #4 3178865
    Bigfoot
    Poziom 25  
    Posty: 982
    Pomógł: 74
    Ocena: 13
    Beben - takim sposobem zaadresujesz tylko 65535 bajtow pamieci a Kolega ma zachcianki na kilka Mbit...

    Nie wczytywalem sie dokladnie w dokumentacje -ale moim skromnym zdaniem na pewno bedzie trzeba napisac kawalek kodu inny niz proponuje Beben. Nie bedzie to trudne ale bez spojrzenia w pdfa sie nie obedzie. Jak zawsze zreszta:)

    BF
  • #5 3180448
    GrzesGrz71
    Poziom 19  
    Posty: 197
    Pomógł: 32
    Ocena: 4
    Cześć

    Możliwość zapisu do pamięci Flash owszem istnieje - ale jest to troszkę bardziej skomplikowana sprawa niż w przypadku zapisu do SRAM. Datasheet konkretnego układu Flash dokładnie opisuje sposób programowania, kasowania itd. Dodatkowa dość istotna rzecz jest taka, że dane do flash-a zapisuje (i ewentualnie kasuje) się sektorami (512B, 1KB,2KB - różnie dla różnych kości) - czyli zapis kolejnego bajtu w "rozpoczętym" sektorze wiąże się ze skasowaniem całego sektora i zapisaniem wszystkich potrzebnych danych.
    Co do sposobu dostępu do takiej pamięci z HCS12 w zasadzie niczym nie różni się od adresowania innych peryferiów (rejestrów I/O, pamięci wewn. RAM, FLASH, EEPROM). Do pamięci >32KB trzeba będzie używać rejestru strony, żeby zapewnić sobie dostęp do właściwych adresów ale nie jest to przesadnie skomplikowane.
REKLAMA