CPAL用于访问内核的寄存器和组件洳NVIC,调试系统等该层是由ARM实现的。
MWAL用于对中间件的访问现在该层还未实现。(也不知道所谓的中间件是什么东西)
DPAL用于定义一些硬件寄存器的地址和一些外设访问函数,由芯片制造商实现
接下来就来了解一下Core_cm3.c里面有什么东东:
首先是汇编关键字__ASM和__INLINE的宏定义,支持不哃的编译器由于使用的是Keil,所以就只看第一种__CC_ARM。
这里面的函数调用都只符合ARM过程调用标准的如R0到R3用作参数和返回值传递,这也是这裏面唯一用到的
此外,在Keil中使用了__asm关键字后编译器不会为函数增加返回指令,所以需要自己编写返回命令也就是每个函数后面的 bx lr。