luxinsun 发表于 2010-7-26 23:30:02

大家评估一下,把一个150K程序的前后台系统改成多任务系统工作量有多大?

大家评估一下,把一个150K程序的前后台系统改成多任务系统工作量有多大?

ffxz 发表于 2010-7-27 06:52:06

说简单也简单,对你原来的前台,创建一个线程让它去执行,然后后台依然是后台:-)

PSP2000 发表于 2010-8-1 21:27:47

那这样使用RTOS还有意义吗?反而增加了系统的开销。
如果要充分发挥在RTOS平台下的编程优势,必须要多开线程,那样的话内存使用会暴增。
且频繁的进行线程切换效率其实很低的。

相反在前后台里面使用状态机类似的编程方法,例如:
switch(step)
{
case STEP1:
case STEP2:
...
...
}
这样的架构设计一样可以做到任务的实时性。
所以我认为除非程序非常复杂(例如在32位平台上的系统),否则没必要用RTOS。

luxinsun 发表于 2010-8-1 21:44:14

使用的是256K flash的arm芯片。原来的程序6个“任务”都在中断中跑,就界面显示在后台。感觉程序结构很不清晰合理。

PSP2000 发表于 2010-8-1 21:48:43

如果目前的前后台工作很稳定的话,我建议你还是别急着使用RTOS。
除非要增加很多新功能,例如TCPIP USB之类的设备。等。

ffxz 发表于 2010-8-1 21:58:36

我的意思是,对这类迁移性的项目,可以一步步来进行,先是大循环 --> 线程。

然后是把一些相对独立些的功能模块拆分成线程
...
当最终完成时,一个易于维护的系统也就出来了。

做软件很大程度上就是在稳定性的基础上实现易维护性、模块化(以提高以后的可重用性)。

luxinsun 发表于 2010-8-1 21:59:42

呵呵,现在的肯定是不稳定了,并且也没有其他好的解决方法。

heuyck 发表于 2010-8-13 08:17:49

RTOS的实质就是模块化 简单化
现在硬件不值钱
开发软件的时间值钱
所以RTOS并不是无意义的

think_a_second 发表于 2010-10-7 01:19:16

学习

mbbill 发表于 2010-10-7 01:59:24

线程切换效率很低么?
我怎么觉得就切换那点时间,几乎都可以忽略不计了。反倒是switch-case浪费的cpu时间更多,每次一个个的case过去,时间都耗在比较上了,还不容易维护。
页: [1]
查看完整版本: 大家评估一下,把一个150K程序的前后台系统改成多任务系统工作量有多大?