




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式Linux系统设计与开发,祖校锋,主要内容,嵌入式系统与嵌入式Linux 嵌入式Linux开发平台,1.1 嵌入式系统,嵌入式计算机系统的定义: 以应用为中心,以计算机技术为基础,软件硬件可裁剪,复合应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统。,嵌入式系统与嵌入式Linux,嵌入式系统分类 按表现形式分(硬件范畴) 芯片级嵌入(含程序或算法的处理器) 模块级嵌入(系统中的某个核心模块) 系统级嵌入 按实时性要求分(软件范畴) 非实时系统(PDA) 软实时系统(消费类产品) 硬实时系统 (制导系统等),1.1.1嵌入式系统的应用前景,美国著名未来学家尼葛洛庞帝1999年1月访华时预言: 45年后,嵌入式智能产品将是继PC和因特网之后最伟大的发明。 美国汽车大王福特公司的高级经理也曾宣称: 福特出售的“计算能力”已经超过了IBM。,1997年美国嵌入式系统大会的报告预测: 未来5年基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。,1.1.2 嵌入式产品分类,信息电器,包括电视机、电冰箱、微波炉、电话等等。 移动计算设备,包括手机、PDA、掌上电脑等各种移动设备。 网络设备,包括路由器、交换机、Web server、网络接入盒(卡)等各种网络设备。 工控、仿真等,1.1.3 嵌入式系统的特点,嵌入式系统的产品特征 它是 面向用户产品和应用的系统; 完成目标功能的最小系统; 处理器功耗、体积、成本、可靠性、速度、处理能力、电磁兼容性等方面都受应用制约的系统; 高可靠性和高实时性的系统; 与具体产品紧密结合的系统。,嵌入式系统软件的特征 软件要求固化存储; 软件代码高质量和高可靠性; 系统软件(OS)很多情况情况下要求具有实时处理能力; 多任务实时操作系统是工业标准化的必然要求。 嵌入式系统开发需要的开发工具和环境 一般是基于通用计算机的软硬件设备、各种逻辑分析仪和混合信号示波器等。,嵌入式系统软件需要(EOS)开发平台 嵌入式系统中,应用软件可以没有操作系统而直接在芯片上运行。 但是,目前嵌入式应用已不仅仅局限于原来仅面对系统级的需求,还需要面对用户级的应用,尤其是消费电子产品的需求。传统的使用循环控制的嵌入式系统无法将系统软件和和应用软件分开处理,每次开发都要重新定制系统软件和应用软件,代价大,成本高,已不能满足需求。 为了合理调度多任务,充分利用系统资源系统函数及专家函数接口,减少开发代价,必须选用短小精悍、易定制、易移植的嵌入式操作系统开发平台,从而保证系统执行的实时性和可靠性,并大大减少开发时间。,1.2 嵌入式操作系统,嵌入式操作系统大多工作在实时性要求很高的环境中,这样的操作系统称为实时多任务操作系统(RTOS)。 实时多任务操作系统(RTOS)定义: 一个能够在指定或者确定的时间内,完成系统功能和对外部或内部、同步或异步事件作出响应的系统。,RTOS体系结构图,常用RTOS简介 VRTX (Microtec Research) 世界上第一个商业嵌入式实时内核,市场占有率前五名。 TornadoVxworks (Wind River Systems,inc.) 美国市场占有率第一名,火星探测器采用该操作系统。 QNX(QNX Software Systems LTD) x86上最好的嵌入式实时操作系统,同时支持PowerPC,ARM,MIPS等处理器芯片。 LynxOS(Lynx Real-Time systems) 老牌嵌入式实时操作系统,市场占有率前十名。 WinCE(Microsoft INC.) 微软出品,嵌入但不够实时,属于软实时系统。,pSOSytem(Integrated Systems INC.) 老资格的实时操作系统,中国市场占有率第一名。 嵌入式LINUX(完全免费的操作系统) 既有软实时系统又有硬实时系统。,1.3 嵌入式Linux操作系统,Linux操作系统 正式的Linux 1.0于1994年3月诞生于芬兰赫尔辛基大学的天才大学生Linus手中。现在,Linux已成为当前最流行的免费操作系统。只要遵守GPL(GNU通用公共许可证),任何人都可以自由使用Linux的源程序。,Linux操作系统的特征 符合国际通用标准; 强大的兼容性; 先进的网络特征; 拥有真正的多用户、多任务能力; 具有动态连接能力; 系统性能十分稳定; 可移植性强,非常灵活。 Linux操作系统的发展情况及前景 Linux操作系统发展至今,已经成为具有全部UNIX特性的POSIX兼容的操作系统,能够与各种传统的商业操作系统分庭抗礼。 据1999年IOS统计,Linux占有全球Web服务器总数的28,名列第一。 据2000年IDC统计,Linux在服务器操作系统市场中占25。,1.3.1嵌入式Linux系统简介,嵌入式Linux系统的特点 开放源码,丰富的软件资源; 功能强大的内核,性能高效、稳定、多任务; 支持多种体系结构; 完善的网络通讯、图形和文件管理机制; 支持大量的周边硬件设备,驱动丰富; 大小功能都可定制,可裁剪的内核不过500k。,常见嵌入式Linux操作系统 RTLinux 美国新墨西哥理工学院开发的嵌入式硬实时操作系统。它将标准Linux核心作为其实时内核的一个进程同实时进程一起调度,从而在改动最小的情况校充分利用了Linux下现有的资源。 ucLinux ucLinux是针对微控制领域而设计的Linux系统,其最大特征就是没有MMU(内存管理单元模块)。ucLinux包含Linux常用的API和小于512k的内核及相关的工具,900k左右。 Embedix 嵌入式Linux行业主要厂商Lineo推出,最小需要8M内存,3M ROM或者FLASH,提供了超过25种的Linux系统服务,是一种较完整的嵌入式Linux解决方案。,XLinux 美国网虎公司推出,主要开发者陈盈豪,核心仅143k,而且还在不断减小中,号称世界上最小的嵌入式Linux系统。其核心采用了“超字元集”的专利技术,与标准字符集兼容的同时还覆盖了12个国家和地区的字符集,在国际化方面具有得天独厚的优势。 KURTLinux 该OS是为多媒体应用和ATM网络应用设计的“严格”的实时系统。,Why嵌入式Linux 2000年9月份的调查如下图所示。截至2001年7月,已经使用或将要使用嵌入式Linux的用户已达88.6%。,未来24个月嵌入式嵌入式操作系统应用的调查(2000.9),1.3.2 ucLinux简介,ucLinx的优势 ucLinux是Linux2.0的一个分支,其最大特征就是没有MMU(内存管理单元模块)。 全球每年生产的CPU的数量在二十亿颗左右,超过80%应用于专用性很强的各类嵌入式系统。其中又有相当一部分面向低端市场。为降低硬件成本及运行功耗,有一类CPU在设计中取消了内存管理单元(Memory Management Unit,简称MMU)功能模块。如Motorola公司的M6K系列,龙珠系列,冷火系列,ARM7TDMI系列等等。,ucLinux的特点 如前所述,ucLinux的最大特征就是没有MMU。 标准Linux使用虚拟存储系统,这种技术用于提供比实际的物理内存大得多的内存空间,使得使用者在编写程序程序时可以完全不考虑内存空间的大小问题,从而带来了极大的方便。与此同时,内存管理活动也占用了宝贵的CPU时间(比较忙的系统中大约10左右)。 ucLinux取消了MMU,直接存取内存,虽然增大了进程管理的难度,对程序员提出了更高的要求,但同时也极大地增加了开发者的权利。毕竟,节省硬件的成本才是最重要的。再者,对于低端产品来讲,只要实现特定的功能,内存管理要求完全可由开发人员考虑。,ucLinux的进程管理 fork(),vfork(),exec(),exit(),copy-on-write ucLinux继承了标准Linux的特性,提供了对网络的强大支持,具有完整的TCP/IP协议栈,并对外其他一些协议提供支持,是一个相当优秀的嵌入式网络操作系统。 ucLinux支持多种文件系统,包括最常用的NFS(网络文件系统),ext2(第二文件扩展系统,Linux的一种标准文件系统),romfs文件系统,MS-DOS,FAT1632等。,嵌入式Linux开发平台,硬将平台的组成 嵌入式处理器,分为嵌入式微控制器(MCU),嵌入式微处理器(MPU),嵌入式DSP和SoC(System on Chip); 存储设备,分为ROM和RAM两类; 外围设备,包括网络设备,输入设备和显示设备。,2.1 硬件平台,2.1.1 S3C4510B芯片简介,S3C4510B是三星公司出品的一块用在基于以太网系统的高性价、比高性能的7TDMI构架的16/32位RISC微控制器。,S3C4510B框图,S3C4510B的特性如下: 体系结构 用于嵌入式以太网应用的集成系统; 全1632位RISC结构; 支持小端大端模式; ARM7TDMI内核; 高性价比且基于JTAG的调试解决方案; 边界扫描。 系统管理 81632位外部总线支持各种存储芯片和外部I/O; 带总线请求应打引脚的外部总线主控制器; 可编程访问周期(07个等待周期); 4字深的写缓冲; 存储器到外围的DMA接口。,一体的指令数据Cache 2路相联一体; 支持LRU(近期最少使用)替换算法; 可配置。 I2C串行口 仅主控模式工作。 Ethernet控制器 突发模式的DMA引擎; 10010Mgongzuosulv; DMA发送接收缓冲区(256256K); MAC发送接收FIFO缓冲区(8010字节); 完全兼容IEEE802.3; 带PAUSE的全双工模式; 长短包模式; 端变换。,HDLC 10M工作速率; Modem接口; 每个HDLC有2通道DMA缓冲描述符用于发送接收。 DMA控制器 4种数据突发方式; UART 基于DMA或者中断工作的2个UART模块; 支持5,6,7或者8位的串行数据接收发送; 可编程波特率; 支持红外发送接收。 定时器 2个可编程32位定时器; 间隔触发模式工作。,可编程I/O口 18个; 输入输出专用信号模式; 中断控制器 21个中断源(4个外部); 正常快中断模式(IRQ/FIQ); 基于优先级。 PLL 外部时钟可由片内PLL加倍以提供高频系统时钟; 1040MHz; 输出频率位5倍输入时钟。,三星NETStart!开发套件简介 该开发套件是三星公司为嵌入式网络应用量身订做的一块评估板,使用三星公司出品的网络控制芯片S3C4510B。,2.1.2 NET-Start!评估板,评估板布局,评估板框图,硬件平台连接图,2.2 软件系统,嵌入式系统的软件组成 Bootloader,分为主机端和目标端两个部分,主要作用包括: 初始化处理器; 初始化必备的设备; 下载系统映象; 初始化操作系统系统并准备执行。 嵌入式系统内核,必需部件包括进程管理,进程间通信,内存管理部分。 根文件系统,有ramdisk和NFS两种实现方式,而文件系统的类型则可分为: 普通文件系统,包括只读文件系统romfs,压缩式文件系统cramfs等; 日志文件系统(先写日志后写数据),例如日志式FLASH文件系统JFFS和JFFS2,ext3文件系统等等。,ucLinux宿主机软件环境的建立 安装cygwin或Linux,推荐安装Linux操作系统,推荐Red Hat Linux; 下载一个未编译的Linux内核和一个ucLinux补丁()及三个最新的文件(fs/binflat.c,include/linux/flat.h,lib/intflate2.c),将内核解压后打上补丁再编译即可。 使用GCC工具创建交叉编译工具,建立工具链(toolchain)。工具链分为两种:生成位置位置无关代码的和生成用户程序的。详情可参看嵌入式Linux设计与应用。 创建coff2flt和elf2flt,flat binary文件格式。 创建C函数库。 编译genromfs程序,用以创建romfs文件系统镜像和用户程序。 宿主机软件环境的建立完成。,ucLinux目标板软件环境的建立 将引导代码bootloader烧入FLASH,该代码相当于BIOS,或者Linux的引导程序GRUB,用于初始化硬件环境,在找到操作系统后将控制权转出。这段代码可以在网上下载得到,我们只需稍作修改即可。 重新编译BusyBox和GUI(MiniGUI或者Microwindows)已移植到ucLinux中。 配置IP地址并对ineted和通过ineted启动的telnetd和httpd进行编译连接和配置。 将镜像文件image.bin(实际上是内核文件linux.bin和文件系统romdisk.bin的合并)通过minicom配合bootloader下载到FLASH中。 配置gdb和stun并重新编译uc-libc。 安装NFS网络文件系统。 目标机软件环境建立完毕。,建立开发环境所需的几种开发调试工具 minicom minicom是一个友好易用的串口通信程序,用来监视控制串行口的信息 。串口的各种参数都可以自由配置。它具有以下特性: 自动重拨号的拨号目录; 对串行设备UUCP格式的lock文件的支持; 独立的脚本; 语言解释器; 文件捕获; 多用户单独配置。,GCC编译器和GDB调试工具 GCC编译器是一种非常强大的支持多达11种操作系统平台的的C/C+、Object C编译器,集预处理、编译、翻译和 连接四个过程于一身,可辨识的文件类型包括.c、.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三河市2025河北廊坊三河市公开招聘事业单位工作人员50人笔试历年参考题库附带答案详解
- 2025重庆新华出版集团招聘编辑风控审计等岗位12人笔试参考题库附带答案详解
- 2025浙江绍兴滨海新区国有资本投资运营集团有限公司编外人员(劳务派遣)招聘2人笔试参考题库附带答案详解
- 卸车司机安全培训课件
- 2025江苏连云港市金灌投资发展集团有限公司灌南城市发展集团有限公司等招聘34人笔试参考题库附带答案详解
- 2025年阜阳阜南县清净水务有限公司招聘14人笔试参考题库附带答案详解
- 2025年福建武夷交通运输股份有限公司招聘10人笔试参考题库附带答案详解
- 2025年度吉林长春市轨道交通集团有限公司校园招聘535人笔试参考题库附带答案详解
- 2025年4月吉林省高速公路集团试验检测有限公司社会公开招聘9人笔试参考题库附带答案详解
- 2025届湖北联投校园招聘扬帆起航笔试参考题库附带答案详解
- ISO 22000-2018食品质量管理体系-食品链中各类组织的要求(2023-雷泽佳译)
- 卡巴斯基应急响应指南
- 理财规划大赛优秀作品范例(一)
- 2023年四川能投筠连电力招聘笔试参考题库附带答案详解
- 护理管理组织结构与设计
- 静配中心清洁消毒考核试题
- 一级烟草专卖管理师理论考试题库(含答案)
- 小学数学《分数除法》50道应用题包含答案
- 碳捕集、利用与封存技术课件
- 化工试生产总结报告
- 复句与单句的辨析课件
评论
0/150
提交评论