嵌入式Linux实时操作系统


2002年1月 1 面向二十一世纪的嵌入式系统设计技术 第六讲: 嵌入式Linux实时操作系统 RTOS(二):Embedde Linux 任课教员:徐欣 博士 主讲教员:习勇 博士 国防科大电子科学与工程学院 嵌入式系统开放研究小组 2002/11 2 嵌入式操作系统—嵌入式linux The story of Linux KingDom 需要记住的两个天才: Richard Stallman AND linus Stallman:当今专有商业软件领域野蛮的 颠覆者,无数程序员和用户心目中的自 由之神。 --gnu GPL linus:给自由王国添上了圆满的句号 2002/11 3 嵌入式操作系统—嵌入式linux GNU/Linux „ Linux „ 编译软件: gcc ,gdb, „ 应用程序: emacs, apache,mail….. 2002/11 4 嵌入式操作系统—嵌入式linux Linux的特点 „ Linux系统是层次结构且内核完全开放 „ 强大的网络支持功能 „ Linux具备一整套开发工具链 „ Linux具有广泛的硬件支持特性 „ 同步跟踪快 „ 遵循通用国际标准,便于程序的移植 2002/11 5 嵌入式操作系统—嵌入式linux redhat与linux „ Redhat: linux的发行商 „ Linux内核版本:奇数号与偶数号 2.2.14 2.4.4 „ 自由软件的收费:收取服务费而不是版 税 2002/11 6 嵌入式操作系统—嵌入式linux Linux的结构 „ 类unix linux 内核 BSP OS loader 其它内核模块 设备驱动程序 X-Windo w系统 文件系统 网络系统 2002/11 7 嵌入式操作系统—嵌入式linux Linux文件系统 / :根目录 /dev :设备 /bin :系统应用程序 /usr:用户程序 /lib : 运行库 /etc:配置文件 /home :用户 /tmp: /root: /boot 2002/11 8 嵌入式操作系统—嵌入式linux What is embedded linux? „ 嵌入式Linux(Embedded Linux)是指 对Linux经过小型化裁剪后,能够固化在 容量只有几百K字节或几兆字节的存储器 芯片或单片机中,应用于特定嵌入式场 合的专用Linux操作系统。嵌入式Linux的 开发和研究是目前操作系统领域的一个 热点。 2002/11 9 嵌入式操作系统—嵌入式linux why choose embedded linux? „ 商业软件的昂贵 „ 开发系统 „ 层次结构,可以剪裁 2002/11 10 嵌入式操作系统—嵌入式linux Linux作为嵌入式应用的缺点 首先linux最初设计为通用操作系统, 其目标是追求整体最佳性能,所以不能 很好处理实时任务;其次,如何精简 linux适用于嵌入式环境也是一个难题。 2002/11 11 嵌入式操作系统—嵌入式linux 嵌入式linux的研究内容 „ 嵌入式linux内核技术 „ 嵌入式库技术 „ 开发环境技术 „ 嵌入式应用 „ BIOS和boot loader启动加载程序 „ 设备驱动技术 „ 图形界面技术 2002/11 12 嵌入式操作系统—嵌入式linux 几种著名的嵌入式linux介绍 „ Hardhat linux Hardhat linux是由MontaVista公司开发产品, 是目前最具影响力嵌入式linux。MontaVista通 过直接修改内核来扩充linux内核的实时性。 „ RTlinux RTlinux是FSMLabs[16]开发的硬实时嵌入式 linux。RTlinux使用双内核结构;在底层使用 一个硬实时内核,linux作为该内核的空闲任务; 当有实时任务时,通过硬实时内核调度该任务; 没有其他任务时,则运行普通linux。 2002/11 13 嵌入式操作系统—嵌入式linux 几种著名的嵌入式linux介绍 „ uClinux uClinux是针对无mmu微控制领域而 设计的Linux系统。u是希腊字母表示” 小”,C是controller表示控制器。uClinux和 标准linux最大的区别是内存管理上,标 准linux利用CPU硬件的支持实现虚拟内 存机制,而uClinux采用实存储器管理策 略。 华恒公司的龙珠开发板采用uclinux. 2002/11 14 嵌入式操作系统—嵌入式linux 嵌入式linux学习的入口点 ---从上电到bash分析 1. 上电刹那,产生CPU复位异常,跳往指定的 地址,通常是中断向量表。BIOS,pcboot 2. BIOS, ppcboot初始化硬件; 3. 寻找并引导操作系统,从软盘,硬盘lilo,网 络等,如果压缩并解压。显示 loading……OK! Uncompressing Kernel Image….OK! Now booting the kernel 4. 权力交接,linux开始运行 2002/11 15 嵌入式操作系统—嵌入式linux ---从上电到bash分析 5. linux运行的第一个文件: arch/i386/boot/head.S 对CPU重新初始化,完成虚拟地址映射,内 核空间映射到0xc0000000处,跳往---〉 2002/11 16 嵌入式操作系统—嵌入式linux ---从上电到bash分析 6. start_kernel: init/main.c linux内核的初始化 : setup_arch() paging_init () 初始化页表 init_IRQ() 初始化中断 sched_init() 调度初始化 time_init() 初始化系统时间和日期 console_init () kmem_cache_init( ) 初始化slab分配器 mem_init( ) 初始化页描述符 kernel_thread(init,….); current->need_resched = 1; cpu_idle(NULL); 2002/11 17 嵌入式操作系统—嵌入式linux ---从上电到bash分析 „ init内核线程: init线程首先调用init\main.c 中 do_basic_setup()对各种设备(PCI、USB 等)、网络初始化、加载根文件系统等,init 线程最后启动如下的init用户进程: execve(“sbin/init’’…); 2002/11 18 嵌入式操作系统—嵌入式linux ---从上电到bash分析---init进程 „ init进程负责触发其他必需的进程以使系统 作为一个整体进入可用的状态。这些工作由 initrd/etc/inittab文件控制,通常包括启动各种 守护进程等。如果没有这些进程,用户无法完 成很多工作,这样成功的启动内核用处不大。 产生init进程的另一个原因是init进程是系统所 有进程的祖先。例如在一般的PC机中,init进 程产生gettty进程、getty进程产生login进程、 login进程产生用户的shell,最后就会在屏幕上 产生熟悉的”$”提示符等待shell命令。 2002/11 19 嵌入式操作系统—嵌入式linux 嵌入式linux的构造 Linux是可以裁减的,一个最小的linux需要什 么? „ 精简后的内核 „ 文件系统(init程序) /dev /bin /lib /etc /usr /mnt …. „ 启动加载程序 PC: bios+lilo 嵌入式linux:ppcboot, 或者自行设计 2002/11 20 嵌入式操作系统—嵌入式linux 嵌入式linux的基础: -----制作floppy-linux? „ What is floppy linux? „ 意义: 理解嵌入式linux的基本结构 方便- 类似于dos。 2002/11 21 嵌入式操作系统—嵌入式linux 介绍我们 „ BCNG嵌入式产品介绍 2002/11 22 嵌入式操作系统—嵌入式linux BCNG硬件平台 ¾ CPU: MPC850,860,823 ¾ Flash: 2/4M 字节 ¾ sdram: 32M 字节 ¾ 以太网: 10/100M接口 ¾ RS232: 2个 ¾ RS485: 1个 ¾ USB: 1个 ¾ BDM接口 ¾ 尺寸:120mm*90mm ¾ 电压输入:+5V ¾ 工作频率:50MHz 2002/11 23 嵌入式操作系统—嵌入式linux 产品软件特点 ¾ 内装嵌入式linux操作系统,支持网络协议栈, 串口驱动、以太网驱动、USB驱动,flash文件 系统…. ¾ 内置嵌入式webserver, telnet服务器(基于嵌 入式linux) ¾ 提供嵌入式linux源代码与开发软件,包括交叉 编译环境,BDM调试软件等 ¾ 提供多种BSP, 支持Vxworks,Linux,uC/OS三 种嵌入式操作系统 2002/11 24 嵌入式操作系统—嵌入式linux 产品应用 ¾ 网络数据:低端路由器、数据采集与传 输、嵌入式网络管理…… ¾ 远程通信:基于web的远程监控、远程接 入服务器、数据的Internet接入…… ¾ 嵌入式系统学习开发:教学实验系统, 嵌入式linux构造与应用…… 2002/11 25 嵌入式操作系统—嵌入式linux BCNG嵌入式linux介绍 „ 基于denx开源软件工程 „ 适于BCNG MPC8xx主板 „ 目前的内核版本:2.2.14 „ 启动方式:ppcboot 支持flash,网络 „ 大小:1.3M „ 应用程序:busybox, webserver,telnet 服务。 2002/11 26 嵌入式操作系统—嵌入式linux 开发环境 „ 一台redhat linux服务器 „ 若干台windows客户机 „ 目标板 „ 下载电缆 2002/11 27 嵌入式操作系统—嵌入式linux 嵌入式linux开发模型 以太网 Linux/PC 服务器 Windows 工作站 Linux/PC 工作站 笔记本电脑 Modem Modem Internet PSTN 串行线 BDM 电缆 串行线 BDM 电缆 开发板 开发板 2002/11 28 嵌入式操作系统—嵌入式linux 服务器软件 „ Redhat linux 装上所有的网络服务软件 „ BCNG 嵌入式linux „ 开启nfs, telnet, ftp 服务 „ Nfs 给目标板 ,telnet与ftp给windows客 户机 2002/11 29 嵌入式操作系统—嵌入式linux BCNG嵌入式linux „ 安装后,会出现如下目录 /home/bcng/: linux-8xx-2.2.14: 内核源代码树 Exports:nfs导出文件目录 /usr/bcng/:开发编译工具, powerpc-linux-gcc/gdb/objcopy….. 2002/11 30 嵌入式操作系统—嵌入式linux 客户机软件 „ 超级终端 „ Telnet客户程序 „ Ftp客户程序 „ BDM下载软件 „ Cywin + gdb软件 2002/11 31 嵌入式操作系统—嵌入式linux 内核的编译与下载 „ 利用telnet进入服务器源代码开发树 „ 修改源代码, make menuconfig make all „ 通过ftp下载内核映像到windows客户机 „ Windows客户机通过专门的软件把内核 下载到目标板上进行运行,运行成功则 可以烧入到flash中运行。 2002/11 32 嵌入式操作系统—嵌入式linux 应用程序的调试与运行 „ 利用telnet进入服务器的exports目录 „ 修改并编译应用程序 „ 打开目标板,利用超级终端加载nfs网络 文件系统,使服务器上的exports目录映 射到目标板上的一个目录 „ 执行或使用gdb调试应用程序 2002/11 33 嵌入式操作系统—嵌入式linux 总结:研究嵌入式linux的方法 „ 基础工作 ¾ 熟悉理论(操作系统,linux内核原理),linux编 程基础 ¾ 研究从上电后linux启动系列代码 ¾ 制作软盘linux „ 实际应用---编写驱动程序: ¾ 下载源代码 ¾ 阅读源代码 ¾ 根据实际情况修改源代码 ¾ 调试 2002/11 34 嵌入式操作系统—嵌入式linux 欢迎大家加入研究linux的行列!
还剩33页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

forestleo

贡献于2012-12-19

下载需要 3 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf