5319|10

30

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

我觉得裸奔也要带着操作系统思想裸奔 [复制链接]

我程序一直都是裸体的,在裸体中发现了几个问题:
(1)WARNING L15: MULTIPLE CALL TO SEGMENT --函数重入
其实这个问题实际上就是函数重入问题,在操作系统的多线程很常见。例如在主循环里调用了一个函数,而在中断服务中,你又一次调用了同样的函数。这样当主循环运行到该函数中时,一旦产生中断,则在中断里又再次调用该函数!而使得该子函数发生了重入,这时,尽管概率很低,但是很可能出错!
(2):当主函数与中断函数共享变量问题 (类似两个线程共享资源的问题)
当主函数与中断函数共用变量时,可能发生:
例如:当变量的其中一个字节读入到寄存器中时,发生中断,中断中改写了变量值。当中断返回时,变量的其他字节继续被读入到寄存器中,造成新旧字节组合错误。
这些问题感觉都很隐蔽,如果出现了,可能只能通过反汇编才能看到。个人感觉要有操作系统的思想,理解和避免这些问题就容易些了。
此帖出自单片机论坛

最新回复

可以的话挂个ucos,呵呵这样就把一些程序的调用,交给os来处理,避免实时处理的一些问题。尤其是多任务实时响应,这个一般的mcu做起来有点艰难。要知道都中断的话,那就是没得中断,而且系统的稳定性很低。 [ 本帖最后由 pepsi360 于 2010-4-19 14:48 编辑 ]  详情 回复 发表于 2010-4-19 14:46
点赞 关注
 

回复
举报

1672

帖子

0

TA的资源

裸片初长成(初级)

沙发
 
原帖由 wonderto 于 2010-3-21 20:18 发表
我程序一直都是裸体的,在裸体中发现了几个问题:
(1)WARNING L15: MULTIPLE CALL TO SEGMENT --函数重入
其实这个问题实际上就是函数重入问题,在操作系统的多线程很常见。例如在主循环里调用了一个函数,而在中 ...

你可能指的是8051单片机。
C51和标准C实现不一样,函数的局部变量默认也是static,而不是在堆栈中分配。所以会有这种问题。C51只能算C的一种方言。
对于ARM这样的处理器,不涉及这个问题。
此帖出自单片机论坛
 
 

回复

1759

帖子

0

TA的资源

裸片初长成(高级)

板凳
 
楼主说的很正确,但是,裸奔的时候,如果程序不复杂也就不需要这样的思路了。很赞同楼主的说法。
此帖出自单片机论坛
 
个人签名南京璞晓电子   www.cpx0.com需要
msn:njlianjian@hotmail.com
 
 

回复

2130

帖子

0

TA的资源

五彩晶圆(中级)

4
 
主要看系统开销,如果系统开销大就不能上操作系统,
此帖出自单片机论坛
 
 
 

回复

2131

帖子

0

TA的资源

至上芯片

5
 

回复 楼主 wonderto 的帖子

用操作系统固然对我们的程序编写带来了很大的方便,开发周期也相对变短,在用系统时我们要发挥它最大的性能但是要警惕相关的问题:如资源的互斥 等等
那么怎么才能减小问题存在的可能呢,下面几点小小的建议:
1:前期的构思很重要,一定要多次审核
2:程序要实现低耦合高内聚,相关连部分要进行严格的测试
3:有不确定的地方一定要咨询有经验的工程师
此帖出自单片机论坛

赞赏

1

查看全部赞赏

 
个人签名处处留心皆学问!
 
 

回复

2955

帖子

0

TA的资源

纯净的硅(初级)

6
 
我是来学习的..............
此帖出自单片机论坛
 
个人签名不断地学习,才会有创新!
淘宝小店:手机、qq点卡、游戏点卡自动充值 http://shop63727265.taobao.com/
 
 

回复

1861

帖子

0

TA的资源

五彩晶圆(中级)

7
 

回复 6楼 lixiaohai8211 的帖子

我是来膜拜加学习的~~~
此帖出自单片机论坛
 
个人签名有目的的学习是最有效的学习!
 
 

回复

802

帖子

24

TA的资源

五彩晶圆(中级)

8
 
楼主说的都是很低概率的事件,
我想系统正是用了更完整的思路,更大的开销去尽量避免这些问题发生
你在注意避免这些问题的时候就已经是借鉴系统的思路了吧 呵
此帖出自单片机论坛
 
个人签名生活在激情中 ... 希望 哈哈

https://home.eeworld.com.cn/?80086
 
 

回复

1781

帖子

0

TA的资源

五彩晶圆(中级)

9
 
55555,我还从来没用过操作系统呢。。。。。
此帖出自单片机论坛
 
个人签名只有求知欲,没有求偶欲的人是植物,只有求偶欲,没有求知欲的人叫动物,既没求知欲,又没求偶欲的人是矿物。
 
 

回复

633

帖子

0

TA的资源

裸片初长成(中级)

10
 
被题目吸引进来,关注一下
此帖出自单片机论坛
 
个人签名DIY是一种信仰~~
 
 

回复

394

帖子

0

TA的资源

一粒金砂(高级)

11
 
可以的话挂个ucos,呵呵这样就把一些程序的调用,交给os来处理,避免实时处理的一些问题。尤其是多任务实时响应,这个一般的mcu做起来有点艰难。要知道都中断的话,那就是没得中断,而且系统的稳定性很低。

[ 本帖最后由 pepsi360 于 2010-4-19 14:48 编辑 ]
此帖出自单片机论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表