从现在起,开始在博客上记录我的毕业设计了。
毕业设计的题目是:基于ucos操作系统的GPS接收机研究。所用硬件是Devkit 3250。芯片是NXP LPC3250,基于ARM926EJ_S核。
今天任务:
1.在操作系统上跑多任务
两个任务,一个灯闪烁,一个串口,通过消息邮箱来实现任务之间的通信和同步。
建立任务需要注意的:任务堆栈大小,任务优先级,
灯闪烁的任务是最高优先级的任务,在最高优先级的任务中声明建立串口任务的函数。在控制等的闪烁是调用BSP中的相关 函数,BSP文件在开发板提供的资料里有。如果没有,可以自己参照着LPC3250手册建立自己的BSP文件,或者在已有的BSP文 件中加入缺少的函数。灯闪烁任务中有延时,使灯能闪烁,同时可以阻塞自己,使低优先级的任务获得运行。
串口任务:也是调用BSP中的串口操作函数,所以编写起来是很简单的。但是如果没有BSP或BSP中缺少串口相关的函数, 那你就得自己建立了。
最后说到消息,在灯亮是,发送信号量1,在等灭是发送信号量0。在串口程序中,如果接受信号为1,则向终端发送“LED ON”,如果为2,则向终端发送“LED OFF”,其他则发送,“I AM WAITING...”。且消息邮箱是在高优先级的任务中创建,不知这个是不是对的,但是看到很多程序都是这样的。
2.使用flashloader下载程序到外部flash
IAR调试的时候只是把程序下载到RAM中,断电后程序就没有了。而LPC3250没有内部flash,要把程序下载到外部flash,由于flashloader今天才开始接触,还有成功。
毕业设计在3月份的时候就开始记录了,以后有时间会把之前的记录也补充上,争取让毕业设计这一栏成为一个完整的一栏。