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 storeB) 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: