嵌入式开发流程及开发工具介绍课件.ppt

嵌入式开发流程及开发工具介绍课件.ppt

ID:56987808

大小:106.00 KB

页数:31页

时间:2020-07-25

嵌入式开发流程及开发工具介绍课件.ppt_第1页
嵌入式开发流程及开发工具介绍课件.ppt_第2页
嵌入式开发流程及开发工具介绍课件.ppt_第3页
嵌入式开发流程及开发工具介绍课件.ppt_第4页
嵌入式开发流程及开发工具介绍课件.ppt_第5页
资源描述:

《嵌入式开发流程及开发工具介绍课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式Linux开发流程及 开发工具介绍内容概要嵌入式Linux开发步骤嵌入式Linux常见的开发工具嵌入式Linux常见的调试工具针对arm-linux交叉编译环境的搭建嵌入式Linux开发步骤电路设计(第1版)电路设计(第3版)电路设计(第2版)编译器移植bootloader应用程序开发内核移植文件系统开发嵌入式Linux开发任务硬件开发:芯片设计,电路设计,选择芯片等软件开发:制作交叉编译器,移植bootloader,移植内核,开发文件系统,开发应用程序等嵌入式Linux开发步骤嵌入式Linux常见的开发工具嵌入式Linux常见的调试工具针对arm-linux交叉编译环境的搭建嵌入式L

2、inux开发工具Vi编辑器GCCMakeMakefileGCC介绍全称为GNUGCC,GNU项目中符合ANSIC标准的编译系统编译如C、C++、JAVA、ObjectC、Fortran、Pascal,Modula-3和Ada等多重语言针对嵌入式Linux系统常用交叉编译器,比如针对ARM平台,使用arm-linux-gcc等Make工程管理器管理较多的文件Make工程管理器也就是个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量的编译工作MakefileMakefile的作用是根据项目配置的

3、情况,构造出需要编译的源文件列表,然后分别编译,链接。Linux内核中与Makefile相关的文件※顶层Makefile:整个内核配置、编译的总体控制文件※.config:内核配置文件、包括由用户选择的配置选项,用来存放内核配置后的结果※arch/*/Makefile:位于各种CPU体系结构下的Makefile,如arch/arm/Makefile,是针对特定平台的Makefile※各个子目录下的Makefile:比如drivers/Makefiel,负责所在子目录下源代码的管理。嵌入式Linux开发步骤嵌入式Linux常见的开发工具嵌入式Linux常见的调试工具针对arm-linux交叉编

4、译环境的搭建嵌入式Linux调试工具printk函数strace命令OOPS分析GDBKDBKGDB使用printk进行调试※优点#随时调用#在中断中调用#在进程上下文中调用#在持有锁时调用#在多处理器上同时使用※缺点#终端启动前无法调用strace命令※显示程序调用的所有系统调用※从内核接受信息,而且不需要以任何特殊的方式来构建内核※用法:eg.$stracels#-t:显示调用发生的时间#-T:显示调用花费的时间#-e:#strace命令※显示程序调用的所有系统调用※从内核接受信息,而且不需要以任何特殊的方式来构建内核※用法:eg.$stracels#-t:显示调用发生的时间#-T:显示

5、调用花费的时间#-e:限定被跟踪的调用类型#-o:将输出定向到一个文件中OOPS分析OOPS消息包含系统错误的细节,如CPU寄存器的内容。在Linux中,调试系统崩溃的传统方法是在发生崩溃时发送到系统控制台的OOPS消息。一旦你掌握了细节,就可以将消息发送到ksymoops实用程序,它试图将代码转换为指令并将堆栈值映射到内核符号。在很多情况下,这些信息就足够确定错误的可能原因是什么了。请注意,OOPS消息并不包含核心文件。GDB※运行被调试的程序,设置所有的能影响该程序的参数和变量。※保证被调试的程序在指定的条件下停止运行。※当被调试程序停止时,让开发工程师检查发生了什么※更具每次调试器的提

6、示信息来做相应的改变,以便修正某个错误引起的问题KDB介绍Linux内核调试器是Linux内核的补丁,提供了一种在系统能运行时对内核内存和数据结构检查的办法。可以添加额外的命令,给出该数据结构的标识或地址,这些命令便可以格式化和显示基本的系统数据结构。它适合于调试内核空间的程序代码,譬如进行内核模块的调试,设备驱动程序的调试KDB允许的内核操作※处理器单步执行※执行到某条特定指令时停止※当存取(或修改)某个特定的虚拟内存位置时停止※当存取输入/输出地址空间中的寄存器时停止,对当前活动的任务和所有其他任务进行堆栈回溯跟踪(通过进程ID)※对指令进行反汇编※追击内存溢出KGDB※需要的软件#内核

7、源代码:linux-x.x.x.tar.bz2#Kgdb补丁:linux-x.x.x-kgdb-1.9.patch#gdbmod-x.x.bz2※使用两台计算机进行开发,一台为开发主机,一台为目标主机。通常用串口线相连内核调试工具比较※GDB:在调试模块时缺少一些至关重要的功能,如不能修改内核数据,不能设置断点或观察点,或者但不跟踪内核函数。它可用来查看内核的运行情况,包括反汇编内核函数。※KDB:可以交互式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。