[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