LAB6:uC/OS II
l 实验要求:
移植uC/OS II到RPi上,实现两个任务的调度。这两个任务能轮流点亮LED,并通过串口发送消息表明自己正在运行
l 实验过程:
1、 下载安装yagarto工具链以及make命令tools
2、 修改内核代码,实现两个程序分别点亮ACT灯
根据实验5,利用blinker.c的写法,将UserApp.c修改为:
#include "uart.h" #include "ucos/includes.h" extern void PUT32 ( unsigned int, unsigned int );
#define GPSET0 0x2020001C #define GPCLR0 0x20200028
void userApp2(void * args) { while(1) { uart_string("in userApp2"); PUT32(GPSET0,1<<16); OSTimeDly(200); } }
void userApp1(void * args) {
while(1) { uart_string("in userApp1"); PUT32(GPCLR0,1<<16); OSTimeDly(150); } } |
3、 编译修改后的内核
4、 接下来是安装新内核,将生成的kernel.img拷贝到SD卡上替换原来的内核
5、 启动树莓派,串口输出信息,并且看到板上ACT灯闪烁