电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

ucos_ii移植过程详解(移植原理)VIP免费

ucos_ii移植过程详解(移植原理)_第1页
1/6
ucos_ii移植过程详解(移植原理)_第2页
2/6
ucos_ii移植过程详解(移植原理)_第3页
3/6
u COS-II 移值过程实例讲解 我将u COS-II 移植到了EPONS 的C33209 的平台上,接下来我就基于我移植好的代码讲解如何将u COS-II 从一种MCU 移植到另一种MCU。 首先介绍u COS-II 的文件,如下表: u cos_ii.h os_cfg.h os_cpu .h os_core.c os_dbg_r.c os_flag.c os_mbox .c os_mem.c os_mu tex .c os_q.c os_sem.c os_task.c os_time.c u cos_ii.c os_cpu _c.c os_cpu _a.asm 其中我们和硬件平台相关的文件的文件名被加粗了,也就是说若要将u COS-II移植到新的平台上只要关心以上四个文件就行了。当然你也可以根据需要再添加你自己的和平台相关的文件,事实上我也是这么做的。在我移植的例子中就添加了四个和平台相关的文件,文件如下表: crt0.c drv _rtc.c v ector.c ex t.s crt0.c 是用来初始化系统的比如说MCU 的一些特殊寄存器、设置外围的总线接口,等。drv _rtc.c 是用来初始化系统中的一个RTC 的,这个RTC 可以为内核提供必要的基于时间片调度的时基。同时提供了对RTC 开始和停止的操作函数。在我的例子中RTC 会每秒产生 32 次中断。v ector.c 顾名思义,它是系统上电后为系统提供矢量入口表的文件,当然也包括中断向量表。ex t.s 是为 u c/OS-II提供 OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()函数的具体实现以及在用户程序的中断函数出入时要调用的状态保护和状态恢复函数 OS_SAVEALL ()和OS_RESTOREALL ()。前面两个函数的功能是:OS_ENTER_CRITICAL()屏蔽中断;OS_EXIT_CRITICAL()恢复原来的中断使能状态。 1. os_cpu _a.asm 的说明 要想顺利的移植首先要了解u COS-II 的一些基本概念。 u COS-II 实质上是一个嵌入式操作系统内核,她只负责管理各个任务,为每个任务分配 CPU 时间,并且负责任务之间的通讯。内核提供的基本服务是任务切换。这是个很重要的概念,可以说你只要掌握了任务切换的本质,可以说你就掌握了移植uCOS-II 的技术。至于任务之间的通讯他们是建立在任务切换之上的或者说和系统平台关系不大(当然这也和操作系统通讯机制的实现相关,至少uCOS-II是这样的)。 接下来我们就有针对性的介绍什么是uCOS-II 里的任务。一个任务通常是一个无限循环,如下程序所示。 void Task1(void *data) { INT8U err; char *rxmsg; data = data; /* Prevent compiler warning */ while(1) //这是一个无限循环 { rxmsg = (char...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

ucos_ii移植过程详解(移植原理)

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部