搜索
bottom↓
楼主: armecos

《uCOS51移植心得》---七年前之《快快乐乐跟我学51单片机操作系统和IP栈》

  [复制链接]

出0入0汤圆

发表于 2012-5-30 21:55:00 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2012-5-30 22:33:41 | 显示全部楼层
支持      ,

出0入4汤圆

发表于 2012-5-31 08:37:06 | 显示全部楼层
顶一个。。。

出0入0汤圆

发表于 2012-6-10 21:07:30 | 显示全部楼层
强烈MARK!

出0入0汤圆

发表于 2012-6-10 21:20:21 | 显示全部楼层
很专业。看不懂呢

出0入0汤圆

发表于 2012-7-31 11:49:36 | 显示全部楼层
酷,mark!

出0入0汤圆

发表于 2012-7-31 12:08:52 | 显示全部楼层
mark      

出0入0汤圆

发表于 2012-7-31 13:09:12 来自手机 | 显示全部楼层
mark        ,

出0入0汤圆

发表于 2012-7-31 15:04:20 | 显示全部楼层
我是一初学者但比较感兴趣, 收藏一下

出0入0汤圆

发表于 2012-7-31 22:49:52 | 显示全部楼层
mark                  

出0入0汤圆

发表于 2012-8-1 12:25:45 来自手机 | 显示全部楼层
感觉挺好的啊!怎么广告了?嗯,那能不能开个专栏来发这种…不能把别人的热情给灭了啊!你们看,都说别人不分享你说别人小气了,别人分享了又说是打广告…嗯,或许我说的不对~

出0入0汤圆

发表于 2012-8-4 21:28:32 | 显示全部楼层
好。。。。。。。。

出0入0汤圆

发表于 2012-8-16 11:16:42 | 显示全部楼层
不错的文章,要是有文件版就好了

出0入0汤圆

发表于 2012-8-16 13:34:33 | 显示全部楼层
顶               

出0入0汤圆

发表于 2012-8-16 21:30:45 来自手机 | 显示全部楼层
强帖留名.....

出0入0汤圆

发表于 2012-8-16 23:50:55 | 显示全部楼层
顶                                         

出0入0汤圆

发表于 2012-8-20 17:19:53 | 显示全部楼层
ucos51标志

出0入0汤圆

发表于 2012-8-23 19:10:51 | 显示全部楼层
标记,以后好好看。

出0入0汤圆

发表于 2012-9-26 21:17:53 | 显示全部楼层
好东西 mark

出0入0汤圆

发表于 2012-9-27 16:53:30 | 显示全部楼层
好久没看到这么有份量的帖子了

出0入0汤圆

发表于 2012-10-22 14:06:49 | 显示全部楼层
顶一下!

出0入0汤圆

发表于 2012-10-22 22:50:48 | 显示全部楼层
最近学习ucos的移植代码。看到开关中断处。有点问题



首先ucos支持三种开关中断方式

下面是pc移植的代码(ucos官方)

#define  OS_CRITICAL_METHOD    2



#if      OS_CRITICAL_METHOD == 1

#define  OS_ENTER_CRITICAL()  asm  CLI                    /* Disable interrupts                        */

#define  OS_EXIT_CRITICAL()   asm  STI                    /* Enable  interrupts                        */

#endif



#if      OS_CRITICAL_METHOD == 2

#define  OS_ENTER_CRITICAL()  asm {PUSHF; CLI}            /* Disable interrupts                        */

#define  OS_EXIT_CRITICAL()   asm  POPF                   /* Enable  interrupts                        */

#endif



#if      OS_CRITICAL_METHOD == 3

#define  OS_ENTER_CRITICAL()  (cpu_sr = OSCPUSaveSR())    /* Disable interrupts                        */

#define  OS_EXIT_CRITICAL()   (OSCPURestoreSR(cpu_sr))    /* Enable  interrupts                        */

第一种方式最简单,就不再说了。

问题是后面两种方式,这两种方式都是为了解决如下情况,逻辑一样,只是一个存到栈,一个存到变量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

#define  OS_ENTER_CRITICAL()  asm {PUSHF; CLI}            /* Disable interrupts                        */

#define  OS_EXIT_CRITICAL()   asm  POPF                   /* Enable  interrupts                        */

这样的话 pushf实现了保存状态标志,在退出 关中断的时候popf出栈恢复 标志寄存器内容

但是pushf不仅会将中断允许标志压入栈,同时会将其他标志,比如ZF。OF压入。那么问题就来了。调用popf恢复的中断状态标志就变成了代码第 3行执行处的标志状态了。。。。。。。。。

里面的ZF OF等标志也会恢复到了第三行的状态,正常的话那么第6行以后的代码执行应该用第5行执行后的状态标志,但是因为pushf popf的调用,那么ZF OF等的标志只是第三行的标志态。。。。岂不是执行程序就不对了



