EDA365电子论坛网

标题: lpc2214,现在需要将 ucos-ii 移植到上面去 [打印本页]

作者: Dollche    时间: 2022-12-21 10:23
标题: lpc2214,现在需要将 ucos-ii 移植到上面去
情况如下:
0 t5 m5 X: p5 A: I我自己制作了一个硬件模块,用的是 lpc2214,现在需要将 ucos-ii 移植到上面去.我用板子做 ZLG 公司提供的实验,是可以做的,如 led 灯等,按道理说串口等硬件应该没有问题,然后我就做公司提供的那三个移植实例:ex2_arm.编译等是通过的,生成了 hex 文件,下载到 flash 中,运行 easyarm,但是没有任何显示,不知道是什么问题,应该是硬件上呢,还是其他的 6 G9 O8 _# U6 d3 q5 z

7 A, z/ k; q- v
作者: 名字好听吗    时间: 2022-12-21 11:18
这主要是 RAM 的问题,用工程模板,并选择在 FALSH 中调试,如果编译通过,则一般行,否则请减少任务堆栈的大小。
作者: 风吹过后    时间: 2022-12-21 13:24
移植UCOSII操作系统的CPU前提条件& ~9 i( r' w( d2 N$ r4 K( _
1,处理器的C编译器能产生可重入型的代码,如果不行的话,那么就不能在任务之间随意的切换,因为当你切换到别的任务的时候,该任务在这个函数的数据就会被破坏。# x# s) g* S1 @1 C* g9 Q7 e
2,处理器CPU支持中断,并能产生定时中断/ v( O: W# X0 x8 m, B5 t1 n3 P: m
3,用C语言就可以开关中断,进行任务切换+ O2 f% H# l9 O8 `0 d
4,处理器CPU能够支持一定数量的数据存储硬件堆栈,也就是栈! }5 G" z& J* S  i7 ?# K' ~
5,处理器有将堆栈指针以及其他的CPU的寄存器的内容读出,并存储到堆栈或者内存中去的指令。任务切换的时候,需要将当前的CPU指针保存到刚刚执行的任务当中。然后切换到优先级更高的任务当中。
作者: STGing    时间: 2022-12-21 13:48
UCOSII的移植实例就是要求用户编写4个简单的汇编语言函数,2 h( v& ^3 A9 W7 w2 C7 t
如果编译器支持插入行汇编代码就可以将所有的与处理器相关的代码放置到OS_CPU_C.c里面种,就不需要适用汇编文件。




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2