创建并移植K10 BSP包的具体步骤和方法(四)
4. BSP包代码的调试
4.1. 创建一个 简单任务并运行
为了证明所创建的BSP是可以正常工作的,这里建一个最简单的IAR的工程,如图9所示,它包含了我们所创建的基于MQX 4.0的 K10DN512 的BSP库。
图9 建立一个IAR工程
选择保存工程的文件目录位置如下:C:\Freescale\Freescale_MQX_4_0\demo\K10DN512 Demo。在main.c中添加如下的代码:
#include
#include
#define MAIN_TASK 15
#define STACK_SIZE 1024
#define MAIN_STACK STACK_SIZE
extern void main_task(uint_32);
extern “C” const TASK_TEMPLATE_STRUCT MQX_template_list[] =
{
// Task Index, Function, Stack, Priority, Name, Attributes, Param, Time Slice */
{ MAIN_TASK, main_task, MAIN_STACK, 11, “main_task”, MQX_AUTO_START_TASK, 0, 0 },
{ 0 }
};
void main_task(uint_32 parameter)
{
while(1)
{
puts(“A”);
}
}
需要将C:\Freescale\Freescale_MQX_4_0\lib\K10DN512.iar\debug\bsp中的bsp.a库文件,以及C:\Freescale\Freescale_MQX_4_0\lib\K10DN512.iar\debug\psp中的psp.a库文件添加到工程中去。如下图10所示,点击main选择右键option for node “main”,并在C/C++ Compiler的预处理器preprocessor和Assembler中设置文件的路径如下。
C:\Freescale\Freescale_MQX_4_0\lib\K10DN512.iar\debug\bsp
C:\Freescale\Freescale_MQX_4_0\lib\K10DN512.iar\debug\psp
C:\Freescale\Freescale_MQX_4_0\lib\K10DN512.iar\debug\bsp\Generated_Code
C:\Freescale\Freescale_MQX_4_0\lib\K10DN512.iar\debug
图10. 在Option选项中设置
注意需要将文件拷贝到C:\Freescale\Freescale_MQX_4_0\lib\K10DN512.iar\debug\psp文件夹中。
编译完成后,通过JLINK等烧写工具将软件下载到目标板后开始运行,系统运行的界面如图11所示。如果系统进不了main函数,说明MQX bsp系统移植还有问题,需要按照前面介绍的步骤进行仔细的检查。
图11 复位后运行进入main函数
系统进入main函数,在mqx函数处设置断点,点击图标go运行,程序进入mqx初始化部分,如图12所示。
图12 mqx初始化
在main_task中设置断点,再次运行,如图13所示,在IAR 的JLINK任务栏中可以找到TASK LIST列表。这里需要注意的是,需要在IAR的环境下,将option下debug插件的MQX勾选,如图14所示,勾选后才可以看到MQX的TASK等任务信息。
图13 主任务运行
图14 选取MQX
- 基于TLV1562的四通道高速实时数据采集系统的设计(01-09)
- 基于 TI TLK10002的 SERDES FIFO 溢出的解决方案(08-26)
- 基于TLK10002的 SERDES FIFO 溢出解决方案(08-29)
- 一种因光纤漂移引起SERDES FIFO溢出的解决方案(08-26)
- 创建并移植K10 BSP包的具体步骤和方法(五)(09-30)
- 创建并移植K10 BSP包的具体步骤和方法(二)(09-30)