宝马LPC1768——uC/OS-II 本部分主要讲解宝马LPC1768关于uC/OS-II的有关例程,包括移植,任务调度,信号量的使用,消息队列的使用,以及邮箱的使用。帮助大家对于uC/OS的理解以及快速的使用。 一、uC/OS-II移植首先我们要从uC/OS的官网下载基于LPC1768的例程,方便移植。网址:http://micrium.com/downloadcenter/download-results/?searchterm=hm-nxp&supported=true。在官网下载的例程解压之后,可以得到五个文件夹,如下图所示。 uCOS-II文件夹下source文件夹中所有的文件,以即Port文件夹中os_cpu.h,os_cpu_a.asm,os_cpu_c.c,os_dbg.c四个文件, EvalBoards文件夹中的app_hooks.c,os_cfg.h,app_cfg.h,三个文件。 注意: (1)部分文件要注意对应编译器,选择不同的编译器,要选择对应的文件,如os_cpu_a.asm文件。 (2)在app_cfg.h文件中,定义的是用到一些任务的优先级,以及任务的堆栈大小的设置,要注意一个重要的宏定义#define OS_TASK_TMR_PRIO (OS_LOWEST_PRIO - 2)。 把对应的文件添加到工程目录之后,注意修改以下几个地方,首先是启动文件。 在启动文件startup_LPC17xx.s中,第69和70行,是软件中断以及系统定时器的中断服务函数名字。 修改成如下所示: 然后对应的下面也需要修改。 最后注意在进行任务调度之前对系统定时器进行初始化,使其能够进行任务切换。 最后在主函数中写入对应的系统初始化,以及建立任务,启动任务就可以了。
|