第一:SDK简介
常见的SDK包类似与一些库函数的使用方法类似,可以到官网上,拿到芯片对应的寄存器定义的头文件,将其移植到开发板上,就可以像操作标准库一样实现相应的功能。
第二:BSP工程管理方法
常见的工程文件比较少的话,都放在根目录下的话,还可以区分,当文件比较多的话,就必须对文件进行管理,将不同的功能的源码文件放到不同的目录中。
#ifndef __IMX6UL_H #define __IMX6UL_H #include "cc.h" #include "MCIMX6Y2.h" #include "fsl_common.h" #include "fsl_iomuxc.h" #endif
其中 bsp 用来存放驱动文件;imx6ul 用来存放跟芯片有关的文件,比如 NXP 官方的 SDK 库文件;obj 用来存放编译生成的.o 文件;project 存放 start.S 和 main.c 文件,也就是应用文件; 将十二章实验中的 cc.h、fsl_common.h、fsl_iomuxc.h 和 MCIMX6Y2.h 这四个文件拷贝到文件 夹 imx6ul 中;将 start.S 和 main.c 这两个文件拷贝到文件夹 project 中。我们前面的实验中所有 的驱动相关的函数都写到了 main.c 文件中,比如函数 clk_enable、led_init 和 delay,这三个函数 可以分为三类:时钟驱动、LED 驱动和延时驱动。因此我们可以在 bsp 文件夹下创建三个子文 件夹:clk、delay 和 led,分别用来存放时钟驱动文件、延时驱动文件和 LED 驱动文件,这样 main.c 函数就会清爽很多,程序功能模块清晰。工程文件夹都创建好了,接下来就是编写代码 了,其实就是将时钟驱动、LED 驱动和延时驱动相关的函数从 main.c 中提取出来做成一个独立 的驱动文件 。
总结:不管是SDK还是BSP工程管理工具,应该熟练掌握,对未来开发具有重要意义。