声明SDK包包括很多文档、示例代码、API、库文件、调试器等等,这里只强调了库文件的相关寄存器的书写:
一、首先以STM32为例来看SDK包库文件是个啥?,如图所示。
总结就是:
一个结构体宏是该外设
一个基地址就是该外设寄存器首地址
一个结构体是该外设所有寄存器【从小到大】
一个横岗加大于号是对其的调用
补充一个C语言语法知识:typedef 我把她看成 “别名的意思”。别名的名称便是“}”后面的字符串,该字符串可以声明其他变量,且声明的其他变量具有其结构体性质。提高了代码的效率!!!
二、现在以IMX6ULL为例来看SDK包库文件怎么写?
①确定对象:IOMUX_SW_MUX_CTL_PAD_XX 在参考手册找对应的所有寄存器:只要是带前缀:IOMUX_SW_MUX_CTL_PAD_都要写入结构体,这样后期使用的时候,只需要调用。
②明确的基地址:发现第一个复用寄存器的地址为基地址+14h
故宏定义为:
③定义结构体指针: #define 能够简单代表外设的名称 ((结构体的别名*)基地址)
三、最后以IMX6ULL为例来想SDK包库文件怎么用?
思考下,如何快速调用BOOT_MODE0?