嵌入式应用程序开发教案.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
什么是嵌入式系统 嵌入式系统是以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统 嵌入式系统的架构 嵌入式微处理器 外围硬件设备 嵌入式操作系统 特定的应用程序 嵌入式软硬件系统的架构 ARM 既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。1991年ARM公司成立于英国剑桥,主要出售芯片设计技术的授权。目前ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,ARM技术正在逐步渗入到我们生活的各个方面。 嵌入式操作系统 嵌入式系统具有操作系统的最基本的功能: 进程调度 内存管理 设备管理 文件管理 操作系统接口(API调用) 嵌入式操作系统 Vxworks: 美国WindRiver公司于1983年开发,具有可靠、实时、可裁减特性。 WinCE: 支持具有丰富应用程序和服务的32位嵌入式系统。 嵌入式Linux: 近年来,Linux在嵌入式领域异军突起。 嵌入式系统的开发模式 开发流程1 开发流程2 开发流程3 开发流程4 开发流程5 开发流程6 mini2440 mini2440 硬件资源 启动与片选 安装 工具 Linux体系结构 从上图得知,Linux由 用户空间和内核空间两部分组成。 内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空间的转移。 Linux体系结构 现代CPU通常实现了不同的工作模式,以 ARM为例,实现了7种工作模式: 用户模式(usr)、快速中断(fiq)、 外部中断(irq)、管理模式(svc)、 数据访问中止(abt)、系统模式(sys)、 未定义指令异常(und) Linux内核架构 系统调用接口 SCI 层为用户空间提供了一套标准的系统调用函数来访问Linux内核,搭起了用户空间到内核空间的桥梁。 进程管理 进程管理的重点是创建进程(fork、exec),停止进程(kill、exit),并控制 它们之间的通信(signal 或者 POSIX 机 制)。进程管理还包括控制活动进程如何 共享CPU,即进程调度。 内存管理 内存管理的主要作用是控制多个进程安全 地共享内存区域。 虚拟地址到物理地址的映射 分配内存 回收内存 网络协议栈 内核协议栈为Linux提供了丰富的网络协议实现。 网络稳定 网络功能强 虚拟文件系统(VFS) VFS隐藏各种文件系统的具体细节,为文件 操作提供统一的接口。 设备驱动 Linux 内核中有大量代码都在设备驱动程序中,它们控制特定的硬件设备。 目录结构 Linux内核源代码采用树形结构进行组织,非常合理地把功能相关的文件都放在同一个子目录下,使得程序更具可读性。 内核源代码下载地址: 目录结构(展示) varch目录 arch是architecture的缩写。内核所支持的 每种CPU体系,在该目录下都有对应的子 目录。每个CPU的子目录,又进一步分解 为boot,mm,kernel等子目录,分别包含控 制系统引导,内存管理,系统调用等。 目录结构 block目录 块设备驱动程序 crypto目录 加密、压缩、CRC校验算法 documentation 内核的文档 drivers目录 设备驱动程序 目录结构 fs目录 存放各种文件系统的实现代码。每个子目录对应一种文件系统的实现,公用的源程序用于实现虚拟文件系统vfs。 | |--devpts /* /dev/pts虚拟文件系统*/ | |--ext2 /*第二扩展文件系统*/ | |--fat /*MS的fat32文件系统*/ | |--isofs /*ISO9660光盘cd-rom上的文件系统*/ 目录结构 include目录 内核所需要的头文件。与平台无关的头文件在include/linux 子目录下,与平台相关的头文件则放在相应的子目录中。 目录结构 init目录 内核初始化代码 ipc目录 进程间通信的实现代码 kernel目录 Linux大多数关键的核心功能都是在这个目 录实现。(调度程序,进程控制,模块) 目录结构 lib目录 库文件代码 mm目录 mm目录中的文件用于实现内存管理中与体 系结构无关的部分(与体系结构相关的部 分在哪里实现?) 目录结构 net目录 网络协议的实现代码 | |--802 /*802无线通讯协议核心支持代码*/ | |--appletalk /*与苹果系统连网的协议*/ | |--ax25 /*AX25无线INTERN

文档评论(0)

wxc6688 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档