marco88 Posted September 2, 2018 Report Posted September 2, 2018 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
Ctec Posted September 2, 2018 Report Posted September 2, 2018 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
marco88 Posted September 3, 2018 Author Report Posted September 3, 2018 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
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now