搜索
bottom↓
回复: 52

usmartx非常不错,我的第一个小项目打算用它

[复制链接]

出0入0汤圆

发表于 2007-9-15 14:39:01 | 显示全部楼层 |阅读模式
usmartx的特点:
1.移植性好,可以完全用C。
     移植代码就开中断,关中断,恢复中断三个函数,可以完全不用汇编。用汇编移植也就7条指令。

2.中断实时好。
     可以方便地实现非系统管理中断,中断不受操作系统临界段影响,中断实时性和前后台系统一样。AVRX,UCOS2,很难实现非系统管理中断,中断实时性降低不少。

3.占用RAM少。
     不用给任务单独分配堆栈,占用RAM比前后台系统大不了多少。比AVRX,UCOS2要少很多。

4.占用代码空间小。
     最小代码1.5K。

3.降低编程难度
   几乎可以不用信号量,也不必考虑优先级反转。

4.任务使用CPU效率高。
     AVRX,UCOS2频繁地进行任务切换,占用了大量CPU时间。这是任务高实时性的代价。
usmartx采用协作式调度,不会抢占正在运行的任务,任务切换频率低,当然,任务的实时性差一些。
前后台系统实时性高,就是因为中断实时性高。只要中断的实时性好,任务的实时性差一些无关紧要。


还没搞过开发,第一个小项目打算用usmartx。




下载请到5楼testcode提供的下载包。 ---- by armok
头像被屏蔽

出0入0汤圆

发表于 2007-9-15 15:16:27 | 显示全部楼层
usmartx好像用的人不多?

楼主如果有好的资料,不妨上传上来啊。

出0入0汤圆

 楼主| 发表于 2007-9-15 15:19:42 | 显示全部楼层
没有资料,自己看代码。全部是C,程序也不长。

出0入8汤圆

发表于 2007-9-16 10:25:44 | 显示全部楼层
楼主能否写个简单的应用说明
头像被屏蔽

出0入0汤圆

发表于 2007-9-16 11:01:49 | 显示全部楼层
不如将usmartx的资料也贴上来吧。

出0入0汤圆

发表于 2007-9-16 13:06:26 | 显示全部楼层
没用用过,不过在他们的网站上不是都有详细的资料和介绍吗?
http://usmartx.sourceforge.net/
点击此处下载armok01173459.zip
点击此处下载armok01173460.zip
头像被屏蔽

出0入0汤圆

发表于 2007-9-16 20:03:20 | 显示全部楼层
谢谢 testcode! 这个帖子就能置COOL了。

出0入0汤圆

发表于 2007-9-16 21:43:39 | 显示全部楼层
testcode,压缩包有问题!

出0入0汤圆

发表于 2007-9-19 10:38:22 | 显示全部楼层
能否总体介绍一下这个RTOS的运行原理?听说它是非占先式的,每个任务主动放弃CPU,而且每个任务不是一个无限循环?

出0入0汤圆

发表于 2007-11-22 12:35:54 | 显示全部楼层
usmartx根本上不算是个操作系统。非占先式,很难用的。
如8楼说的“每个任务不是一个无限循环”。

出0入0汤圆

 楼主| 发表于 2007-11-22 16:25:34 | 显示全部楼层
协作式调度就不是操作系统?
不同意楼上。
协作式调度操作系统也不止usmartx一个。

任务就非得是无限循环吗,不是无限循环照样能用。
稍微不方便的一点,但是节省的RAM空间是巨大的。

如果有十个任务,单只论任务堆栈占用的空间,抢占式调度用的RAM至少是usmartx 5倍以上,甚至10几倍。

个人认为usmartx比avrx更适合在小RAM(不大于1K)的AVR上用

出0入0汤圆

发表于 2007-11-22 19:40:34 | 显示全部楼层
没有信号,没有消息,还不如裸奔算了。

出0入0汤圆

发表于 2007-11-22 20:03:43 | 显示全部楼层
比裸奔要好啊,上次我贴过的一个协作式的代码更简单易用

出0入0汤圆

发表于 2007-11-22 22:19:42 | 显示全部楼层
我也感觉在一般的单片机上面,协作式更适合一些

出0入0汤圆

 楼主| 发表于 2007-11-22 22:31:26 | 显示全部楼层
to zhonghua_li
USMARTX有信号量和消息油箱。
只不过,一般情况是不必使用信号量。
因为一个任务不会被另外一个任务强占,如果任务在返回时释放独占性资源
(假设没有其他中断使用这个独占性资源),那么没有必要使用信号量,这反而使编程更加简单。

出0入0汤圆

发表于 2007-11-23 09:28:43 | 显示全部楼层
什么车用什么引擎.我们开电瓶车就不用去装汽车的引擎了.
开汽车的也不能装火箭的引擎.

诸如M8上跑了UCOS-II学生练习练习也就算了,没人会真在M8上用UCOS-II去做项目的.(M128还是可以跑一下的.)
首先 协作式调度方式 是 操作系统
它有它很大的优点,占用资源少.而且也极大的方便了编程的组织结构,比裸奔要好.
我觉得合适的就是最好的.

出100入0汤圆

发表于 2007-11-23 13:15:00 | 显示全部楼层
不错,下来看了先

出0入0汤圆

发表于 2007-11-23 14:16:29 | 显示全部楼层
每一个system都有它优缺点,也有它适用的场合。

出0入0汤圆

发表于 2007-11-23 14:46:48 | 显示全部楼层
支持,操作系统大多可以移植到各种单片机上面,
它实际上不属于某种单片机,建议开一个操作系统专版.

