打印

学习没有大量“稳定实用有源代码的应用程序的OS”其实是浪

[复制链接]
3546|28
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
潜艇8421|  楼主 | 2009-3-31 15:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
宇宙飞船出差临走时交给俺一张纸条,叫俺上21IC的单片机公共坛子
去,看看哪位是打着OS的技术旗号,其实是暗地里干着见不得人的IC
代言人的勾当,让俺在此好好地披露一下这些丑恶的嘴脸!

在此自我介绍一下,俺跟飞船是同门师兄,比他大两岁。某一天飞船
跟俺说,俺们得上21IC混出个名堂来,俺喜欢潜水,就起了这个名字
----潜艇8421。

语归正传,回到扯学习OS的论题中来了,熟悉计算机硬件的人就知道
CPU的是如何动作的,

在此简述一下这些动作术语:
术语-->中断 
术语-->中断入口
术语-->中断优先级 
术语-->堆栈
术语-->堆栈指针 
术语-->现场保护
术语-->现场恢复
术语-->程序计数器
术语-->定时器  
//--------------------------
以上这些都是MCU中的心脏,你只要真正撑握了这些术语在MCU硬件上
是如何进行动作的,就不会再被所谓的OS迷憾了!

请看看最简单的三个任务的OS来的模块实现:
*********************************************
模块1:
定时器中断:{..... } //所谓的任务切换,就是在定时器中断内,实
行被挂起任务的现场保护,与恢复要执行任务的现场。
-----------------------------------------------
模块2:
task_0:          // 假设任务0的起始地址: 0x111 
while(1)
       {  .....      }

task_1:          // 假设任务1的起始地址: 0x222 
while(1)
       {  .....      }

task_2:          // 假设任务2的起始地址: 0x333       
while(1)
       {  .....      }     

仅只需要2个模块就能实现多任务。

所谓的OS要做的就是如何把这些任务的地址和用到的寄存器,进行现
场保护与恢复,真正实现时要做的动作就是在计时器中断中(所谓的
时间片),设置堆栈指针找到任务的地址进行压入与弹出操作。
 
切换任务就是保护好要挂起的已经执行的任务现场,然后再弹出要执
行的任务的地址到‘程序计数器’。这是非常简单的一件事,只要移
动堆栈指针,再利用子程序返回指令‘RET就能实行程序计数器’的
操作。
**********************************************************
对于前后级的应用,某些MCU中有硬件优先级,这就是最好的任务调
度器,对于某些MCU还有4个独立的工作奇存器组,只需一条指令就能
进行寄存器组切换,进行现场保护与恢复。

只要你有了以上操作硬件的本领,精通汇编与C的混合编程,要自行开
发适合自已的OS,简直就是易如反撑。
//-----------------------------------------------------------

某些场合要应用OS是因为看中基于这些OS上的大量实用应用程序,假
如还没有懂得如何把一个漂亮的触摸屏,MP3,MP4,TCP/IP等做出来
的时候,而偏偏接到要开发这些功能的项目,那么选择嵌入式OS就是
唯一的选择,因为基于这些OS上有大量的开源源码的应用程序,并且
已经移植好,经过多年的验证,已经是非常稳定。只要花很少的时间
就能做好这些项目。

假若选择了嵌入式LINUX,那么你就有了这个机会精通以上的应用代
码。因为有了这些代码,再加上你的聪明与勤奋,最后就能够成为裸
奔高手!

总结一下个人的感受:
学习OS的最终目的就是要为了更好地裸奔!站在巨人的算法肩上花更
少的精力研制出性价比更高的产品!

相关帖子

沙发
电子尘埃| | 2009-3-31 15:48 | 只看该作者

领导指定看热闹专员

使用特权

评论回复
板凳
zhf0964| | 2009-3-31 16:00 | 只看该作者

搬个板凳看热闹。

使用特权

