STM32F0xx a počítání zapnutí

HUDA volny hudaklan na volny.cz
Úterý Červen 17 09:13:13 CEST 2014


Předpokládám, že když je to příklad na emulaci eeprom přímo od ST,
tak že je to OK. Podle mne se nezapisuje celá stránka, ale jen WORD.
Toto je rutina pro zápis WORDu do flashky a o zápisu stránky není nic.

FLASH_Status FLASH_ProgramHalfWord(uint32_t Address, uint16_t Data)
  {
   FLASH_Status status = FLASH_COMPLETE;

   status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);         //!  
Wait for last operation to be completed
   if (status == FLASH_COMPLETE)
     {
      FLASH->CR |= FLASH_CR_PG;                                       //!  
If the previous operation is completed, proceed to program the new data
      *(__IO uint16_t*)Address = Data;
      status = FLASH_WaitForLastOperation(FLASH_ER_PRG_TIMEOUT);      //!  
Wait for last operation to be completed
      FLASH->CR &= ~FLASH_CR_PG;                                      //!  
Disable the PG Bit
     }
   return status;                                                     //!  
Return the Program Status
  }

V Referenčním manuálu je na straně 41, minimální zápis 16 bitů.

HUDA


Dne Tue, 17 Jun 2014 08:41:35 +0200 Jaroslav Buchta  
<jaroslav.buchta na hascomp.cz> napsal(a):

> Je opravdu jiste, ze nevadi zapisovat stranky na hodnekrat po par bytech?
> Kdysi jsem narazil na clanky o NAND FLASH a souborovem systemu Yaffs,  
> kde se tato metoda v nejake verzi pouzivala a zaver byl, ze to nektere  
> pameti nesnaseji dobre. Predpokladam, ze se zapis fyzicky provadi taky  
> po vetsich blocich a je asi otazka, jak je inteligentni programovaci  
> algoritmus...
>
> Dne 17. 6. 2014 8:07, HUDA volny napsal(a):
>> Děkuji. To jsem netušil, že se zapisuje po menších blocích.
>> Teď jsem si prohlížel příklad emulace eeprom pro STM32F0xx
>> a tam je zapis do flash po 16 bitech. I 32 bitové slovo
>> se zapisuje po 16 bitech.
>>
>> HUDA
>>
>>


Další informace o konferenci Hw-list