hbchf
发表于 2012-5-30 21:55:00
谢谢楼主分享!
liycobl
发表于 2012-5-30 22:33:41
支持 ,
yanggexiaosa
发表于 2012-5-31 08:37:06
顶一个。。。
hzing
发表于 2012-6-10 21:07:30
强烈MARK!
沉月归巢
发表于 2012-6-10 21:20:21
很专业。看不懂呢
chenshuqu
发表于 2012-7-31 11:49:36
酷,mark!
yanke543108
发表于 2012-7-31 12:08:52
mark
liycobl
发表于 2012-7-31 13:09:12
mark ,
贪狼
发表于 2012-7-31 15:04:20
我是一初学者但比较感兴趣, 收藏一下
zhdo1983
发表于 2012-7-31 22:49:52
mark
麦芽糖
发表于 2012-8-1 12:25:45
感觉挺好的啊!怎么广告了?嗯,那能不能开个专栏来发这种…不能把别人的热情给灭了啊!你们看,都说别人不分享你说别人小气了,别人分享了又说是打广告…嗯,或许我说的不对~
亮0000仔
发表于 2012-8-4 21:28:32
好。。。。。。。。{:biggrin:}
zzx1415
发表于 2012-8-16 11:16:42
不错的文章,要是有文件版就好了
chenxujiaoyang
发表于 2012-8-16 13:34:33
顶
jz701209李
发表于 2012-8-16 21:30:45
强帖留名.....
我不乐意啊
发表于 2012-8-16 23:50:55
顶
weibinhi
发表于 2012-8-20 17:19:53
ucos51标志
jxglg
发表于 2012-8-23 19:10:51
标记,以后好好看。
zspzwal
发表于 2012-9-26 21:17:53
好东西 mark
jiangshui_642
发表于 2012-9-27 16:53:30
好久没看到这么有份量的帖子了
吴杰
发表于 2012-10-22 14:06:49
顶一下!
51_jiaduoW~W
发表于 2012-10-22 22:50:48
最近学习ucos的移植代码。看到开关中断处。有点问题
首先ucos支持三种开关中断方式
下面是pc移植的代码(ucos官方)
#defineOS_CRITICAL_METHOD 2
#if OS_CRITICAL_METHOD == 1
#defineOS_ENTER_CRITICAL()asmCLI /* Disable interrupts */
#defineOS_EXIT_CRITICAL() asmSTI /* Enableinterrupts */
#endif
#if OS_CRITICAL_METHOD == 2
#defineOS_ENTER_CRITICAL()asm {PUSHF; CLI} /* Disable interrupts */
#defineOS_EXIT_CRITICAL() asmPOPF /* Enableinterrupts */
#endif
#if OS_CRITICAL_METHOD == 3
#defineOS_ENTER_CRITICAL()(cpu_sr = OSCPUSaveSR()) /* Disable interrupts */
#defineOS_EXIT_CRITICAL() (OSCPURestoreSR(cpu_sr)) /* Enableinterrupts */
第一种方式最简单,就不再说了。
问题是后面两种方式,这两种方式都是为了解决如下情况,逻辑一样,只是一个存到栈,一个存到变量cpu_sr中了
1.OS_ENTER_CRITICAL()
2.。。。。。。。。。。。代码
3. OS_ENTER_CRITICAL()
4. 。。。。。。。。用户代码
5. OS_EXIT_CRITICAL()
6.。。。。。。。。。。代码
7.OS_EXIT_CRITICAL()
如果这种情况用 第一种方式不能保证 1-7行中断都是关着的,因为第5行调用了开中断指令
所以用后两种方式就很好的解决了这个问题
!!!!!!!
这才有我的问题。问题处在(比如第二种方式)
#if OS_CRITICAL_METHOD == 2
#defineOS_ENTER_CRITICAL()asm {PUSHF; CLI} /* Disable interrupts */
#defineOS_EXIT_CRITICAL() asmPOPF /* Enableinterrupts */
这样的话 pushf实现了保存状态标志,在退出 关中断的时候popf出栈恢复 标志寄存器内容
但是pushf不仅会将中断允许标志压入栈,同时会将其他标志,比如ZF。OF压入。那么问题就来了。调用popf恢复的中断状态标志就变成了代码第 3行执行处的标志状态了。。。。。。。。。
里面的ZF OF等标志也会恢复到了第三行的状态,正常的话那么第6行以后的代码执行应该用第5行执行后的状态标志,但是因为pushf popf的调用,那么ZF OF等的标志只是第三行的标志态。。。。岂不是执行程序就不对了
想了很久,很纠结,希望高手指教
QQ:1183557534,有知道的请回帖或联系我
49547754
发表于 2012-10-23 10:08:34
不错顶起
fanfeixing
发表于 2012-11-6 09:49:37
强烈支持,非常好的帖子!!
Eve昔枫
发表于 2012-11-6 09:58:00
楼主厉害啊!学习了
rechan886
发表于 2012-11-6 22:20:38
支持一下。。。。。。。。。。。。。。。。。
zike310
发表于 2012-11-7 07:10:43
光看这些字都要顶一个
rechan886
发表于 2012-11-12 11:09:10
我有个疑惑啊。。。。
国防大学
发表于 2012-11-13 16:20:33
顶楼主……………………………………………………
wuqiushan741826
发表于 2013-1-10 10:02:46
看了一个星期才看完,二个星期才理解,太强大了LZ
sss520sss520xx
发表于 2013-1-13 22:14:47
真是学习的好东西,非常好
tacbo2012
发表于 2013-1-16 23:23:38
顶一个 向楼主学习
diyeyuye
发表于 2013-1-17 13:50:00
必须标记一下。。。{:handshake:}大神啊!
armyang
发表于 2013-2-4 05:02:54
mark今天太累了留着以后仔细看
sololey
发表于 2013-2-4 15:46:25
mark 不错
debian123
发表于 2013-2-5 11:51:18
MARK{:smile:}
中国力量
发表于 2013-2-7 17:46:10
armecos 发表于 2009-6-13 06:28 static/image/common/back.gif
网友交流之经验谈
巨龙公司系统集成开发部 杨屹 asdjf@163.com2002/11/27
这个一定会名扬千古的!!
csdf
发表于 2013-2-7 20:07:15
mark收藏收藏
lq1573
发表于 2013-2-23 12:04:04
Mark,用于以后学习
ayumi8
发表于 2013-2-25 10:07:44
太犀利了 表示新手看不懂....但是能感觉到很牛的样子....
jz701209李
发表于 2013-2-26 13:59:52
armecos 发表于 2009-6-12 23:40 uCOS51一种低成本的开发方法---ISP asdjf@163.com 2003/10/29 ...
学习一下....
404710520
发表于 2013-2-26 16:38:43
收藏了~~
charlieholy
发表于 2013-3-20 14:59:20
给跪了
colorat
发表于 2013-3-21 11:44:39
mark!!!{:lol:}
dela2000
发表于 2013-4-12 23:13:16
mark,后续学习。
崆峒
发表于 2013-4-13 10:38:23
多谢楼主分享
49547754
发表于 2013-4-15 10:56:40
顶一下楼主
sup888
发表于 2013-4-15 11:34:01
Mark换电脑看,手机比较小
绿茶山人
发表于 2013-4-15 11:39:55
必须mark!!
eryueniao
发表于 2013-4-15 14:18:52
cool
bigrocks
发表于 2013-4-15 14:34:22
mark{:smile:}{:smile:}
clarkewayne
发表于 2013-4-15 14:43:52
俺也mark吧
lovebobo
发表于 2013-4-15 15:20:54
不是一般的长啊!
zm110911
发表于 2013-4-15 17:46:50
MARK一个
clarkewayne
发表于 2013-5-7 15:17:06
太强了!!
MrMount
发表于 2013-5-8 01:29:32
高手,学习!
夜尽天明
发表于 2013-5-10 17:29:05
这东西不错
LOVEDOVE
发表于 2013-8-1 17:30:32
谢谢楼主分享
木虫
发表于 2013-8-6 19:54:41
{:smile:}{:lol:}{:smile:}
wzd5230
发表于 2013-8-9 00:30:56
这么好的帖子,如果我不留下名字,我怎么对得起amobbs
凌晨一点
发表于 2013-8-12 00:25:30
很好的学习资料啊
zlpvch
发表于 2013-8-12 00:25:48
mark
zlpvch
发表于 2013-8-12 00:26:08
51的时代什么时候会结束呢?
fshunj
发表于 2013-9-14 11:44:53
太强大了啊
问乐寻音
发表于 2013-9-14 20:50:49
楼主辛苦了
lydmom
发表于 2013-9-15 07:42:27
mark{:handshake:}
kalo425
发表于 2013-10-16 23:00:05
armecos 发表于 2009-6-12 23:29 static/image/common/back.gif
在51单片机上硬件仿真uCOS51的说明
巨龙公司系统集成开发部 杨屹 asdjf@163.com2002/11/26
NB`````````````````
kuki0702
发表于 2013-10-17 08:50:00
ucos 不错 ,mark
xiaocaofei
发表于 2013-10-17 11:22:53
mark一下,有时间慢慢看
xCamel
发表于 2013-10-17 12:57:55
学习了
enovo2468
发表于 2013-10-17 16:20:34
好,mark下{:smile:}
ch499306362
发表于 2013-10-20 17:14:28
mark!{:cry:}{:cry:}{:cry:}
Eric321
发表于 2013-11-24 14:46:33
好资料,值得学习
Eric321
发表于 2013-11-25 15:22:03
mark一下
xiong57785
发表于 2013-11-25 20:45:04
{:titter:}{:titter:}{:titter:}{:titter:}{:titter:}{:titter:}{:titter:}{:titter:}{:titter:}{:titter:}
zlliming
发表于 2013-12-30 13:51:17
楼主真个PDF的那该多好啊!!方便我们阅读啊!
jie18778884418
发表于 2014-3-6 14:08:10
好货,必须顶
LZ19992005
发表于 2014-3-6 14:15:08
学习了。看看
wyw08
发表于 2014-3-6 14:40:29
谢谢楼主分享!
机器人天空
发表于 2014-3-6 14:57:11
mark....学习一下
flame123
发表于 2014-3-6 16:22:02
太强大了!标记。
电气工程化动自
发表于 2014-3-6 18:42:24
DING,,好帖子!!!
lqr
发表于 2014-4-30 14:05:53
mark
lydmom
发表于 2014-4-30 22:53:27
先收藏着!谢谢分享
pxq8410
发表于 2014-5-7 10:34:01
好文,留存
iqxt88
发表于 2014-9-13 18:47:47
好东西,顶一下
chinabox
发表于 2014-9-13 20:09:11
mark
wshg
发表于 2014-9-14 14:42:12
不错的文章,先标记一下.
ggchao
发表于 2014-9-14 17:32:26
写的非常详细,good
hkjabcd
发表于 2014-9-14 18:54:28
先MARK,有时间再看看
vala
发表于 2014-9-29 10:33:40
好东西,正准备学习
yuzr
发表于 2014-9-29 10:54:35
好贴,要是能弄成PDF就好了。呵呵。
zhouq3132
发表于 2014-9-29 12:50:17
mark
fayuanye
发表于 2014-10-4 20:18:47
牛人!!{:victory:}{:victory:}
10xjzheng
发表于 2014-11-12 20:16:53
楼主,你移植好的51ucos的工程可以发一个给我吗?
HalenYU
发表于 2014-11-12 21:48:04
这是要出书的节奏啊
卢台长
发表于 2014-11-12 22:45:03
围观围观。
Okar
发表于 2014-11-12 23:26:34
真是好资料啊,周围有同学自己写了一个uCos,好羡慕,也想自己试试,正好有这个资料可以参考{:lol:}
ZYBing
发表于 2014-11-13 08:27:05
谢谢分享!
L7科创
发表于 2014-11-13 08:38:43
谢谢了。收藏下。