




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章嵌入式操作系统及其移植 7 1嵌入式操作系统 CLinux 1 CLinux背景 Clinux从Linux2 0 2 4内核派生而来 沿袭了主流Linux的绝大部分特性 专门针对没有MMU的CPU运行 Clinux操作系统的用户可以使用几乎所有的LinuxAPI函数 返回 CLinux概述 2 CLinux特点 1 通用LinuxAPI 2 内核体积 512KB 3 内核 文件系统 900KB 4 完整的TCP IP协议栈 5 支持大量其它的网络协议 6 支持各种文件系统 包括NFS ext2 ROMfsandJFFS MS DOS和FAT16 32 Micro 微小 的意思 C是Control的缩写 CLinux是为微控制领域量身定做的Linux版本 CLinux体系结构 内核采用的是单一内核结构 非抢占式的 控制CPU资源的分配 基于优先级的抢占式多任务 管理计算机的内存资源 VFS 逻辑文件系统 设备驱动程序 通信方式有 管道 pipe 文件锁 SystemVIPC 信号 signal 及共享内存 内核源代码的绝大部分是各种驱动程序 支持多种网络协议 如IP IPV6 IPX Appletalk及Bluetooth 并且支持路由 防火墙过滤等网络设备功能 提供标准的BSDsocket编程接口 CLinux的移植 1 CLinux内核的移植可以分为 2 CLinux发行版本中已经包含S3C44B0XARM7TDMI处理器的移植包 因此 只需进行 CLinux板级移植 板级移植 对于 CLinux发行版本中已经支持的嵌入式处理器通常只需要针对板级硬件进行适当的修改即可 片级移植 对于 CLinux发行版本中没有支持的处理器则需要添加相应处理器的内核移植 CLinux内核移植方法 1 1 内核移植的主要任务 1 配置内核 2 编译内核 3 下载 运行 调试内核2 Clinux调试手段 1 通过串口将显示信息发送到主机 由主机端超级终端工具接收 同时在超级终端输入数据 然后由 Clinux接收 2 通过串口将调试信息打印到超级终端 CLinux内核移植方法 2 3 CLinux内核移植主要过程 1 内核配置 2 体系结构相关代码修改 3 连接脚本 4 中断处理 5 加载文件系统 6 编写驱动程序 7 编译 Clinux文件系统 7 2嵌入式操作系统 C OS II C OS microcontrollerOSII 是免费的 源代码是开放的 特点如下 1 C OS II是一个可裁减的 源码开放的 结构小巧 可剥夺型的实时多任务内核 一个进程对处理器的使用权是否强制交权给其它进程 2 C OS II中最多可以支持64个任务 分别对应优先级0 63 其中0为最高优先级 3 C OS II已成功移植到近40多种处理器体系上 4 C OS II结构小巧 最小内核可编译至2K 5 C OS 实际上是一个实时操作系统内核 没有提供输入输出管理 文件系统 网络之类的额外服务 返回 7 2嵌入式操作系统 C OS II C OS II中任务状态包括 等待状态 休眠状态 就绪状态 运行状态 中断服务 之间可转换 C OS II的体系结构 7 2 2 C OS II的移植 要使 C OS II能正常运行 处理器必须满足以下要求 处理器的C编译器能产生可重入代码 处理器支持中断 并且能产生定时中断 C语言可以开 关中断 处理器支持一定数量的数据存储硬件堆栈 处理器有将堆栈和其他CPU寄存器读出和存储到堆栈或内存的指令 移植 C OS II只需修改OS CPU H OS CPU A ASM OS CPU C C这三个文件的相关函数 7 3嵌入式系统的BootLoader 1 含义BootLoader就是在操作系统内核或用户应用程序运行之前运行的一段小程序 类似于PC的BIOS 2 功能初始化硬件设备 建立内存空间的映射图 将系统的软硬件环境带到一个合适的状态 以便为最终调用操作系统内核或用户应用程序准备好正确的环境 3 任务如图7 1所示 概述 返回 BootLoader与嵌入式系统的关系 每种不同的处理器体系结构都有不同的BootLoader BootLoader还依赖于具体的嵌入式板级设备的配置 系统加电后 处理器将首先执行BootLoader程序 存储设备典型空间分配结构 BootLoader的操作模式 BootLoader的启动加载模式与下载模式 加载模式 启动时将Flash中的操作系统加载到 中 BootLoader的正常工作模式 下载模式 将主机中的应用程序等下载到嵌入式系统的 中 比如 下载应用程序 数据文件 内核映像等 这种模式通常在系统更新时使用 仅对于开发人员才有意义 对于最终用户无此概念 BootLoader的主要功能及典型结构 1 主要功能正确地调用内核来执行 2 典型结构 分两部分 第一部分 第二部分 主要工作是硬件设备初始化 为加载BootLoader的第二部分准备RAM空间 拷贝BootLoader的第一部分到RAM空间中 设置好堆栈后跳转到第二部分的C程序入口点 通常都用汇编语言来实现 主要作用是初始化本阶段要使用到的硬件设备 检测系统内存映射 将kernel映像和根文件系统影响从flash上独到RAM空间中 并为内核设置启动参数 最后调用内核 完成BootLoader的所有任务 通常用C语言编写 BootLoader的第一部分 1 1 基本的硬件初始化2 为加载第二部分准备RAM空间推荐将第二部分安排到整个RAM空间的最顶1MB 即 RamEnd 1MB RamEnd 屏蔽所有的中断 设置处理器的速度和时钟频率 RAM初始化 初始化LED 关闭处理器内部指令 数据cache BootLoader的第一部分 2 3 拷贝第二部分到RAM4 设置堆栈指针sp5 跳转到第二部分的C入口点 1 第二部分的可执行映象在固态存储设备的存放起始地址和终止地址 2 RAM空间的起始地址 BootLoader在FLASH和RAM的系统布局 BootLoader的第二部分 1 1 初始化本阶段要使用的硬件设备如初始化串口和计时器等 2 检测系统得内存映射内存映射就是指在整个物理地址空间中有哪些地址范围被分配用来寻址系统的RAM单元 BootLoader的第二部分 2 3 加载内核影响和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030工程机械行业原材料价格波动预警与成本传导机制研究报告
- 2026华能上海石洞口第一电厂高校毕业生招聘笔试模拟试题及答案解析
- 幼儿园教师专业发展培训课程目录
- 企业运营状况说明书范例
- 小企业财务报表分析与风险评估培训
- 全国自考《管理学原理》历年试题汇编
- 2025年艺术行业数字化艺术与文化传承研究报告
- 2025年医药产业行业药物研发与生物医药创新研究报告
- 2025年体育健身行业数字化运营策略研究报告
- 2025年旅游行业智慧旅游服务解决方案报告
- 2025年全国国家版图知识竞赛题库及答案(中小学组)
- 机加工安全生产培训考核试题及答案(班组级)(精)
- 电梯从业证考试试题及答案解析
- 2024年武汉商学院公开招聘辅导员笔试题含答案
- 钢结构厂房装修施工方案报告
- DB32-T 5156-2025 零碳园区建设指南
- 人教版三年级数学上册第一单元分层作业设计
- 2024年国庆中秋安全教育主题班会《欢度双节 安全护航》主题安全教育【课件】
- 浙教版(2024)科学八年级上册 2.1力(第2课时)课件
- 中国外卖大战报告(中英)-高盛-202507
- 咖啡对身体健康的影响研究
评论
0/150
提交评论