栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

第5章 开发环境和调试技术

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第5章 开发环境和调试技术

第5章 开发环境和调试技术 1.交叉开发环境概述

交叉开发模式:宿主机(PC机:VMware下的Ubuntu)+目标板(IMX6实验箱: 超级终端Xshell)

宿主机与目标板的连接方式:

① 串口(COM1 TO USB) ② 以太网接口(RJ45) ③ USB接口 ④ JTAG接口(Joint Test Action Group)

GNU软件:

① Shell:Shell基本上是一个命令解释器

② glibc:glibc是GNU发布的libc库,即c运行库

③ GCC:GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言编译器

④ gdb: UNIX及UNIX-like下的调试工具

⑤ vim:vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在vi的基础上改进和增加了很多特性

⑥ Emacs: Emacs是著名的集成开发环境和文本编辑器

2.宿主机环境 2.1串口终端

Windows下的超级终端,如Xshell 2.0

Linux下的minicom

2.2 BOOT

BOOTP:引导程序协议。

BOOTP用于无盘工作站的局域网中,可以让无盘工作站从一个中心服务器上获得IP地址。

通过BOOTP协议可以为局域网中的无盘工作站分配动态IP地址,这样就不需要管理员去为每个用户去设置静态IP地址。

BOOT工作流程

① 由BOOTP启动代码来启动BOOTP客户端。

② BOOTP客户端使用广播形式、向网络中发出IP地址查询要求。

③ 运行BOOTP协议的服务器接收到这个请求,会根据请求中提供的MAC地址找到BOOTP客户端,并发送一个含有IP地址、服务器IP地址、网关等信息的回应帧。

④ BOOTP客户端会根据该回应帧来获得自己的IP地址并通过专用文件服务器 下载启动镜像文件,模拟成磁盘来完成启动。

2.3 TFTP

简单文件传输协议。TFTP是简化了的FTP,TFTP没有用户权限管理的功能。

2.4交叉编译

在x86架构的宿主机(PC机,Ubuntu)上编译生成适用于ARM 架构(IMX6实验箱)的ELF格式的可执行代码。

ELF:可执行与可链接格式 ,是一种用于 二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。

3.目标板环境 3.1 JTAG接口简介

是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。标准的JTAG接口是5线:TMS、TCK、 TDI、TDO、nTRST,分别为模式选择、时钟、数据输入、数据输出线、系 统复位。

3.2 Boot Loader简介

Bootloader:引导加载程序;是在操作系统内核运行之前用来初始化硬件设备、建立内存空间的映射图的小程序。

嵌入式Linux系统启动后,先执行Bootloader,进行硬件和内存的初始化 工作,然后加载Linux内核和根文件系统映像,完成Linux系统的启动。

常见的Bootloader:

• u-boot

• vivi

4.交叉编译工具链 4.1 交叉编译的构建

**交叉编译工具链:**是一个由编译器、链接器、解释器组成的集成开发环境。

ARM平台的交叉编译工具:arm-poky-linux-gnueabi-gcc

制作交叉编译工具链的方法:

① 从头编译 ② 脚本编译 ③ 下载使用

4.2相关工具

1.glibc(库)

2.gcc(编译器)

3.binutils(链接器+汇编器)(与gcc配套的工具集)

gcc编译四阶段

① 预处理(-E):生成“*.i”文件 *

② 汇编(-S):用as命令,编译源文件,生成汇编文件(“.s”文件)

③ 编译(-c):用cc命令,生成目标文件(“*.o”文件)

④ 链接(-o):用ld命令,生成可执行文件

5.本地调试(gdb:GNU Debugger)

1、调试ARM可执行文件:

常见命令

2、调试x86可执行文件:

6.远程调试(gdb + gdbserver)

远程调试:用于调试ARM程序,在Ubuntu(宿主机)上调试运行在实验箱(目标机)上的程序

实验箱运行:gdbserver

宿主机运行:arm-linux-gdb

7.内核调试(gdb + kgdb)

使用printk函数:使用printk函数显示有关信息。

目标机运行kgdb

宿主机运行gdb

8.网络调试

嗅探器(Sniffer):tcpdump、arp、ping、route、netstat。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/324278.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号