最近听网友推荐尝试了下LPCXpresso,发现确实好用,当然是针对nxp的芯片板子而言。至少找具体的某引脚的定义啊,函数的定义啊,都能准确跳转,还能进行仿真(反正这板子我用mdk是没仿真请来),真是太让人感动了
,不过最大的缺点大概就是编译时间会很长。
趁着这几天不练车,加快进度。
单片机的外设用过很多,可一直没跑过操作系统,借此机会研究下。
对于小型单片机而言,常跑的操作系统主要是UCOSII、FreeRTOS、embOS等,相较而言FreeRTOS是免费的,并且源码公开,移植方便,所以当然就先研究这个了。
下面引用百科里一段对FreeRTOS的定义:
FreeRTOS提供的功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。
FreeRTOS的内核可根据用户需要设置为可剥夺型内核或不可剥夺型内核。当FreeRTOS被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的CPU使用权,这样可保证系统满足实时性的要求;当FreeRTOS被设置为不可剥夺型内核时,处于就绪态的高优先级任务只有等当前运行任务主动释放CPU的使用权后才能获得运行,这样可提高CPU的运行效率。
这段话对FreeRTOS具体的功能等讲的很清楚。基于上述所说,通过实际程序来理解下。
NXP提供了一个关于FreeRTOS闪灯的例程,可以说是移植FreeRTOS最好的入门了。
下面通过对FreeRTOS理论的理解,结合程序来具体分析下,呵呵,初次学习,不足之处还望指正!