logo资料库

Eclipse_OpenOCD_OpenJTAGv3嵌入式开发教程.pdf

第1页 / 共87页
第2页 / 共87页
第3页 / 共87页
第4页 / 共87页
第5页 / 共87页
第6页 / 共87页
第7页 / 共87页
第8页 / 共87页
资料共87页,剩余部分请下载后查看
目录
1. 调试工具简介
1.1 OpenJTAG套件简介
1.2 嵌入式软件的交叉开发系统
2. Windows下OpenJTAG套件的使用
2.1 硬件、软件安装
2.1.1 安装OpenJTAG驱动程序
2.1.2 安装OpenOCD、交叉编译工具链、Eclipse
2.2 使用OpenOCD、OpenJTAG烧写程序、调试程序
2.2.1 启动OpenOCD,OpenOCD常用命令
2.2.2 使用OpenOCD烧写小程序到内部RAM,并运行、调试
2.2.3 使用OpenOCD下载u-boot,通过u-boot烧写Nor/Nand Flash
2.3 使用Eclipse进行开发
2.3.1 启动Eclipse,进行简单设置:
2.3.2 新建一个Eclipse工程:
2.3.3 配置Eclipse工程:
2.3.4 编译、清除程序:
2.3.5 使用Eclipse调试程序:以leds、u-boot为例
3. Ubuntu下OpenJTAG套件的使用
3.1 硬件、软件安装
3.1.1 修改udev规则,使得识别OpenJTAG后自动加载驱动
3.1.2 安装OpenOCD、GDB、交叉编译工具链、Eclipse
3.2 使用OpenOCD、OpenJTAG 烧写程序、调试程序
3.2.1 启动OpenOCD,OpenOCD常用命令
3.2.2 使用OpenOCD烧写小程序到内部RAM,并运行、调试
3.2.3 使用OpenOCD下载u-boot,通过u-boot烧写Nor/Nand Flash
3.3 使用Eclipse进行开发
3.3.1 启动Eclipse,进行简单设置:
3.3.2 新建一个Eclipse工程:
3.3.3 配置Eclipse工程:
3.3.4 编译、清除程序:
3.3.5 使用Eclipse调试程序:以leds、u-boot、Linux内核为例
附录:u-boot使用简要说明
本地磁盘
Linux公社简介-Linux公社|Linux|Ubuntu|Fedora|新闻|下载|教程|安装|SUSE|Linux发行版|编程|服务器
本地磁盘
Linux公社简介-Linux公社|Linux|Ubuntu|Fedora|新闻|下载|教程|安装|SUSE|Linux发行版|编程|服务器
本地磁盘
Linux公社简介-Linux公社|Linux|Ubuntu|Fedora|新闻|下载|教程|安装|SUSE|Linux发行版|编程|服务器
www.linuxidc.com Linux公社(LinuxIDC.com)于2006年9月25日注册并开通网站,Linux现在已经成为一种广受关注和支持的一种操作系统,IDC是互联网数据 中心,LinuxIDC就是关于Linux的数据中心。 LinuxIDC.com提供包括Ubuntu,Fedora,SUSE技术,以及最新IT资讯等Linux专业类网站。 并被收录到Google 网页目录-计算机 > 软件 > 操作系统 > Linux 目录下。 Linux公社(LinuxIDC.com)设置了有一定影响力的Linux专题栏目。 包括: Ubuntu专题 Fedora专题 RedHat专题 SUSE专题 红旗Linux专题 Android专题 Linux公社简介 - 广告服务 - 网站地图 - 帮助信息 - 联系我们 本站(LinuxIDC)所刊载文章不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。 本站带宽由[6688.CC]友情提供 Copyright © 2006-2011 Linux公社 All rights reserved Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
www.linuxidc.com USB 转 JTAG/USB 转串口/在线调试 Eclipse,OpenOCD,OpenJTAG 嵌入式开发教程 – 1 – Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
www.linuxidc.com USB 转 JTAG/USB 转串口/在线调试 Eclipse,OpenOCD,OpenJTAG嵌入式开发教程................................................................................1 1. 调试工具简介......................................................................................................................3 1.1 OpenJTAG套件简介 .................................................................................................3 1.2 嵌入式软件的交叉开发系统....................................................................................6 2. Windows下OpenJTAG套件的使用 ..................................................................................10 2.1 硬件、软件安装......................................................................................................10 2.1.1 安装OpenJTAG驱动程序...............................................................................10 2.1.2 安装OpenOCD、交叉编译工具链、Eclipse................................................12 2.2 使用OpenOCD、OpenJTAG烧写程序、调试程序...............................................14 2.2.1 启动OpenOCD,OpenOCD常用命令...........................................................14 2.2.2 使用OpenOCD烧写小程序到内部RAM,并运行、调试...........................18 2.2.3 使用OpenOCD下载u-boot,通过u-boot烧写Nor/Nand Flash .....................21 2.3 使用Eclipse进行开发..............................................................................................24 2.3.1 启动Eclipse,进行简单设置:.....................................................................24 2.3.2 新建一个Eclipse工程:.................................................................................25 2.3.3 配置Eclipse工程:.........................................................................................28 2.3.4 编译、清除程序:.........................................................................................31 2.3.5 使用Eclipse调试程序:以leds、u-boot为例 ................................................32 3. Ubuntu下OpenJTAG套件的使用......................................................................................46 3.1 硬件、软件安装......................................................................................................46 3.1.1 修改udev规则,使得识别OpenJTAG后自动加载驱动...............................46 3.1.2 安装OpenOCD、GDB、交叉编译工具链、Eclipse....................................47 3.2 使用OpenOCD、OpenJTAG 烧写程序、调试程序 ..............................................50 3.2.1 启动OpenOCD,OpenOCD常用命令...........................................................50 3.2.2 使用OpenOCD烧写小程序到内部RAM,并运行、调试...........................53 3.2.3 使用OpenOCD下载u-boot,通过u-boot烧写Nor/Nand Flash .....................57 3.3 使用Eclipse进行开发................................................................................................60 3.3.1 启动Eclipse,进行简单设置:.....................................................................60 3.3.2 新建一个Eclipse工程:.................................................................................61 3.3.3 配置Eclipse工程:.........................................................................................65 3.3.4 编译、清除程序:.........................................................................................67 3.3.5 使用Eclipse调试程序:以leds、u-boot、Linux内核为例...........................68 附录:u-boot使用简要说明 ............................................................................................82 – 2 – Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
www.linuxidc.com USB 转 JTAG/USB 转串口/在线调试 1. 调试工具简介 1.1 OpenJTAG 套件简介 在嵌入式开发中,有很多优秀的调试、仿真工具,比如 Keil、IAR、Rowley Associates 等。 它们的安装、使用都很便利,功能强大,但是价格昂贵(几百美元甚至更多);还要购买相应 的硬件,比如 J-Link、U-Link 等 USB 到 JTAG 的转换盒,这也是一笔不小的开支。 对于学生,或者是开发预算有限的工程师来说,完全可以使用免费的开发工具 Eclipse、 OpenOCD,然后通过一些便宜的 JTAG 转接器(比如并口 JTAG 等)就可以达到接近、甚至超 越上述商业软件的效果。 并 口 JTAG 速 率 太 低 , 一 般 很 少 使 用 。 本 教 程 使 用 OpenJTAG 转 换 器 , 配 合 Eclipse,OpenOCD 等开源软件,就可以完成下载、烧写、调试等任务。 OpenJTAG 的外观及性能见图 1.1、表 1.1,它含有 3 大功能:USB 转串口,USB 转 JTAG, 在线调试。无论是台式机,还是缺乏串口、并口的笔记本,都可以使用。 – 3 – 图 1.1 OpenJTAG 的外观 Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
www.linuxidc.com 表 1.1 OpenJTAG 套件的性能 USB 转 JTAG/USB 转串口/在线调试 USB JTAG 串口 硬件特点 USB2.0 全速接口 使用 USB 电源 即插即用 IEEE 1149.1 标准 最大速率 6Mbits/sec 是并口 JTAG 的 150 倍 Multi-ICE 10-pin 插座 Multi-ICE 20-pin 插座 自适应支持目标系统电压:1.2~5V RS232 标准 7 或 8 位数据位 1 或 2 位停止位 奇校验/偶校验/标志位/空位/无校验 最大波特率 235Kbps 在线调试功能 支持的多种 CPU 系列:ARM7, ARM9, Cortex-M3, XSCALE 软件特点 ·Eclipse 集成开发环境的安装程序及教程(Linux/Windows 版) ·在线调试器 OpenOCD 的安装程序及教程(Linux/Windows 版) ·实时调试功能:单步、全速运行、复位、软/硬件断点、跳转等 ·CPU 寄存器、存储器、变量观察窗口:动态变化,实时察看 ·支持 ARM 内置的 Cache 和 MMU 功能 ·在线烧写多种 Nor Flash 和 Nand Flash ·驱动程序:支持 Linux 2.4 或更高版本, Windows ME, 2000, Server 2003, XP – 4 – Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
www.linuxidc.com USB 转 JTAG/USB 转串口/在线调试 OpenJTAG 上两个 JTAG 座子的引脚定义如图 1.2 所示。 图 1.2 JTAG 座子的引脚定义 – 5 – Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
www.linuxidc.com USB 转 JTAG/USB 转串口/在线调试 1.2 嵌入式软件的交叉开发系统 一套完整的交叉开发系统从上到下,可以分为 4 个部件:集成开发环境(IDE,Integrated Development Environment,比如 Eclipse)、交叉编译工具链、一个接收各种操作命令(复位、 暂停、读/写等)的守护进程(Daemon program,如 OpenOCD)、用来连接 PC 与单板的 JTAG 接 口板。 它们的联系可以用图 1.3 来表示,下面详细介绍。 图 1.3 交叉开发系统的 4 层结构 交叉编译工具链是嵌入式开发中最核心的工具,它被用来编译、链接、调试程序。在集 成开发环境出现之前,我们通常是先使用其他编辑工具(比如记事本、Source Insight 等)写好 代码,然后通过命令行进行编译、链接。 集成开发环境将各种命令“封装”起来,通过各种按钮就可以编译、调试程序;它还提 供一个现代化的软件编辑器。Eclipse 的操作界面如图 1.4 所示。 – 6 – Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
www.linuxidc.com USB 转 JTAG/USB 转串口/在线调试 图 1.4 Eclipse 的操作界面 下面以一个例子来看看 Eclipse 是如何与交叉编译工具链协同,来编译、链接程序的。 在图 1.4 的“工程窗口”中有一个“Makefile”文件,Eclipse 根据它来调用交叉编译工具 链。Makefile 内容如下: objs := head.o init.o leds.o all : $(objs) arm-elf-ld -Tmmu.lds -o mmu_elf $^ arm-elf-objcopy -O binary -S mmu_elf mmu.bin arm-elf-objdump -D -m arm mmu_elf > mmu.dis arm-elf-gcc -Wall -g -c -o $@ $< arm-elf-gcc -Wall -g -c -o $@ $< %.o:%.c %.o:%.S clean: rm -f mmu.bin mmu_elf mmu.dis *.o 当在 Eclipse 里按下“Build All”、“Build Project”按钮时,就相当于在命令行里执行“make all”命令,它根据 Makefile 的指示编译出 head.o、init.o、leds.o,然后链接成 elf 格式的可执 行文件 mmu_elf,最后制作二进制可执行文件 mmu.bin、制作反汇编文件 mmu.dis。 – 7 – Linux公社(LinuxIDC.com) 是包括Ubuntu,Fedora,SUSE技术,最新IT资讯等Linux专业类网站。
分享到:
收藏