选择一个 ARM CPU 的嵌入式操作系统 - µc/os-ii, µclinux 还是 Linux? 何小庆 2003 年 11 月 4 日深圳中国嵌入式系统技术应用研讨会
ARM 将是 32 位主流的 嵌入式 CPU Gartner Inc 今年 6 月统计 2002 年 ARM 在全球半导体 IP 供应商中排名第 1 占市场份额 19.8% 销售收入达 1.8 亿美元比 2001 年增长 10% ARM 是世界第一大 IP 知识产权厂商在全球已经有将近 200 多个半导体公司购买了 ARM 核生产自己的处理器目前 80% 以上的 GSM 手机 99% 的 CDMA 手机以及将来的 WCDMA TD-SCDMA 手机都采用的是基于 ARM 核心的处理器众多的手机处理器如摩托罗拉龙珠 i.mx, 德州仪器的 OMAP, Intel 的 xscale 等都采用了基于 ARM 核心的芯片来自 21IC.COM
目前市场上常见的 ARM CPU Samsung S3C44B0,4510/30,2410,2440,2500/10,2800 Atmel:AT91(AT91408XX,AT91RM9200) Cirus Logical:EP7312,EP89712,EP9XXXX Motorola :MX1 imx TI: OMAP1510/1620/710/730. Sharp:LH7XXXX Intel :PXA25X/26X,IXP42x,IXP24XX/28XX OKI:ML6xxxx Phlips LPC210X
RTOS 是 32 位的 嵌入式 CPU 的软件基础 RTOS 内核提供 CPU 的管理 硬件初时化 MMU 定时器中断 RTOS 内核提供任务内存管理 RTOS 提供设备管理文件和网络的支持 RTOS 提供 C/C++ JAVA 图形模块等编程接口
µc/os-ii 是具有 实时性的可靠性的嵌人式内核 易于移植 有 100 种的移植 ROM 化 可伸缩 可强占 实时的 确定性高效率 多任务 可靠的 FAA FDA
µc/os-ii 提供的系统服务 信号量 带互斥机构的信号量 减少优先级倒置的问题 事件标志 消息信箱 消息队列 内存管理 时钟管理 任务管理
学院和大学 世界各地的学院和大学有 100 余所在使用 中国 µc/os-ii 大学赠书已经发送 80 家 保证新的工程师在学校的时间就已经有 µc/os-ii 的使用经验 学院和大学的教学使用是免费的 各种 µc/os-ii 的技术文章有数十篇 单片机和嵌入式系统电子设计电子产品世界
µc/os-ii 的各种商业应用 全世界有数百种产品在应用 : Avionics Medical Cell phones Routers and switches High-end audio equipment Washing machines and dryers UPS (Uninterruptible Power Supplies) Industrial controllers GPS Navigation Systems Microwave Radios Instrumentation Point-of-sale terminals 更多
µc/os-ii 系列产品和商业模式 uc/os-ii 是嵌人式内核 学习使用 嵌入式的实时操作系统 uc/os-ii 第 2 版 商业应用 需要一次性的支付产品版税 升级技术支持 培训和版税 uc/gui 是嵌人式用户图形界面 完全的商业化产品 源代码 版税 uc/fs 是嵌人式文件系统 完全的商业化产品 源代码 版税 www.micrium.com
µc/os-ii KA IAR C-Spy 调试器的 OS 插件
µc/os-view µc/os-ii Run-Time Task Profiler 一个可以和你的目标板通信的 Windows 应用 显示每个任务的状态 以图形方式显示每个任务的 CPU 占用率 显示每个任务堆栈的使用情况 可以在 PC 机发送命令到目标板 可以让你的目标板发送 ASCII 字符到你的 PC 机 Window 上显示 未来的版本支持 Memory Reads/Writes
µc/gui and µc/fs µc/gui 嵌入式的用户界面 用 ANSI C 书写 支持任何 8, 16, 32-bits CPU 彩色灰度等级或黑白显示 代码尺寸小 µc/fs 嵌入式的文件系统 Written in ANSI C 用 ANSI C 书写 支持任何 8, 16, 32-bits CPU 支持 SMC, MMC, SD, CF, IDE, Flash, RAM 其他介质
µclinux 是为没有 MMU 的 CPU 简化的 Linux uclinux 是一个符合 GNU/GPL 公约的项目完全开放代码英文单词中 u 表示 Micro 小的意思 C 表示 Control 控制的意思所以 uclinux 就是 Micro-Control-Linux 字面上的理解就是 微控制领域中的 Linux 系统 它专门针对没有 MMU 的 CPU 并专为嵌入式系统做了许多小型化的裁减工作已支持前面提到的多款 CPU 官方主页在 www.uclinux.org SnapGear, Arcturus,Samsung 公司支持维护
Linux 与 uclinux 区别 uclinux 支持 non-mmu 微处理器 uclinux 不实现 fork() 而是 vfork(). 父进程锁定直到子进程 exec() 或 exit(). 多数的针对内核的源代码和二进制代码已经重写仅可能的缩小尺寸. uclinux 是尽可能的小比一般 Linux 2.0 kernel 稳定超级的网络能力和优秀的文件系统.
µclinux 优势 标准的 Linux API 完整的 TCP/IP stack 支持 丰富的网络 uclinux 是一个 internet-ready OS 适合 embedded systems. File system 支持 NFS, ext2, MS-DOS, 和 FAT16/32 已经少数的文件系统和设备驱动
µclinux 问题 缺少 MMU 的支持 社区的维护和发展缓慢 支持的 CPU 和参考板的种类少 没有商业化版本和纯软件供应商
开放源码的 ARM Linux ARM Linux 是 Linux 向 ARM 的移植主要作者是 Russell King, 主要的 CPU 移植 ARM710,720T/920T StrongARM 110,StrongARM 1100 XScale ARM Linux 需要有 cache/mmu ARM Linux 继续在发展 ARM Linux 是开发源码 没有服务和支持的承 诺 以下是网友的邮件 My deadline is looming and I wanted to ask the expert to get the answers. Asking mailing lists takes too long to get a response. WWW ARMLINUX ORG UK
商业的 ARM Linux Montavista Linux Pro Montavista Linux CEE Mizi Linux Korea) Vlinux(Korea) Bluecat(Lynuxwork), Lineo(Metroworks) Timesys
MontaVista Linux 产品和市场 通信基础设备 先进的消费电子 特定的方案 Carrier Grade Edition (CGE) Wireless and IP Core/Edge Broadcasting Wireline Optical 通用的嵌入式系统 Consumer Electronics Edition (CEE) Automotive Telematics TV & Home Entertainment Mobile & Wireless Switches & Routers Enterprise Datacom Line Cards Professional Edition (Pro) Office Equipment Home networking 通用的嵌入式方案 Medical Military/Aerospace Instrumentation & Control General Embedded
其他 ARM RTOS ECOS Nuclues Vxwork ThreadX RTEM..
选择适合 ARM 的 嵌入式操作系统的因素 应用 是否是网络或丰富的 TCP/IP 协议的要求 是否是类似桌面系统的图形要求 中间件的支持如 JAVA 嵌入和移动数据库 实时性 硬实时还是软实时 ARM CPU 的种类 ARM7 TDMI,ARM720 ARM9/10, MMU (920/922/926/1022/1026) AMR9/10,MPU 966/946
选择适合 ARM 的 嵌入式操作系统的因素 ( 续 价格技术支持和服务 目前市场上 ARM 开发工具参考板和 RTOS 的价格差距很大 注意区分供应商是 RTOS 工具还是参考板 注意供应商的技术承诺和背景 开发工具 编译和调试器 -ARM IAR GCC/GDB JTAG 仿真器 -ARM Trace32 OpenICE32 BDI EPI MICETEK Sophia 内核调试分析高级的软件工具 - BDI,Sophia,EPI,IAR EW, Intel XDB CCS
麦克泰对 ARM RTOS 的支持 麦克泰是 Micrium 代理 嵌入式操作系统 µc/os-ii 中文第二版大学增书 提供大学嵌入式操作系统教学和学生学习使用 为 uc/os-ii 的商业应用提供专业的服务产品生产授权和支持培训 销售 uc/gui, uc/fs 和第三方的商业的 TCP/IP 为高校和初学者提供 uc/os-ii Start Kit ARM 麦克泰移植 µclinux 支持 NetCARM7 Atmel), NBC44B0 和 NBC4530, 提供 µclinux Start Kit 套件 AijiOpenICEA700+ 支持 µclinux 调试
麦克泰对 ARM RTOS 的支持 续 麦克泰是 Montavista Linux 唯一代理 Montavista Linux Pro Edtion ARM720/920T,922T,OMAP1510/5910,PXA25X/26X/Bulverde, XSCALE 42X/24XX/28XX Montavista Linux Comsume Edtion OMAP1510/5910, Bulverde Intel ) Montavista Graphic x-windows),qt/e, Qtopia BMR 提供 ARM CPU 系统级支持和服务 PXA255 SDM2410 OMAP1510 提供设备驱动 LINUX 系统 GUI 和应用方案的支持
Q/A Email : allan.he@bmrtech.com Call 010-82826868