想了很久,很纠结,希望高手指教

QQ:1183557534,有知道的请回帖或联系我

出0入0汤圆

发表于 2012-10-23 10:08:34 | 显示全部楼层
不错顶起

出0入0汤圆

发表于 2012-11-6 09:49:37 | 显示全部楼层
强烈支持,非常好的帖子!!
头像被屏蔽

出0入0汤圆

发表于 2012-11-6 09:58:00 来自手机 | 显示全部楼层
楼主厉害啊!学习了

出0入0汤圆

发表于 2012-11-6 22:20:38 | 显示全部楼层
支持一下。。。。。。。。。。。。。。。。。

出0入0汤圆

发表于 2012-11-7 07:10:43 | 显示全部楼层
光看这些字都要顶一个

出0入0汤圆

发表于 2012-11-12 11:09:10 | 显示全部楼层
我有个疑惑啊。。。。

出0入0汤圆

发表于 2012-11-13 16:20:33 | 显示全部楼层
顶楼主……………………………………………………

出0入0汤圆

发表于 2013-1-10 10:02:46 | 显示全部楼层
看了一个星期才看完,二个星期才理解,太强大了LZ

出0入0汤圆

发表于 2013-1-13 22:14:47 | 显示全部楼层
真是学习的好东西,非常好

出0入0汤圆

发表于 2013-1-16 23:23:38 | 显示全部楼层
顶一个 向楼主学习

出5入8汤圆

发表于 2013-1-17 13:50:00 | 显示全部楼层
必须标记一下。。。大神啊!

出0入0汤圆

发表于 2013-2-4 05:02:54 | 显示全部楼层
mark  今天太累了  留着  以后仔细看

出0入0汤圆

发表于 2013-2-4 15:46:25 | 显示全部楼层
mark   不错

出0入0汤圆

发表于 2013-2-5 11:51:18 | 显示全部楼层
MARK

出0入0汤圆

发表于 2013-2-7 17:46:10 | 显示全部楼层
armecos 发表于 2009-6-13 06:28
网友交流之经验谈
巨龙公司系统集成开发部 杨屹 asdjf@163.com  2002/11/27

这个一定会名扬千古的!!

出0入0汤圆

发表于 2013-2-7 20:07:15 | 显示全部楼层
mark收藏收藏

出0入0汤圆

发表于 2013-2-23 12:04:04 | 显示全部楼层
Mark,用于以后学习

出0入0汤圆

发表于 2013-2-25 10:07:44 | 显示全部楼层
太犀利了    表示新手  看不懂....但是能感觉到很牛的样子....

出0入0汤圆

发表于 2013-2-26 13:59:52 来自手机 | 显示全部楼层
armecos 发表于 2009-6-12 23:40 uCOS51一种低成本的开发方法---ISP asdjf@163.com 2003/10/29 ...

学习一下....

出0入0汤圆

发表于 2013-2-26 16:38:43 | 显示全部楼层
收藏了~~

出0入0汤圆

发表于 2013-3-20 14:59:20 | 显示全部楼层
给跪了                                      

出0入0汤圆

发表于 2013-3-21 11:44:39 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2013-4-12 23:13:16 | 显示全部楼层
mark,后续学习。

出0入0汤圆

发表于 2013-4-13 10:38:23 | 显示全部楼层
多谢楼主分享

出0入0汤圆

发表于 2013-4-15 10:56:40 | 显示全部楼层
顶一下楼主

出0入0汤圆

发表于 2013-4-15 11:34:01 来自手机 | 显示全部楼层
Mark换电脑看,手机比较小

出70入0汤圆

发表于 2013-4-15 11:39:55 | 显示全部楼层
必须mark!!

出0入0汤圆

发表于 2013-4-15 14:18:52 | 显示全部楼层
cool                                                                        

出0入0汤圆

发表于 2013-4-15 14:34:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-4-15 14:43:52 | 显示全部楼层
俺也mark吧

出0入0汤圆

发表于 2013-4-15 15:20:54 | 显示全部楼层
不是一般的长啊!

出0入0汤圆

发表于 2013-4-15 17:46:50 | 显示全部楼层
MARK一个

出0入0汤圆

发表于 2013-5-7 15:17:06 | 显示全部楼层
太强了!!

出0入0汤圆

发表于 2013-5-8 01:29:32 | 显示全部楼层
高手,学习!

出0入0汤圆

发表于 2013-5-10 17:29:05 | 显示全部楼层
这东西不错

出0入0汤圆

发表于 2013-8-1 17:30:32 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2013-8-6 19:54:41 | 显示全部楼层

出0入0汤圆

发表于 2013-8-9 00:30:56 | 显示全部楼层
这么好的帖子,如果我不留下名字,我怎么对得起amobbs

出0入0汤圆

