核心初始化包括:
- 初始化异常向量表,包括:复位异常、未定义指令异常、软中断、取指异常、数据异常、空、普通中断、快速中断
- 外围设备地址重映射
- 设置处理器进入svc模式
- 关闭看门狗
- 关闭中断
- 关闭I/D Cache和MMU
注意点:
- 在初始化异常向量表时,要讲究跳转方式,将异常向量表存入data段,由编译器自动分配地址
- 外围设备地址必须进行重映射,否则cpu无法正常操作外设,需设置cp15相关寄存器
- 关闭mmu之前需先将I/D cache关闭,关闭I/D cache之前,需先失效I/D cache,具体见arm11核心手册