linux或者UC/OS

转载 2013年12月02日 16:55:33

http://bbs.21ic.com/viewthread.php?tid=224723&page=1#pid1583448

很多ARM初学者有一个错误的概念——学ARM必搞嵌入式操作系统。认为在ARM上跑嵌入式操作系统就代表技术先进、产品档次高的观点绝对是谬论。持这种观点的人一定是没有做过具体的产品开发。一个嵌入式产品是否需要跑嵌入式操作系统,是由很多因素决定的,例如,产品的功能需求、开发成本、开发周期等都是需要综合考虑的。 
对于ARM初学者来说,前期我们并不建议使用嵌入式操作系统。当用户把所有配套实验都熟练掌握后,即对LPC213X/214X的内部功能器件可以做到熟练应用的程度后,可以考虑学习一个具体的嵌入式操作系统。 
目前,流行的嵌入式操作系统非常多,例如,uC/OS-II、WinCe、Linux、VxWorks等。对于初学者,我们慎重地推荐源码公开的uC/OS-II嵌入式操作系统。uC/OS-II已经有很多产品成功使用的案例且得到了美国航空管理局的认证,北京航空航天大学出版社也出版了配套的专著。国内熟悉这个嵌入式操作系统的开发人员特别多,十分容易通过网站上的讨论社区得到帮助,更关键的是,初学者可以很容易地通过阅读源码达到彻底掌握嵌入式操作系统的目的。在熟练掌握了uC/OS-II后,用户已经从ARM初学者进入到了ARM应用开发工程师的行列。下一步可根据自己的知识背景、兴趣爱好和开发领域,再选择一个嵌入式操作系统(例如WinCE、Linux或VxWorks等)进行学习,彻底掌握ARM嵌入式系统开发。


各位不要误导年轻的初学者,即便要搞Liunx,uC/OS-II也是入门的基础。要知道用Linux开发产品的公司无一不是投入了大量资金和人员,最后很多企业还是回到了商业软件的老路上了。世界上从来没有现成的午餐!我们必须相信这些经典的教条。

 

个人感觉uC/OS-II对arm结构的支持不是很好
任务切换部分效率低,中间件重复使用性不佳
单片机就没啥意思了,资源少的可怜
arm7上到凑合用用吧,也没啥好RTOS
arm9上就是Linux和WinCE的天下了,毕竟支持MMU
但是uC/OS-II的核心-任务切换很值得研究
个人认为把核心几部分看透彻了还是赶紧投靠Linux阵营好

 

我们需要的操作系统应该兼顾实时性、可裁减性、可扩展性
在linux上写个应用程序很容易
在uC/OS-II上写就要当心内存碎化了,而且不支持C++ 
堆栈空间都以数组开出,别扭,都定死了
编写用户程序时你能找到的帮助远没Linux多
但是uC/OS是一只五脏六腑俱全的麻雀,解剖一下会林另你功力上升一个台阶
你会发现《操作系统》课程里面的书本知识是怎么应用起来的
我远没本事写操作系统:)
最近发现老周在推日本的TRON操作体统,我在鬼子网站还没看到仔细的TRON性能介绍,小日本的东西藏来藏去,找不到完整的,不过听说日本占有率相当高
有空了,我用C++把uC/OS改良一下,对ARM的七种模式看看如何优化,因为上下文切换那边是比较罗嗦的,效率低

 

看你用来做什么。uc/os本身非常简单,代码不过2、3千行,与硬件相关的代码更是少的可怜(只有几百行),因此它具备很高的可移植性。但是它本身仅仅提供一个内核,只负责任务的调度与通讯工作,因此它的应用场合就比较有限。为了增强它的功能,有许多软件公司为uc/os编写了文件系统、GUI、TCP/IP协议栈等,这样uc/os就能够担任更重要的工作,不过这些模块有的并不开放源代码。在国外,采用uc/os的产品还是不少的,国内也有许多人在采用uc/os,我认为uc/os的应用还是有前途的,特别在功能比较简单的嵌入式系统。 
uc/os的实时性能非常好,甚至比大多数商业化的嵌入式操作系统都好,而且稳定性也很高(因为简单嘛),因此它在工业控制领域和实时性要求很高的场合非常合适,比如许多高档的测试仪器就用了uc/os。

 


恩,跟应用领域有很大关系,像无线传感器、和自动化控制方面ucos-ii用的就比较多,智能手机和GPS导航
方面wince就用得比较多。


不论是ucos   或linux   都需保证学习一个操作系统所需的预备知识,这个才重要嘛.比如操作系统理论,相关的硬件知识,等等

如果对操作系统不是很熟悉,建议还是从ucos开始,可以加深理解,有有助于对linux的学习 
如果您已经对操作系统比较熟悉了,或者对其他嵌入式操作系统比较熟悉的话,直接学习linux吧

