STM32 a FLASH EEPROM emulace

Michal Grunt michal.grunt na vynet.cz
Úterý Říjen 14 12:05:02 CEST 2014


Už jsem na to přišel (ne proč, ale kdy se tak děje).

Mám jednoduchý program, kde zapíšu 50 hodnot (25x dvojku a 25x pětku) . Přes ST Link utilitu vymažu mcu (komplet erase), nahraji program a pustím ho. Vše je OK. Kouknu přes ST Link utilitu do paměti a vše je v pořádku. Provedu restart a opět je vše OK. A tak to pokračuje dokud se nezaplní page0. Když je page0 zaplněná (5x50 hodnot) a provedu 6. restart page0 se vymaže a část obsahu (ale divného obsahu) se přesune do page1. A právě tam je ten problém. Na začátku page1 je 50 hodnot (0002) s podivným indexem (0000).

5. restart (page0 zaplněna) http://i58.tinypic.com/2a5dmoz.png
6. restart (page0 vymazána a naplnění page1) http://i57.tinypic.com/a107zp.png

MG

-----Original Message-----
From: Hw-list [mailto:hw-list-bounces na list.hw.cz] On Behalf Of Jan Waclawek
Sent: Tuesday, October 14, 2014 9:17 AM
To: HW-news
Subject: Re: STM32 a FLASH EEPROM emulace

Skuste neignorovat navratove hodnoty.

wek


----- Original Message ---------------
>Mám následující kód:
>
>// eeprom.h
>
>#define EEPROM_START_ADDRESS ((uint32_t)0x08003800)
>
>#define NB_OF_VAR ((uint8_t)50)
>
>
>
>// main.c
>
>for (i = 0; i < NB_OF_VAR; i++) VirtAddVarTab[i] = i;
>
>
>
>FLASH_Unlock();
>
>EE_Init();
>
>
>
>EE_WriteVariable(VirtAddVarTab[0], (uint16_t)0);
>
>EE_WriteVariable(VirtAddVarTab[1], (uint16_t)1);
>
>EE_WriteVariable(VirtAddVarTab[2], (uint16_t)2);
>
>...
>
>EE_WriteVariable(VirtAddVarTab[49], (uint16_t)49);
>
>
>
>FLASH_Lock();
>
>
>
>Následuje ètení hodnot EE_ReadVariable 0 - 49...
>
>
>
>Kdy¾ provádím restarty tak jeden restart je v¹e OK a následující mám v¹echny pøeètené hodnoty rovno 0, dal¹í u¾ je to opìt v poøádku atd.
>
>
>
>Neví nìkdo proè se tak dìje? Mo¾ná jsem ¹patnì pochopil funkci...
>
>
>
>MG

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz Hw-list na list.hw.cz http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list