打印

uC/OS-II在Cortex-M4上的移植

[复制链接]
5720|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jinjing999|  楼主 | 2011-12-23 11:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谁做过这方面的移植?是不是M3移植的代码直接可以用到M4上。
沙发
open_free| | 2011-12-23 12:32 | 只看该作者
核心底层如果没有大的区别,可以直接把M3的拿来用的。
当然重新移植也不是一件很复杂的事情。。

使用特权

评论回复
板凳
open_free| | 2011-12-23 12:34 | 只看该作者
有时间,有空闲偶也会移植几个系统玩玩,比如freertos ucos etc.

使用特权

评论回复
地板
hsbjb| | 2011-12-23 15:46 | 只看该作者
没移植过,差别应该不大

使用特权

评论回复
5
baidudz| | 2011-12-23 15:58 | 只看该作者
这个难度不小,最好是有移植过的大侠给指点一下

使用特权

评论回复
6
byeyear| | 2011-12-24 19:18 | 只看该作者
差别应该还是不小的
至少要考虑浮点寄存器的现场保护

使用特权

评论回复
7
李富贵| | 2011-12-25 13:53 | 只看该作者
我觉得可以找freertos的port看一看,它现在已经支持M4乐。

使用特权

评论回复
8
jinjing999|  楼主 | 2011-12-27 16:57 | 只看该作者
M4比M3多虑浮点寄存器。可这些浮点寄存器需要保存吗?谁对ARM内核比较清楚?

是不是M3和M4运行15个寄存器一样多?

使用特权

评论回复
9
open_free| | 2011-12-27 17:50 | 只看该作者
这么说,如果你的任务只有一个跟浮点相关,可以不考虑这个问题,如果M3兼容,完全可以用!(我没有看M4)
原因是,如果多个任务同时操作这些寄存器会紊乱!!!所以要保护起来。

使用特权

评论回复
10
jinjing999|  楼主 | 2012-1-16 16:24 | 只看该作者
那位大侠试过?

冒个泡

使用特权

评论回复
11
ilovezeno| | 2012-1-17 15:59 | 只看该作者
9# open_free
即使只有一个跟浮点相关,如果你不考虑保护浮点的32个寄存器,那就等着进 hard fault吧~
因为编译器有时候在整数运算中会把浮点寄存器挪作他用以改善性能的,这些可不在你的掌控内。

使用特权

评论回复
12
clingos| | 2012-1-31 14:36 | 只看该作者
如果你不使用FPU,且在编译器中去掉FPU选项,则直接使用M3的移植,
目前UCOS官方没有发现有保护FPU的移植例程!

使用特权

评论回复
13
clingos| | 2012-1-31 14:42 | 只看该作者
其实在M4上实现也很简单,即在OSTaskSwHook函数中把FPU相关寄存器保护或切换即可,
可以使用OS_TCB中的ExtPtr在创建任务时分配一个保护FPU的空间,或是利用OS_TCB中的
RegTbl表来保存!

使用特权

评论回复
14
i55| | 2012-1-31 14:49 | 只看该作者
参考RL-ARM里面的代码,M4确实在任务切换的时候比M3多保存一些寄存器。

使用特权

评论回复
15
jinjing999|  楼主 | 2012-2-1 09:45 | 只看该作者
呵呵

不瞎折腾了,等有人做好再试试。

使用特权

评论回复
16
李富贵| | 2012-2-1 20:24 | 只看该作者
其实官方网站上有freescale k60的port,直接拿来就能用。

使用特权

评论回复
17
huangxz| | 2012-4-11 16:47 | 只看该作者
关闭FPU后就可以使用,已经确认过了,但是一开启FPU就不行,
K60上面的移植也没有关于FPU操作保护的那部分代码.

使用特权

评论回复
18
yinyangdianzi| | 2012-4-12 10:09 | 只看该作者
LZ可以做个F1到F4的移植实录,放到二姨家。。保证精华帖

使用特权

评论回复
19
watcher| | 2012-6-12 22:06 | 只看该作者
讨论一下clingos的想法:
其实在M4上实现也很简单,即在OSTaskSwHook函数中把FPU相关寄存器保护或切换即可,
可以使用OS_TCB中的ExtPtr在创建任务时分配一个保护FPU的空间,或是利用OS_TCB中的
RegTbl表来保存!

自己建的任务是可以用ExtPtr保存,但是系统内置任务,ExtPtr为空,那该怎么办呢?

大家多发表意见啊,总不能放着FPU不用吧,或者有什么办法禁止keil使用FPU寄存器?

使用特权

评论回复
20
jinjing999|  楼主 | 2014-1-6 14:18 | 只看该作者
又一年过去了,不知道有人做过没有。M3的STM32F2运算速度还可以,够用,再加上一直没有敢动移植M4勇气,所以一直没有敢用。但是总心不甘,希望做过的大侠交流一下

使用特权

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

本版积分规则

73

主题

363

帖子

1

粉丝