嵌入式操作系统原理和Linux系统.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文档。上传文档
查看更多
嵌入式操作系统原理和Linux系统

进程空间和内核空间 进程名义上有4G的空间,实际上只有3G属于进程本身,虚拟系统空间占据高位1G Linux内核启动分析 搭建开发环境 宿主机和目标机 交叉编译 编译引导程序(u-boot或者vivi) 编译内核(mizi linux) 编译根文件系统 使用JTAG将编译好的映像写入目标板 可以写入到Nor Flash当中 可以写入到Nand Flash当中 Linux内核启动分析 上电 CPU根据设置读取Flash中的Bootloader Bootloader作两段式加载 Bootload将控制权移交给内核 Bootloader事先检测硬件参数,例如物理地址 Bootloader加载压缩的内核映像 内核自解压 内核将自身定位到正确的物理地址 内核启动流程 执行init初始化进程 启动一个shell 执行启动脚本文件 显示登录提示符等待登录 嵌入式LINUX操作系统内核 选择内核 内核配置 编译内核 安装内核 Linux内核源码 内核目录结构: /usr/src/Linux-*** /arch(重点) /drivers /fs /include /init /ipc /kernel /mm /net 内核配置 进入到内核源代码目录 cd /usr/src/linux-2.*** make config make xconfig make menuconfig make 编译生成的文件 vmlinux 未压缩的Linux内核 varch/arch/boot/zImage 经zlib压缩后的Linux内核 varch/arch/boot/bzImage 经zlib压缩后的Linux内核,b是指big,压缩狠 /boot/vmlinuz-version 经zlib压缩后的Linux内核 编译生成的文件 v/boot/System.map-version 内核符号地址 /boot/initrd-version.img ramdisk,要挂载的根文件系统 /lib/modules/version 模块 vmodules.dep 模块依赖文件 裁剪Linux 目的是创建嵌入式Linux 嵌入式硬件资源有限,所以要裁剪软件 裁剪的对象包括: Linux内核 库 守护进程 GUI 裁剪Linux 选择合适的文件系统 ext2,ext3,jffs2 模块机制 网络协议 无用的驱动程序 调试信息 裁剪的技术要求 能省就省,能小就小,能快就快 安装内核 移植相关的文件 相关文件和目录 arch/arm/config.in arch/arm/Makefile arch/arm/boot/Makefile arch/arm/mach-s3c2410/* include/asm-arm/arch-s3c2410/* arch/arm/tools/mach-types arch/arm/boot/compressed/head-s3c2410.S arch/arm/boot/compressed/Makefile 嵌入式Linux内核调试 Printk() Oops消息 /proc文件系统 Kgdb 追踪工具(strace,ltt,gprof,gcov,memwatch) Oops:linux内核在发生kernel panic时会打印出Oops信息,把目前的寄存器状态、堆栈内容、以及完整的Call trace都show给我们看,这样就可以帮助我们定位错误。 Linux调试工具 Linux系统察看和调参 /proc文件系统 用户空间工具: 内存工具:MEMWATCH 和 YAMD strace GNU 调试器(gdb) 内核工具: 内核源代码级调试器(kgdb) 内建内核调试器(kdb) Oops /proc文件系统 /proc内存文件系统,记录系统相关信息 可以直接使用cat得到相关信息 /proc 虚拟文件系统是一个较快的、高效率执行系统监控的方法。使用/proc的主要缺点是必须保持代码分析与/proc 文件格式改变的同步。事实表明,Linux内核的改变比/proc 文件格式的改变要更频繁,所以,用/proc虚拟文件系统比用内核模块存在的问题要少。 通过/proc获取进程信息 找到相关进程号 找到相关/proc子目录 获取特定参数 通过/proc获取硬件信息 找到相关硬件标识 在/proc中找到相关硬件目录 查找特定硬件信息 通过/proc获取内核信息 内核信息一般存放于/proc/sys 可以读取相关内核信息 也可以修改内核参数来对内核调优 修改内核一定要慎重! /proc获取文件系统信息 获取文件系统信息 获取分区信息 获取文件锁定信息 /proc获取系统状态信息 获取系统时间 * * 中断的必要性 * 中断向量表 * 系统堆栈

文档评论(0)

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

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

1亿VIP精品文档

相关文档