下载μCOS II for Raspberry Pi源码,修改makefile文件
根据自己使用的交叉编译工具链,修改源码根目录下的makefile
文件,主要修改的地方有如下两处:
|
|
检查源码错误
不知道助教是不是有意“增加”实验难度,这次提供的源码中存在不少小错误,比如makefile
文件的第59行的ucos_bcm2835.elf
最后多了一个“.”、没有注意文件名大小写(这个与操作系统有关)等。这步可以通过执行make
命令找出错误的地方,很快就能解决。
修改usrApp/userApp.c文件
这次实验的要求除了移植μCOS到RPi上以外,还要求实现两个任务的调度。这两个任务能轮流点亮LED,并通过串口发送消息表明自己正在运行。调度和通过串口发消息已经在提供的代码中实现了,主要要做的就是点亮LED了。
这里我直接使用了RPi板子上LED即ACT灯,对应的GPIO号是16。代码如下:
|
|
这里说明一下,之所以加入count变量是因为我发现,如果直接对GPIO设置电平值,LED会亮起很短的时间然后马上变暗,无法实现闪烁的效果。
替换kernel.img
编译内核并复制到SD卡中,上电开机,可以看到ACT灯开始闪烁了,同时在minicom中也能看到两个任务的输出信息。