创建并移植K10 BSP包的具体步骤和方法(五)
4.2 GPIO配置与任务调试
在MQX4.0安装目录C:FreescaleFreescale_MQX_4_0mqxexamples下可以找到很多参考例程,包括ADC、 Hello、 I2C、 Lowpower、 Timer等。这里采用使用的最多的GPIO例程来验证BSP是否能正常工作。
由于在默认的bsp包中user_config.h中没有配置使能BSPCFG_ENABLE_GPIODEV外设,需要在该文件中加入语句#define BSPCFG_ENABLE_GPIODEV 1,如下图15所示。
图15 使能GPIO任务配置
在这里,为了验证MQX4.0版本操作系统对于MQX3.8等早期版本软件代码的兼容性,本例使用的源程序代码,可以在MQX3.8版本的安装目录中C:FreescaleFreescale MQX 3.8mqxexamplesgpio找到。直接将该文件添加到工程中,如图16所示,在IAR的主程序中,在读IO状态处设置断点,系统执行到此断点处,如果开启IAR任务栏的TASK List, 在Stack Uage Summary窗口可以看到任务和栈的运行情况。
图16 GPIO任务 运行
这里需要注意的是,代码中用到了一些BSP_BUTTON1,BSP_LED1等宏定义,这些宏定义在MQX4.0的安装目录C:FreescaleFreescale_MQX_4_0mqxsourcebspK10DN512的K10DN512.H文件中可以找到,例如BSP_LED1中的宏定义如下:
#define BSP_LED1 (GPIO_PORT_A | GPIO_PIN11)
如果目标板中的LED引脚和默认的设置不一样,需要对其进行修改,然后重新编译。
另外在通过下载工具调试代码的时候,需要指定icf配置文件,如图17所示。这里K10DN512和K60DN512的Flash大小一样,不需要做修改。如果使用其他不同配置的芯片则需要对Memory Region进行调整。
图17 ICF文件的位置指定
5. 总结
本文介绍了如何基于飞思卡尔的MQX操作系统,创建并移植目标MCU的 BSP包,并可以针对不同的开发平台(CW, KEIL, IAR)定制适合目标芯片的BSP。
评论