发表于 2013-8-12 00:25:30 | 显示全部楼层
很好的  学习资料啊

出0入0汤圆

发表于 2013-8-12 00:25:48 | 显示全部楼层
mark           

出0入0汤圆

发表于 2013-8-12 00:26:08 | 显示全部楼层
51的时代什么时候会结束呢?

出0入0汤圆

发表于 2013-9-14 11:44:53 | 显示全部楼层
太强大了啊

出0入0汤圆

发表于 2013-9-14 20:50:49 | 显示全部楼层
楼主辛苦了

出0入0汤圆

发表于 2013-9-15 07:42:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2013-10-16 23:00:05 | 显示全部楼层
armecos 发表于 2009-6-12 23:29
在51单片机上硬件仿真uCOS51的说明
巨龙公司系统集成开发部 杨屹 asdjf@163.com  2002/11/26
   

NB`````````````````

出0入0汤圆

发表于 2013-10-17 08:50:00 | 显示全部楼层
ucos 不错 ,mark

出0入0汤圆

发表于 2013-10-17 11:22:53 | 显示全部楼层
mark一下,有时间慢慢看

出0入0汤圆

发表于 2013-10-17 12:57:55 | 显示全部楼层
学习了      

出0入0汤圆

发表于 2013-10-17 16:20:34 | 显示全部楼层
好,mark下

出0入0汤圆

发表于 2013-10-20 17:14:28 | 显示全部楼层
mark!

出0入0汤圆

发表于 2013-11-24 14:46:33 | 显示全部楼层
好资料,值得学习

出0入0汤圆

发表于 2013-11-25 15:22:03 | 显示全部楼层
mark一下

出0入0汤圆

发表于 2013-11-25 20:45:04 | 显示全部楼层

出0入0汤圆

发表于 2013-12-30 13:51:17 | 显示全部楼层
楼主真个PDF的那该多好啊!!方便我们阅读啊!

出0入0汤圆

发表于 2014-3-6 14:08:10 | 显示全部楼层
好货,必须顶

出0入0汤圆

发表于 2014-3-6 14:15:08 | 显示全部楼层
学习了。看看

出0入0汤圆

发表于 2014-3-6 14:40:29 | 显示全部楼层
谢谢楼主分享!

出0入0汤圆

发表于 2014-3-6 14:57:11 | 显示全部楼层
mark....学习一下

出0入0汤圆

发表于 2014-3-6 16:22:02 | 显示全部楼层
太强大了!标记。

出0入0汤圆

发表于 2014-3-6 18:42:24 | 显示全部楼层
DING,,好帖子!!!

出0入0汤圆

发表于 2014-4-30 14:05:53 | 显示全部楼层
mark           

出0入0汤圆

发表于 2014-4-30 22:53:27 | 显示全部楼层
先收藏着!谢谢分享

出0入0汤圆

发表于 2014-5-7 10:34:01 | 显示全部楼层
好文,留存

出0入0汤圆

发表于 2014-9-13 18:47:47 | 显示全部楼层
好东西,顶一下

出0入0汤圆

发表于 2014-9-13 20:09:11 | 显示全部楼层
mark                  

出0入0汤圆

发表于 2014-9-14 14:42:12 | 显示全部楼层
不错的文章,先标记一下.

出0入0汤圆

发表于 2014-9-14 17:32:26 | 显示全部楼层
写的非常详细,good

出0入0汤圆

发表于 2014-9-14 18:54:28 | 显示全部楼层
先MARK,  有时间再看看

出0入0汤圆

发表于 2014-9-29 10:33:40 | 显示全部楼层
好东西,正准备学习

出50入0汤圆

发表于 2014-9-29 10:54:35 | 显示全部楼层
好贴,要是能弄成PDF就好了。呵呵。

出0入0汤圆

发表于 2014-9-29 12:50:17 | 显示全部楼层
mark                  

出0入0汤圆

发表于 2014-10-4 20:18:47 | 显示全部楼层
牛人!!

出0入10汤圆

发表于 2014-11-12 20:16:53 | 显示全部楼层
楼主,你移植好的51ucos的工程可以发一个给我吗?

出0入0汤圆

发表于 2014-11-12 21:48:04 | 显示全部楼层
这是要出书的节奏啊

出0入0汤圆

发表于 2014-11-12 22:45:03 | 显示全部楼层
围观围观。

出0入0汤圆

发表于 2014-11-12 23:26:34 | 显示全部楼层
真是好资料啊,周围有同学自己写了一个uCos,好羡慕,也想自己试试,正好有这个资料可以参考

出0入0汤圆

发表于 2014-11-13 08:27:05 | 显示全部楼层
谢谢分享!

出0入0汤圆

发表于 2014-11-13 08:38:43 | 显示全部楼层
谢谢了。收藏下。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 12:37

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表