模仿stm32编程
stm32寄存器结构体
使用一个结构体把所有的结构体放在一起
清空bss段
.global _bss_start
_bss_start:
.word __bss_start
.global _bss_end
_bss_end:
.word __bss_end
_bss_start
: 相当于变量的值.word就是在这里放了一个值
ldr r0, _bss_start;
ldr r1, _bss_end;
mov r2, #0
bss_loop:
stmia r0!, {r2} @ 写入数据,然后地址加一
cmp r0, r1
ble bss_loop @ 小于等于的时候进行跳转
结构体
#define CCM_BASE (0x20c4000)
typedef struct{
volatile unsigned int CCR;
volatile unsigned int CCDR;
...
}CCM_Typedef
#define CCM ((CCM_Typedef *)RCC_BASE )
注意没有相连的寄存器