[elektro] STM32F Flash memory inicializáslása.

elight elight at gmail.hu
Wed Jun 10 15:13:42 CEST 2015


Megvigasz....

de megvan a vigasz.. :-)

unsigned char FLASH_Mem_Inited = 0;



valahol a main elején
Error = EEprom_Table_Read  ( kezdőcím, hossz  );   // olvasom a táblát 
egy EE_Thumb memóriaváltozóba

if ( ! ( EE_Thumb[ TEST_AA ] ==  0xAA ) &&  (EE_Thumb[ TEST_55 ] ==  0x55 ))
{
                  //  Ha a pattern nem található  az EEprom területen ...

                 EEprom_Table_Init ( kezdőcím, hossz );    // Belevarrja 
a területbe a patternt és a kezdő adatokat.
                 FLASH_Mem_Inited = 1;
}

És a  nyitóképernyőn   is kiírom ha initelt , hogy lássam

if(  FLASH_Mem_Inited == 0 )
{
         Print_Status_LCD("FLASH_Read_Ok" );
}
else
{
      Print_Status_LCD("FLASH_Init  !!!" );
}


a többi már pöröghet   szokásosan..
Az előbb teszteltem éppen, szépen lefutotta az esteket..


Az zavart be,  PIC-nél ezeket az adatokat direkt beleírhattam az égető 
EEprom táblájába,
itt pedig a FLASH-ba kell bele juttatni, és ahhoz kell a FLASH kezelő 
függvénye..
Legalább is egyenlőre direkt nem értem el  , hogy a fordító tegye bele 
nekem.

Üdv István





2015-06-10 14:55 keltezéssel, hg12345 írta:
> Hi a tömbnek érteket lehet adni induláskor, akkor nem ZI-n tárolja.uint8_t tomb[100]={ 1,2,3,4....};az az érték RAM-ban lesz tárolva, nem a FLASH területen. ha eléírsz "const" akkor a tömböt a flash területre teszi, de ennek az írását nem engedi a fordító.const uint8_t tomb[100]={ 1,2,3,4....};Ha egy ugyan ilyen pointert definiálsz a const helyet használhtsz __attributre__ megadott kezdőcimet is...)  uint8_t  *ptomb= (uint8_t*) tomb ;és utána már használhatód ptomb[xx] hivatkozással ezért már nem kiabál a fordító de írni nagy valószínűséggel nem fogod tudni :-)
> elight <elight at gmail.hu> írta:
>> Sziasztok.
>>
>> Egy EEprom emulációt készítettem a FLASH memoria területére.
>>
>> A fordítónak hogyan adhatom meg , hogy ez
>> egy  tömb, aminek kezdeti értéke van,
>> és a függvényeim induláskor ezeket módosíthatják vagy olvashatják majd.
>>
>> Olyasmire gondolok, hogy a PIC-nél volt az égetőben egy EE_prom
>> terület, amit kézzel beírtam, és égetés után azokkal
>> a beállítási paraméterekkel indult a program.
>> Mert most elsőre innen szemetet vagy 00 hoz le sajnos.
>>
>> Üdv István
>>
>> -----------------------------------------
>>           elektro[-flame|-etc]
> -----------------------------------------
>            elektro[-flame|-etc]



More information about the Elektro mailing list