如果是要学习linux内核的话,建议可以从linux0.11开始,这个资源多,讲解详细,也比较简

 

周立功:当一个系统选用uc/OS-2时,只需要:2M的nor flash,2mB-8mB的sdram,目前最新的版本是UC/OS-3,如果将它移植到ARM9,它的启动速度是1s,由于很多开发人员没有尝试过而忽略了UC/OS-3这么好的系统而只会选择自己会的MCU或者嵌入式操作系统,并没有正确的选择的MCU或操作系统,且思想非常顽固。US-OS2能满足:CF卡,sd卡,以太网,CAN-BUS/CANOPEN/DEVICENET/J1939,GUI图形界面,缺陷是支持WIFI的不完善。

  如果一次购买超过3000个授权,价格还是很便宜的,如果无论开发什么产品都选择WinCE的话,肯定是不划算的。比如选用uC/OS-II就可以实现的项目,如果因为开发人员的喜好而选用WinCE,至少需要2片32M的SDRAM,1片32M的NOR Flash或一片2M的NOR Flash+128M的NAND Flash(因为容量少的工业级NAND Flash越来越难购买),可想其硬件成本之高。

uc/os学习之路(一) —— 初识uc/os

目录树
  • u010945683
  • u010945683
  • 2015年05月10日 20:31
  • 2262

uc/os-ii内核源码理解(一)

使用操作系统,就要使用操作系统相关的资源(消息邮箱、信号量、互斥信号量、消息队列、事件等),需要大致了解系统内核原理。 uC/OS-ii操作系统配置 uC/OS-ii系统配置就是修改os_cfg....
  • li_qcxy
  • li_qcxy
  • 2017年02月15日 23:15
  • 347

uc/os-iii---学习总结,不完全版(思维导图和知识总结)

  • JosephGodVim
  • JosephGodVim
  • 2016年07月25日 10:15
  • 2516

UC/OS-II基础知识之中断

UC/OS-II基础知识之中断1.中断 任务在运行过程中,应内部或者外部异步事件的请求终止当前任务而去处理异步时间所要求的任务的过程叫做中断,应中断请求而运行的程序叫做中断服务子程序,中断服务子程序...
  • LiYuan199118
  • LiYuan199118
  • 2016年01月06日 16:19
  • 1096

uC/OS_ii操作系统心得

第一章 嵌入式操作系统 1.1 计算机操作系统 简介: 嵌入式操作系统属于操作系统的一种。 嵌入式操作系统的概念: 应用于嵌入式系统的操作系统叫做嵌入式操作系统 操作系统的概念: 是...
  • best_fiends_zxh
  • best_fiends_zxh
  • 2016年09月18日 15:51
  • 983

uC/OS 的进程调度(上)

操作系统最重要的任务之一就是进程调度,它涉及三个主要方面: 何时进行调度 如何选择下一个活动进程 如何实现进程切换 每种操作系统差别很大,本文对uC/OS的进程调度机制进行一些细致分析。...
  • li_boxue
  • li_boxue
  • 2016年04月29日 20:22
  • 532

uc/os-ii操作系统笔记

操作系统是应用程序与硬件的之间的接口,只有硬件构成的电脑成为裸机,操作系统的功能主要是对计算机的资源进行管理。 主要的功能:   1.处理器的管理,主要两项工作:一是对中断的管理,二是对处理器的工...
  • hello_world6
  • hello_world6
  • 2016年09月09日 21:30
  • 792

uC/OS-III 学习笔记(一)——uC/OS-III移植

uC/OS-III 学习笔记(一)uC/OS-III移植前言  最近毕设要做一个嵌入式设备,需要用到操作系统。本人只会制板和写ARM裸机程序,OS方面是一个小白,只对uC/OS和Linux两种系统略有...
  • lingsuifenfei123
  • lingsuifenfei123
  • 2017年03月16日 20:32
  • 780

uC/OS-ii移植详解

uC/OS ii的移植要点: uC/OS ii的移植相当LINUX来说是非常简单的,uC/OS ii的移植涉及到的代码很少;我们只需要修改与处理器相关的代码即可; OS_CPU.H:设置与处理器与...
  • Jijiahao95
  • Jijiahao95
  • 2016年12月05日 20:22
  • 655

uc/os-ii任务延时

μC/OS-Ⅱ的任务是一个无限循环,由于μC/OS-Ⅱ是可剥夺型内核,如果高优先级任务不主动挂起,低优先级任务就永远无法取得运行权,最高优先级任务将独占CPU的使用权。因此,μC/OS-Ⅱ规定:除了永...
  • fillthesky
  • fillthesky
  • 2015年07月02日 13:58
  • 557
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux或者UC/OS
举报原因:
原因补充:

(最多只允许输入30个字)