出0入0汤圆

发表于 2007-11-25 14:00:21 | 显示全部楼层
记得还在上本科的时候就玩过uSmartX一段时间,读研一的时候还写了一篇介绍它的论文(其实就是原文档的翻译),虽然是拿来混学位用的,但对初学者来说还有点参考价值,看到还有这么多人挺有兴趣,我就把这篇破烂论文贡献出来吧,文章是针对ARM写的,看得不爽可别拿砖头砸我!
点击此处打开ourdev_182717.doc(文件大小:300K)
还有跟论文配套的程序,编译环境当时用的Keil uV3+GCC,本来是种不错的组合,可惜keil官站上的gcc一直不升级,所以现在也没什么人用它了。
点击此处下载ourdev_182718.rar(文件大小:81K)

出0入0汤圆

发表于 2007-12-2 14:38:32 | 显示全部楼层
我上面帖子里那篇论文可能对某杂志社构成版权纠纷,敬请版主尽快删除之,谢谢!

出0入0汤圆

发表于 2007-12-2 19:28:34 | 显示全部楼层
ucos中的中断也可以不用系统管理,只要在中断中不调用系统的函数。

出0入0汤圆

发表于 2007-12-2 19:48:53 | 显示全部楼层
不错,记号

出0入0汤圆

发表于 2007-12-2 19:56:18 | 显示全部楼层
支持,操作系统大多可以移植到各种单片机上面,
它实际上不属于某种单片机,建议开一个操作系统专版.

建议开一个操作系统专版. 非常赞同passerby 的意见

出0入0汤圆

发表于 2007-12-2 20:17:56 | 显示全部楼层
这个比较同意,非常不错的建议

出0入0汤圆

发表于 2007-12-6 16:47:11 | 显示全部楼层
谢谢了  最近我在学  想用用在我的毕业设计中

出0入0汤圆

发表于 2007-12-6 16:49:09 | 显示全部楼层
ATmega32  alexant...... 谢谢

出0入0汤圆

发表于 2007-12-23 11:38:52 | 显示全部楼层
这个更省资源。
Protothreads - Lightweight, Stackless Threads in C  
http://www.sics.se/~adam/pt/

出0入70汤圆

发表于 2007-12-24 18:12:43 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2007-12-24 20:39:42 | 显示全部楼层
与keil配合的gcc并不是keil维护的。是这里http://www.gnuarm.com/

出0入0汤圆

发表于 2007-12-24 21:21:24 | 显示全部楼层
Protothreads ,怎么用到AVR单片机啊?我没有看懂!szyusong 指点一下啊!!谢谢了现!

出0入0汤圆

 楼主| 发表于 2007-12-24 21:44:40 | 显示全部楼层
看了下Protothreads,就几个宏就能实现线程切换。

已经成功在AVR上编译通过一个实例。

出0入0汤圆

发表于 2007-12-24 22:12:54 | 显示全部楼层
ATmega32   传上来看看,好吗?它和别的单片机也可以吗?不懂啊!谢谢了!

出0入0汤圆

发表于 2009-6-16 10:02:57 | 显示全部楼层
上官先生,关于uSmartx发现在有不同优先级的时候还是比较难用的,因为高优先级必须要Sleep才能让低优先级的任务运行,并且任务一定要有返回状态,否则会锁死。如果高优先级的任务需要低优先级的任务给各Mailbox消息触发,怎么弄?还有Task挂起和继续在非抢占的操作系统上怎么使用?资料很少,自己想了很久啊,似乎没有很好的方法。

出0入0汤圆

发表于 2009-6-16 16:12:57 | 显示全部楼层
看不懂。。。。

出0入0汤圆

发表于 2009-6-16 22:49:05 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-6-16 23:11:34 | 显示全部楼层
MARK RTOS

出0入0汤圆

发表于 2009-6-17 08:20:52 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-6-17 17:15:57 | 显示全部楼层
留个记号

出0入0汤圆

发表于 2009-6-17 17:38:04 | 显示全部楼层
学习下

出0入0汤圆

发表于 2009-6-20 21:03:45 | 显示全部楼层
支持“还不如裸奔算了”
如果不能把资源管理好的操作系统,我认为还是不要用了。

出0入0汤圆

发表于 2011-6-30 21:51:57 | 显示全部楼层
mark!!!

出0入0汤圆

发表于 2011-6-30 21:59:23 | 显示全部楼层
mark 协作式调度方式

出0入0汤圆

发表于 2011-6-30 23:22:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-17 22:59:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-18 02:07:19 | 显示全部楼层
usmartx还没有用过,楼主可以上传一些资料上来看看,谢谢!

出0入0汤圆

发表于 2011-7-18 08:45:31 | 显示全部楼层
Mark, 最轻量级的协程实现Protothreads

出0入0汤圆

发表于 2011-7-25 16:22:14 | 显示全部楼层
标记一下!

出0入0汤圆

发表于 2011-9-1 12:45:45 | 显示全部楼层
呵呵呵呵
不错啊    有中文的文章 学习哈
回复【楼主位】ATmega32  
-----------------------------------------------------------------------

呵呵呵呵
不错啊    有中文的文章 学习哈

出0入0汤圆

发表于 2011-9-1 12:55:43 | 显示全部楼层
呵呵,这个还不太了解

出0入0汤圆

发表于 2011-9-1 13:23:57 | 显示全部楼层
看看能否应用

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-29 15:29

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

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