打印
[ZLG-ARM]

疑问:进行ucos移植时进行软中断是必须的吗?

[复制链接]
2637|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kun9766|  楼主 | 2010-4-15 10:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kun9766 于 2010-4-15 18:31 编辑

最近看了周工的ucos移植版本和44b0的移植版本(基于ADS1.2),对其中的软中断使用有些不解,希望有明白其中缘由的能给予指点!先谢谢了
        在调用OS_Ctx_Sw()时,周工是使用软中断的方法,先在头文件OS_CPU.h中用_SWI进行声明,然后调用这个函数的时候产生一个软中断,然后再回来调用OS_Ctx_Sw()函数。我从网上找的其他版本的移植,只是在头文件中声明了这个函数,然后是直接调用了,没有看到关于软中断的。我又看了UCOS的源文件代码,OS_Sched()在最后是直接调用了OS_Ctx_Sw(),我现在不明白的是周工的版本为什么还要加个软中断而不直接调用呢?还是因为不能直接调用?期待您的解答,谢谢

相关帖子

沙发
虎虎生威| | 2010-4-15 20:25 | 只看该作者
应该可以把

使用特权

评论回复
板凳
kun9766|  楼主 | 2010-4-17 21:54 | 只看该作者
谢谢楼上的,怎么其他人都没反应啊,还是问题太简单。。。

使用特权

评论回复
地板
juventus9554| | 2010-4-17 21:56 | 只看该作者
对于我是太难了

使用特权

评论回复
5
kun9766|  楼主 | 2010-4-19 08:24 | 只看该作者
4# juventus9554 呵呵,没接触而已

使用特权

评论回复
6
airwill| | 2010-4-19 14:12 | 只看该作者
我觉得软中断有个好处,  就是硬件自动保证不发生重入的情况.

使用特权

评论回复
7
贾君鹏子| | 2010-4-19 22:23 | 只看该作者
软中断好处多多啊

使用特权

评论回复
8
kun9766|  楼主 | 2010-4-20 10:29 | 只看该作者
7# 贾君鹏子
呵呵,说说在这个地方软中断的好处吧

使用特权

评论回复
9
cosmicy| | 2010-4-20 14:38 | 只看该作者
其实是一样的道理,在头文件中声明、在C文件中实现,然后调用时引用头文件就行了,我想每个人移植UCOS时肯定不可能完全一样,只要符合C的规则不就行了。

使用特权

评论回复
10
易达口香糖| | 2010-4-21 22:58 | 只看该作者
更加强大吧

使用特权

评论回复
11
kun9766|  楼主 | 2010-4-22 08:19 | 只看该作者
10# 易达口香糖 易达能否说详细点,呵呵,怎么更加强大的?

使用特权

评论回复
12
虎虎生威| | 2010-4-22 21:08 | 只看该作者
移植方便

使用特权

评论回复
13
kun9766|  楼主 | 2010-4-25 13:19 | 只看该作者
周工的工程师怎么不见身影啊??

使用特权

评论回复
14
虎虎生威| | 2010-4-26 18:57 | 只看该作者
可能最近比较忙吧

使用特权

评论回复
15
Swd21ic| | 2010-6-10 20:54 | 只看该作者
传统的实现一般都是使用软中断,这样可以自动保存PC到堆栈.

但ARM的跳转指令, 在跳转的时候就已经把PC保存到LR中了, 因此不需要软中断了

使用特权

评论回复
16
kun9766|  楼主 | 2010-6-23 20:55 | 只看该作者
传统的实现一般都是使用软中断,这样可以自动保存PC到堆栈.

但ARM的跳转指令, 在跳转的时候就已经把PC保存到LR中了, 因此不需要软中断了
Swd21ic 发表于 2010-6-10 20:54

那周工的版本的软中断就可以不用了?

使用特权

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

本版积分规则

17

主题

65

帖子

1

粉丝