Noob question here. I have only a little experience with microcontrollers and all that experience was limited to the 8051. I am working on a project and would like to use the ARM cortex M4 microcontroller. Programming the microcontroller and setting up the registers and IO is easy enough. The project calls for a person to be able to input certain variables like time, weight, etc. Those values need to be stored in some non-volatile memory so that if the embedded system loses power the values will be retained.
Do any of the Cortex M4 microcontrollers have on-chip flash memory (or another form of non-volitile memory) that can be used for data? If yes, then how does the program specify this on-chip memory as the location to store the data?
If there is no on-chip memory as described above I assume a flash memory IC can be connected to the GPIO pins of the microcontroller to store the data externally. Are there any resources that would walk me through this process?
I do not need to store much data so using on-chip resources would be preferable compared with purchasing another IC just to store a few bytes of information.