打印
[uCOS/RTOS]

ucosii移植的问题

[复制链接]
2576|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
JY-DX-JY|  楼主 | 2015-5-2 15:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
据我所知,ucosii源码是在PC机上编译通过的,而且有一部分代码是用汇编写的。
所以移植到单片机上时,要修改汇编代码。
可是我前一个单位的一位同事言道,他把usosii移植到STM32上时,不用修改汇编代码。
于是我很疑惑,那怎么编译通过的?
本来可以问那个同事的,无奈又联系不上了。
请坛子里在stm32上移植过ucosii的坛友告知,到底用不用修改汇编代码?谢谢!

相关帖子

沙发
JY-DX-JY|  楼主 | 2015-5-2 17:59 | 只看该作者
高手支招啊!

使用特权

评论回复
板凳
JY-DX-JY|  楼主 | 2015-5-3 15:13 | 只看该作者
没人知道么?

使用特权

评论回复
地板
yangyinqi| | 2015-5-7 15:03 | 只看该作者
当然要修改,你先搞懂移植的原理。

使用特权

评论回复
5
浅唱246| | 2015-5-26 11:18 | 只看该作者
ucos里面有配置文件,只需要把源代码考进去,修改几个配置文件就可以,具体过程可以去网上搜搜

使用特权

评论回复
6
desomond| | 2015-5-27 19:17 | 只看该作者
有关操作系统与移植的相关技术文档和过程可以到网上搜索,这里不再赘述!!!对于你的问题,我觉得你的同事是直接从官方下载了移植好的例程(官方例程已经有移植好了ucos到stm32的芯片),只需要稍作修改就能运行在自己的板件上面,根本不需要关心底层的汇编代码!!!

使用特权

评论回复
7
luolang1991| | 2015-5-29 10:17 | 只看该作者
肯定要啊,配置汇编那段程序是跟硬件相关的精髓部分,必须要对硬件CPU非常的熟悉,才能移植,想看书吧。

使用特权

评论回复
8
hufengweixx| | 2017-12-30 14:51 | 只看该作者
uCOS II的移植主要涉及三个文件:OS_CPU.H,  OS_CPU_A.ASM,  OS_CPU_C.C 这三个文件与使用的芯片相关,其中OS_CPU_A.ASM为汇编文件,OS_CPU.H中主要包括各种数据类型的定义,宏定义,常量值的设定等, OS_CPU_C.C 主要包括任务生成钩子函数、任务删除钩子函数、时钟节拍等; 但是,其实常规的芯片均已有很多已经移植好的样板,可以借用二次开发

使用特权

评论回复
9
大笨象会跳舞| | 2018-1-10 17:30 | 只看该作者
他说的估计是官网移植好的,自己简单裁剪了一下........

使用特权

评论回复
10
xiangkes| | 2018-1-15 10:27 | 只看该作者
不用修改什么汇编代码,我记得要注释掉stm32原有的两个handler中断函数  ,有冲突了,然后在stm32启动文件.s里面import  ucoss的中断函数,具体按照keil编译报错来处理

使用特权

评论回复
11
dalarang| | 2018-1-15 11:31 | 只看该作者
理论上是需要修改核心汇编代码,在切换进程时需要进行上下文的保存和恢复。

但事实上网上有很多很多现成的改好的核心代码,移植时还写个毛啊,直接拿来用,重复造什么轮子。

使用特权

评论回复
12
单枪舞九州| | 2018-2-11 14:25 | 只看该作者
肯定要的

使用特权

评论回复
13
读者小木| | 2018-6-7 12:28 | 只看该作者
已经移植ucos到atmega1280成功点亮一个led,但是移植ucos II到atmega2560,每次启动后,系统崩溃,在proteus仿真中崩溃,报错Invalid opcode 0xFFFF at PC=0x23202            在实物ATMEGA2560板卡中运行也是失败!!!请大神帮忙看下,为什么ucos在atmega1280中允许正常,但是在atmega2560中运行失败,,,理论上分析应该是atmega1280和atmega2560硬件差异,但是我始终没有找到!或则是移植的ucos代码有问题,但是有问题的话,为什么可以在atmega1280中正常运行? 请各位大神帮忙看下,再次再次感谢,,,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:晴天响霹雳,平地一声雷。

245

主题

3351

帖子

30

粉丝