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

[复制链接]
5723|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 | 显示全部楼层

自带马扎

mohanwei 发表于 2009-3-31 16:17 | 显示全部楼层

先占个位置。

huangqi412 发表于 2009-3-31 17:04 | 显示全部楼层

翻页前占层

rj1985 发表于 2009-3-31 17:06 | 显示全部楼层

广告位招租

bjc125 发表于 2009-3-31 17:20 | 显示全部楼层

灌水中

一朝成名 发表于 2009-3-31 17:44 | 显示全部楼层

经典……

刮风了下雨了
匠人加裤子喽……
eelninth 发表于 2009-3-31 17:49 | 显示全部楼层

你混得也太惨了,

年轮比飞船大,级别比飞船低,你得努力啊大哥
qinhecat 发表于 2009-3-31 18:48 | 显示全部楼层

哈哈

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

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

就让他们移植一个MP3到他们的OS去,然后把源代码,文档一并公开!看看有没有这种能力和胸怀。
hq_y 发表于 2009-3-31 20:09 | 显示全部楼层

哈哈,不错,今年是pk年

粉丝 发表于 2009-3-31 21:02 | 显示全部楼层

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

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

怀有私心的技术讨论,最后都变得很虚假!
宇宙飞船 发表于 2009-3-31 22:57 | 显示全部楼层

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

还行!
highgear 发表于 2009-3-31 23:26 | 显示全部楼层

顶!

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

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


 楼主| 潜艇8421 发表于 2009-3-31 23:35 | 显示全部楼层

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

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

纵观21IC的坛子,有很多的商业论坛开在这里,每个坛子里两三个版主,他们如果化做龟壳轮流上阵对付对自已不利的贴子,火爆的场景可想而知了!
小飞鼠 发表于 2009-3-31 23:50 | 显示全部楼层

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

huangqi412 发表于 2009-4-1 09:25 | 显示全部楼层

又要起高楼?

songbangyan 发表于 2009-4-1 13:00 | 显示全部楼层

这是什么个状况?

为什么这么多人对裸奔和OS那么关注?
鄙人一直觉得,不管是白猫还是黑猫,抓住耗子的就是好猫。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

139

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部