联系我们
    插件电感_大电流电感
热门搜索
点击排行
推荐电感
推荐阅读
推荐电感
推荐电感
猜猜你喜欢的
常见问题 您所在的位置: 电感 > 常见问题

uC/OS-II在ARM系统上的移植与实现

来源:    作者:    发布时间:2016-12-30 09:09:00    浏览量:

1. 1  OS CPU. H 的移植

文件OS CPU. H 中包括了用# define 语句定义的与处理器相关的常数、宏以及类型. 移植时主要修改的内容有:与编译器相关的数据类型的设定;用#define 语句定义2 个宏开关中断;根据堆栈的方向定义OS STK GROWTH等.

在将uC/ OS - II 移植到ARM 处理器上时,首先进行基本配置和数据类型定义. 重新定义数据类型是为了增加代码的可移植性,因为不同的编译器所提供的同一数据类型的数据长度并不相同,例如int型,在有的编译器中是16 位,而在另外一些编译器中则是32 位. 所以,为了便于移植,需要重新定义数据类型,如INT32U 代表无符号32 位整型. typedefunsigned int INT8U ,就是定义一个8 位的无符号整型数据类型. 其次就是对ARM 处理器相关宏进行定义,如ARM处理器中的退出临界区和进入临界区的宏定义,退出临界区宏定义[5 ] : # define OS EXITCRITICAL () ARMDisable Int ( ) / / 关中断,进入临界区宏定义# define OS ENTER CRITICAL ( ) AR2MEnableInt () / / 开中断. 最后就是堆栈增长方向的设定. 当进行函数调用时,入口参数和返回地址一般都会保存在当前任务的堆栈中,编译器的编译选项和由此生成的堆栈指令就会决定堆栈的增长方向[6 ] ,定义为# define OS STK GROWTH 1.

图2  堆栈增长方向

1. 2  OS CPU. C 的移植

OS CPU. C 的移植包括任务堆栈初始化和相应函数的实现. 在这里,共有6 个函数:OSTaskStkInit( ) , OSSTaskCreateHook ( ) , OSTaskDelHook ( ) , OS2TaskSwHook( ) ,OSTaskStatHook ( ) , OSTimeTickHook () . 其中后面的5 个HOOK函数又称为钩子函数,主要是用来对uC/ OS - II 进行功能扩展. 这些函数为用户定义函数,由操作系统调用相应的HOOK函数去执行,在一般情况下,他们都没有代码,所以实现为空函数即可. 而函数OSTaskStkInit ( ) 对堆栈进行初始化,在ARM 系统中,任务堆栈空间由高到低依次为PC ,LR ,R12 ,R11 , ⋯,R1 ,R0 ,CPSR ,SPSR. 在进行堆栈初始化以后,OSTaskStkInit ( ) 返回新的堆栈栈顶指针.

嵌入式操作系统μC/OS-Ⅱ在数控系统中的应用
嵌入式操作系统μC/OS-Ⅱ是一个可裁剪、源码开放、结构小巧、抢先式的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高,占用空间小,可移植性强,实时性能优良和可

急寻EE16 立式 5+5加厚骨架 排距14.0这款 PIN距如题,很急,知道的帮帮我,万分感谢谢!!没理解你的意思,你是找这款料,还是找这款骨架的资料?去淘宝上问问呗东莞 洋通电子有谢谢各位了,我找到了,我是想找骨架,哪位有需要可以联系我,

泓格i-7250探讨 请问大师们,用其中的模块+软件+一台电脑 可以组装一套类似示波器和频率计的测量工具吗? 如果可以,选用哪个型号的模块,最高可以测量多少hz的频率范围?









大电流电感
 
在线客服