Article Directory
Concept
Cotex-M Core & Cortex-M MCU
The kernel is only the architecture of the CPU, and the MCU is a specific package implementation. CM3
-> Cortex-M3
.
Memory map
-
0x0000 0000
~0x1FFF FFFF
Is the code snippet. DETAILED split follows:
0x0800 0000
an internalFLASH
start address, this is the place of programming code.System Memory
Yesbootloader
(ROM).bootloader
The code can be uploaded via other peripherals (USART, USB).Option bytes
The middle is to configureMCU
some flag bits. -
0x2000 0000
It is the internalSRAM
start address. InternalSRAM
due to chip manufacturers differ in size. So its end address will also be different. -
0x4000 0000
It is the start address of the peripheral register. Because some peripheral ports only occupy one to two bits in a register,atomic operation
simultaneous operations cannot be used in multiple processes .ARM
The use ofbit-banding
technology. It is to map different register bits under the same address into a single address, which is convenient for multi-process operation.
Interrupt & Exception
Processing function: Exception Handler
--> Exception
; Interrupt Service Routine
(ISR) --> Interrupt
.
Priority Management is in NVIC
the.
SysTimer
Cortex-M
It provided SysTick
as a system clock. Can be used to:
- Provide periodic interrupts for RTOS for scheduling purposes.
- Provide accurate timing function.
CMSIS
Cortex Microcontroller Software Interface Standard (CMSIS) is the standard software interface of the Cortex-M series.
However, due to different hardware platforms, migration is still very difficult.
bibliography:
- Mastering STM32 by Carmine Noviello.