uC/OS-II实时操作系统在嵌入式平台上进行移植的一般方法和技巧
函数,在将所有内容出栈后,它就直接跳转回到中断发生前的程序地址处,继续执行。
进行移植的测试
在编写完了所有的移植代码之后,就可以编写几个简单的任务程序进行测试了,大体上可以分三个步骤来进行,相关资料比较详尽,这里就不多作赘述了。
封装服务函数
最后这个步骤,往往是容易被忽视的,但对于保持项目代码的简洁、易维护有很重要的意义。
μC/OS-II的原作者强烈建议将源代码分路径进行存储,例如本文例子中的所有源代码就应按如下路径结构存储:
\uCOS-II
├─SOURCE // 平台无关代码
│ OS_CORE.C
│ ......
└─TI_C6711 // 系统核心
├─CCS // 开发工具
│ OS_CPU.H
│ OS_CPU_A.ASM
│ OS_CPU_C.C
│
├─ DSP_C6x_Service // 服务函数
│ DSP_C6x_ Service.H
│ DSP_C6x_ Service.ASM
│
└─ TEST // 具体的开发项目代码
OS_CFG.H
INCLUDES.H
TEST.C ......
如上,DSP_C6x_Service中的服务函数,类似于原作者提供的80x86版本中的PC.C和PC.H文件。在本文的例子中,服务函数则包括了上文提及的中断相关函数,以及系统初始化函数DSP_C6x_SystemInit()和时钟初始化函数DSP_C6x_TimerInit()等。
而具体的开发项目代码,则可以分别在“/TI_C6711”路径下新建自己的目录,就如同移植测试的“TEST”项目,而无需再关注μC/OS-II的源代码和服务函数。
如此,就可以避免不必要的编译错误,也便于开发项目的维护。
本文链接地址:http://www.oyaya.net/fanwen/view/165040.html
进行移植的测试
在编写完了所有的移植代码之后,就可以编写几个简单的任务程序进行测试了,大体上可以分三个步骤来进行,相关资料比较详尽,这里就不多作赘述了。
封装服务函数
最后这个步骤,往往是容易被忽视的,但对于保持项目代码的简洁、易维护有很重要的意义。
μC/OS-II的原作者强烈建议将源代码分路径进行存储,例如本文例子中的所有源代码就应按如下路径结构存储:
\uCOS-II
├─SOURCE // 平台无关代码
│ OS_CORE.C
│ ......
└─TI_C6711 // 系统核心
├─CCS // 开发工具
│ OS_CPU.H
│ OS_CPU_A.ASM
│ OS_CPU_C.C
│
├─ DSP_C6x_Service // 服务函数
│ DSP_C6x_ Service.H
│ DSP_C6x_ Service.ASM
│
└─ TEST // 具体的开发项目代码
OS_CFG.H
INCLUDES.H
TEST.C ......
如上,DSP_C6x_Service中的服务函数,类似于原作者提供的80x86版本中的PC.C和PC.H文件。在本文的例子中,服务函数则包括了上文提及的中断相关函数,以及系统初始化函数DSP_C6x_SystemInit()和时钟初始化函数DSP_C6x_TimerInit()等。
而具体的开发项目代码,则可以分别在“/TI_C6711”路径下新建自己的目录,就如同移植测试的“TEST”项目,而无需再关注μC/OS-II的源代码和服务函数。
如此,就可以避免不必要的编译错误,也便于开发项目的维护。
《uC/OS-II实时操作系统在嵌入式平台上进行移植的一般方法和技巧(第3页)》