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

stm32f439 - zapis programu na pamięci flash z dual bank powyżej 1MB

Anubis2 16 Maj 2015 15:03 3042 2
REKLAMA
  • #1 14697544
    Anubis2
    Poziom 12  
    Witam,

    Mikrokontroler stm32f439 posiada podzieloną pamięć flash w tzw. dual bank. Przykładowy linker dodany do cubef4 dla mikrokontrolera np. stm32f439NI ma tak podzielone obszary pamięci:
    
    MEMORY
    {
    FLASH (rx)      : ORIGIN = 0x8000000, LENGTH = 2048K
    RAM (xrw)      : ORIGIN = 0x20000000, LENGTH = 192K
    CCMRAM (rw)      : ORIGIN = 0x10000000, LENGTH = 64K
    }
    

    Czy używając pamięci 2MB z dual bankiem mogę zapisać program na obydwu obszarach pamięci bez żadnych dodatkowych kroków ? Potrzebuje więcej pamięci niż 1MB na program i nie chce wykorzystywać potencjału dual banku.

    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 14697656
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Anubis2 napisał:
    Przykładowy linker dodany do cubef4 dla mikrokontrolera np. stm32f439NI ma tak podzielone obszary pamięci:

    We fragmencie kodu który pokazałeś widać "jak na dłoni", że pamięć flash _NIE_ jest podzielona, więc nie wiem w czym problem...

    Anubis2 napisał:
    Czy używając pamięci 2MB z dual bankiem mogę zapisać program na obydwu obszarach pamięci bez żadnych dodatkowych kroków ? Potrzebuje więcej pamięci niż 1MB na program i nie chce wykorzystywać potencjału dual banku.

    Nie da się "nie wykorzystać" drugiego kontrolera pamięci flash (bo do tego sprowadza się to wspaniałe hasło "dual bank") i jednocześnie "wykorzystać" pamieć która jest do niego przyczepiona. Ponownie nie wiem jednak w czym dokładnie tkwi problem - przecież ten układ po prostu "ma" tyle pamięci i jedyne co tu jest nietypowego, to fakt że można uruchomić program z jednej części a drugą w tym samym czasie kasować/zapisywać (oczywiście z kodu aplikacji).
  • #3 14697737
    Anubis2
    Poziom 12  
    Dziękuje za odpowiedź, teraz już rozumiem. Po prostu nie byłem pewny ze względu na małe doświadczenie z mikrokontrolerami tego, czy mogę wykorzystać całą pamięć (mającą dwa kontrolery) bez problemu na jeden program (choć jak zauważyłeś, miałem wszystko na tacy). Czasami po prostu warto się upewnić.
    Pozdrawiam
REKLAMA