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越来越难购买),可想其硬件成本之高。

linux或者UC/OS相关推荐

  1. uC/OS 的进程调度(上)

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

  2. linux串口互斥,UART0串口编程之在UC/OS—II中遭遇的危机

    一.潜在的危机 1.在uc/os操作系统中设计串口编程时,由于ISR和多个任务并发执行,情况比较复杂.尤其是接收状态为被动状态时,只能靠串行口中断来接收数据. 2.在进行串行通信时,双方遵循相同的通信 ...

  3. UART0串口编程(四):UART0串口编程之在UC/OS—II中遭遇的危机

    UART0串口编程之在UC/OS-II中遭遇的危机 一.潜在的危机 1.在uc/os操作系统中设计串口编程时,由于ISR和多个任务并发执行,情况比较复杂.尤其是接收状态为被动状态时,只能靠串行口中断来 ...

  4. uC/OS和uClinux的比较

    摘    要: 嵌入式操作系统是嵌入式系统应用的核心.本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结了嵌入式操作系统应用中的若干问题,归纳了嵌入式操作系统的选型依据. 引言     随着现代 ...

  5. UC/OS和UCLinux比较

    随着现代计算机技术的飞速发展和互联网技术的广泛应用,从pc时代过渡到了以个人数字助理.手持个人电脑和信息家电为代表的3c(计算机.通信.消费电子)一体的后pc时代.后pc时代里,嵌入式系统扮演了越来越 ...

  6. 嵌入式系统 操作系统 uC/OS uClinux

    摘要:嵌入式操作系统是嵌入式系统应用的核心软件.本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结嵌入式操作系统应用中的若干问题,归纳嵌入式操作系统的选型依据. 关键词:嵌入式系统 操作系统 u ...

  7. 嵌入式系统开发16——嵌入式实时操作系统uC/OS的简介及简单应用

    本文主要介绍嵌入式实时操作系统(RTOS),并且以uc/OS为例,将其移植到stm32F103C8T6上,构建3个任务:其中两个task分别以1s和3s周期对LED灯进行点亮-熄灭的控制:另外一个ta ...

  8. uc/os程序设计点滴记录

    任务有切换,但切换到某个任务,总是出现hardfault错误? [现象:给出错的任务换一个大小一样但名字不一样的堆栈就可以,使用原来名字的堆栈就是出错] 解决: 查看hardfault寄存器,找到出错 ...

  9. UART0串口编程(六):串口(UART0)之UC/OS(二)UC/OS下的串口接收任务编程

    串口(UART0)之UC/OS(二) 一.串口接收数据在UC/OS设计中应注意的问题 1.    串口通信的数据接收过程: 1>  UART 接收FIFO接收到预定字节后触发中断 2>   ...

最新文章

  1. 17_clickhouse分布式集群部署
  2. SAP Fiori Launchpad shell.handleGoHome() - home按钮的实现
  3. 2023届IC实习小结
  4. c语言中将函数指针作为形参_在C中将有效指针作为NULL指针
  5. Spring Cloud Gateway Predicate.Path过滤分析
  6. Centos7,配置防火墙,开启端口
  7. math java 计算_Java中的数学计算函数汇总
  8. BerryBoot实现树莓派多系统切换
  9. Scala快速入门到精通 视频教程 百度云网盘下载地址
  10. CrossApp简介
  11. 笔记73-应用容器Docker
  12. Spark Sql练习之疫情简单分析
  13. Error while building/deploying project QTtest (kit: Desktop Qt 5.9.0 MinGW 32bit)When executing~
  14. Mac电脑如何快速回到桌面?
  15. 最新,EI期刊目录更新,又有1本期刊被剔除
  16. MySQL——我的学习笔记
  17. 【正点原子FPGA连载】 第七章 Verilog HDL语法 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0
  18. 关于统计学的一些思考(一)
  19. 手把手教你如何安装使用Git(Windows系统)
  20. 中国首届微博开发者大会杨卫华演讲

热门文章

  1. 身为品牌广告主,你需要的是的RTB还是PMP
  2. C++ 双指针汇总(快慢指针, 滑动窗口, 前后指针,左右指针)
  3. 输入一个字符串,逆序并输出
  4. 假设有四个作业,它们的提交、运行时间如下表所示。若采用高响应比优先调度算法,试问平均周转时间和平均带权周转时间为多少?
  5. Qt问题:中文乱码+常量中有换行符
  6. 惠普暗影精灵命令中心linux,暗影精灵2成功装上Sierra 12.5正式版
  7. git命令行修改用户名密码
  8. 鸿蒙系统怎么没有微信界面,如果鸿蒙系统没有微信,你会选择用吗?
  9. shui-执行多个window.onload
  10. 2. 匈牙利命名法