Home > other >  The program runs in the Flash and Ram
The program runs in the Flash and Ram

Time:02-09

Recently, in the development of stm8 want to turn off the electricity stored data saved to the on-chip Flash, according to the manual need to code to run to the ram to run, on the basis of extended out a few problems

A). The program is running on the Flash, isn't it start PC (R15) points to the Flash firmware first address, such as stm32 default 800000 h, or instructions directly read the data on the Flash
B). The program is running in Ram, MCU sRAM is limited, one can't be fully loaded full program (similar to the Linux kernel is loaded into the DDR), so this is how to realize, is ready to use the program reads ahead into Ram, then through to read the operation instructions?
C). The program links, to link into ram to run a code, the system starts is first loaded into ram cuts the program address? When it was released, or at the end of the application lifecycle release
D) with a Cache of single chip microcomputer is used with data register or instruction register? It is to improve the efficiency of ram to read and write, so you can use the flash program to read and write it on

CodePudding user response:

CodePudding user response:

A) stm32 boot0 and boot1 two hardware pins decide where to start to run the program; B0 to 0 from flash, b0=1, then from ram or system store

B) if you want to run from ram, it must be in the main flash management program or system storage area, it is responsible for the loader to the ram area, then, jump to the ram area, at the end of the ram area, there must be a piece of code used to load a program, or jump to a particular entry;
C) single-chip computer connection, the connection is an absolute address
D) cache can be done for reading and writing is transparent, generally do not need to consider how it work

CodePudding user response:

refer to the second floor worldy response:
A) stm32 boot0 and boot1 two hardware pins decide where to start to run the program; B0 to 0 from flash, b0=1, then from ram or system store

B) if you want to run from ram, it must be in the main flash management program or system storage area, it is responsible for the loader to the ram area, then, jump to the ram area, at the end of the ram area, there must be a piece of code used to load a program, or jump to a particular entry;
C) single-chip computer connection, the connection is an absolute address
D) cache can be done for reading and writing is transparent, generally do not need to consider how it works

Thank you reply, about C me to describe the, is I changed the ld link file, defines a piece of code to run into ram, then this program is at system startup is loaded into ram
  • Related