评论回复
地板
zg_z| | 2009-3-31 16:06 | 只看该作者

自带马扎

使用特权

评论回复
5
mohanwei| | 2009-3-31 16:17 | 只看该作者

先占个位置。

使用特权

评论回复
6
huangqi412| | 2009-3-31 17:04 | 只看该作者

翻页前占层

使用特权

评论回复
7
rj1985| | 2009-3-31 17:06 | 只看该作者

广告位招租

使用特权

评论回复
8
bjc125| | 2009-3-31 17:20 | 只看该作者

灌水中

使用特权

评论回复
9
一朝成名| | 2009-3-31 17:44 | 只看该作者

经典……

刮风了下雨了
匠人加裤子喽……

使用特权

评论回复
10
eelninth| | 2009-3-31 17:49 | 只看该作者

你混得也太惨了,

年轮比飞船大,级别比飞船低,你得努力啊大哥

使用特权

评论回复
11
qinhecat| | 2009-3-31 18:48 | 只看该作者

哈哈

"假若选择了嵌入式LINUX,那么你就有了这个机会精通以上的应用代
码。因为有了这些代码,再加上你的聪明与勤奋,最后就能够成为裸
奔高手!"
呵呵,看了这段话,老想起街边的XX软件测试工程师的培训广告。只要在后面加上联系方式和地址电话的就可以开课了。

使用特权

评论回复
12
粉丝| | 2009-3-31 19:59 | 只看该作者

那些吹他们的OS有多牛皮的,骗骗初哥还行,

就让他们移植一个MP3到他们的OS去,然后把源代码,文档一并公开!看看有没有这种能力和胸怀。

使用特权

评论回复
13
hq_y| | 2009-3-31 20:09 | 只看该作者

哈哈,不错,今年是pk年

使用特权

评论回复
14
粉丝| | 2009-3-31 21:02 | 只看该作者

看到那些打着技术旗号的幌子在公共坛子

劲推他们的OS,实际上是IC商家的代言人,跟真正的讨论技术差去十万八千里。飞砖是一定要的了!否则就对不起这个公共坛子!

怀有私心的技术讨论,最后都变得很虚假!

使用特权

评论回复
15
宇宙飞船| | 2009-3-31 22:57 | 只看该作者

潜艇这小子还真不赖,能吹两下!

还行!

使用特权

评论回复
16
highgear| | 2009-3-31 23:26 | 只看该作者

顶!

"学习OS的最终目的就是要为了更好地裸奔!站在巨人的算法肩上花更
少的精力研制出性价比更高的产品!" 精辟!

裸奔---〉os ---〉裸奔,这才是mcu技术的升华!那些拿着一个买来得os做3个任务led流水灯自以为了不起的人,纯属井底之蛙.


使用特权

评论回复
17
潜艇8421|  楼主 | 2009-3-31 23:35 | 只看该作者

21IC的坛子其实是一个商业味很浓的坛子,

多年前宇宙飞船在ARM坛子PK了200多回合的楼里有比这个贴子更有收藏价值的论述,但从没有见版主加精过,可见版主当时的压力有多大!幸好有网友当时转载了不少,某些有价值的论述才得以留传。

纵观21IC的坛子,有很多的商业论坛开在这里,每个坛子里两三个版主,他们如果化做龟壳轮流上阵对付对自已不利的贴子,火爆的场景可想而知了!

使用特权

评论回复
18
小飞鼠| | 2009-3-31 23:50 | 只看该作者

要开战了!!!路过看热闹!

使用特权

评论回复
19
huangqi412| | 2009-4-1 09:25 | 只看该作者

又要起高楼?

使用特权

评论回复
20
songbangyan| | 2009-4-1 13:00 | 只看该作者

这是什么个状况?

为什么这么多人对裸奔和OS那么关注?
鄙人一直觉得,不管是白猫还是黑猫,抓住耗子的就是好猫。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

139

帖子

0

粉丝