Jump to content
PLC Forum


Scrittura/lettura memoria flash stm32f10x


marco88
 Share

Recommended Posts

Ciao a tutti, non sono affatto nuovo nel forum ma in effetti non scrivo da tantissimo, soprattutto in questa sezione!

Piacere di ritrovavi! :D

 

Sto cercando di imparare qualcosa di nuovo sulla programmazione embedded e sto usando un stm32f103c8 che programmo con System workbench ide, usando la Standard C peripheral library.

 

Nel programmino che sto facendo ho la necessità di scrivere alcune variabili nella memoria non volatile in modo da ritrovarmele aggiornate ad ogni accensione del device.

 

Purtroppo su internet non ho trovato guide ne tutorial su come fare e speravo di trovare qualcuno qui che mi potesse dare una mano! :)

 

Nel file https://github.com/espruino/Espruino/blob/master/targetlibs/stm32f1/lib/stm32f10x_flash.h dalla riga 373 ci sono delle funzioni per l'uso della flash!

 

Inoltre mi sembra di vedere delle funzioni per scrivere sulla memoria ma non per leggere!

 

Chi mi aiuta? 😄

 

Grazie a presto

Link to comment
Share on other sites


Non ci ho mai provato, ma se te usi per esempio la FLASH_Status FLASH_ProgramWord(uint32_t Address, uint32_t Data); per scrivere in un indirizzo Address in memoria, per leggerlo poi non dovrai far altro che creare un puntatore uint32_t* che punti alla locazione Address e poi farci quello che vuoi.

Cioè, dalla flash si legge sempre comunemente con normale programmazione, solo per scriverci (e cancellare) bisogna usare routine apposite.

 

Per la scrittura, dai un'occhiata qui https://github.com/hocarm/STM32F103-Tutorial/blob/master/07.PWM/Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c

Link to comment
Share on other sites

ciao Ctec, non immaginavo di dover trattare una locazione di memoria nella flash come una normale variabile (puntatore)! Grazie mille! appena ci ridedico del tempo provo e ti informo!

 

ps: che poi in effetti è una cosa a cui sarei potuto arrivare per intuito considerando che la memoria è contigua!

Grazie ancora :D

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...