Part1 环境搭建和工具安装

1.1 设置交叉编译环境

安装相关的编译工具:

sudo apt-get install  build-essential gcc-arm-linux-gnueabi

这里我使用的是ubuntu系统源中含有的gcc-arm-linux-gnueabi系列工具,安装完成后具有如下工具:

arm-linux-gnueabi-addr2line       arm-linux-gnueabi-gcc             arm-linux-gnueabi-gprof           arm-linux-gnueabi-ranlib
arm-linux-gnueabi-ar arm-linux-gnueabi-gcc-4.7 arm-linux-gnueabi-ld arm-linux-gnueabi-readelf
arm-linux-gnueabi-as arm-linux-gnueabi-gcc-ar-4.7 arm-linux-gnueabi-ld.bfd arm-linux-gnueabi-size
arm-linux-gnueabi-c++filt arm-linux-gnueabi-gcc-nm-4.7 arm-linux-gnueabi-ld.gold arm-linux-gnueabi-strings
arm-linux-gnueabi-cpp arm-linux-gnueabi-gcc-ranlib-4.7 arm-linux-gnueabi-nm arm-linux-gnueabi-strip
arm-linux-gnueabi-cpp-4.7 arm-linux-gnueabi-gcov arm-linux-gnueabi-objcopy
arm-linux-gnueabi-elfedit arm-linux-gnueabi-gcov-4.7 arm-linux-gnueabi-objdump

注意在使用make进行编译源码的时候,设置CROSS_COMPILE参数为: arm-linux-gnueabi-

make CROSS_COMPILE=arm-linux-gnueabi-

1.2 安装针对arm的gdb

1.2.1 到gdb官网下载源码

由于ubuntu下没有编译好的针对arm平台的gdb,故可以去官网下载: http://ftp.gnu.org/gnu/gdb/ , 可以先通过gdb -v 查看系统合适的版本;

$gdb -v
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) Free Software Foundation, Inc.
License GPLv3+: GNU GPL version or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
$wget http://ftp.gnu.org/gnu/gdb/gdb-7.5.tar.bz2

1.2.2 编译和安装

编译和安装gdb,注意设置目标平台为arm-linux, 另外注意下面红色参数:“--program-prefix=arm-linux-”,该参数使安装后的程序名字为arm-linux-gdb, 防止与系统已经安装的gdb重名;

$tar xjf gdb-7.5.tar.bz2
$cd gdb-7.5/
$./configure --target=arm-linux --program-prefix=arm-linux-
$sudo make install

后续可以直接通过命令行 arm-linux-gdb来调用该调试器;

1.3 下载和使用linux版JLink

可以使用JLINK上的序列号进行下载,网址如下:

http://www.segger.com/cms/jlink-software.html

http://www.segger.com/cms/jlink-software.html?step=2&file=JLinkLinux_450i

解压后,连接好开发板,运行Jlink目录中的start脚本或者JLinkExe程序,就可以看到连接成功的消息:

usb为jlink支持的命令,表示从usb连接,更多命令可以通过输入 ? 获得。

J-Link>usb
Connecting to J-Link via USB (Port: )
Updating firmware: J-Link ARM V8 compiled Jun ::
Replacing firmware: J-Link ARM V8 compiled Jan ::
Waiting for new firmware to boot
New firmware booted successfully
DLL version V4.50i, compiled Jun ::
Firmware: J-Link ARM V8 compiled Jun ::
Hardware: V8.
S/N:
Feature(s): RDI,FlashDL,FlashBP,JFlash
VTarget = .000V
J-Link>

Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序的更多相关文章

  1. 基于LPCXpresso54608开发板创建Embedded Wizard UI应用程序

    平台集成和构建开发环境:LPCXpresso 54608入门指南 本文主要介绍了创建一个适用于LPCXpresso54608开发板的Embedded Wizard UI应用程序所需的所有必要步骤.请一 ...

  2. ubuntu12.04下NFS链接开发板并测试交叉编译的第一个应用

    思路:配置网络->安装NFS->配置NFS->挂载NFS服务->Down文件执行.Okay lets go! 配置网络: 在配置网络之前,首先咱得搞定与开发板的交互工作,那么这 ...

  3. SecureCRT连接开发板 串口传输、tftp传输

    1.串口传输 使用命令:rx  r是service, x是X-model模式 ①.rx 文件名 再按Enter键 ②.将需要传到板子上的文件 拖到SecureCRT里面,选择发送X-model选项 注 ...

  4. ubuntu12.04下CKermit与开发板交互环境搭建

    CKermit蛮好的一个调试工具!就像在windows下的telnet,但是还是折腾了一下,现在看来,非常容易,其实我主要是在开发板为正常工作的情况下,以为是CKermit的问题,其实是我开发板开机设 ...

  5. 织女星开发板启动模式修改——从ARM M4核启动

    前言 刚开始玩织女星开发板的时候,想先从熟悉的ARM核入手,连上Jlink,打开MDK版本的Demo程序,编译OK,却检测不到芯片,仔细看了一下文档,原来RV32M1芯片默认从RISC-V核启动,如果 ...

  6. 2-学习GPRS_Air202(Air202开发板介绍和下载第一个程序)

    http://www.cnblogs.com/yangfengwu/p/8887933.html 资料链接 链接:https://pan.baidu.com/s/1968t2QITuxoyXlE_Nz ...

  7. 迅为-IMX6开发板Android Eclipse 导入Led应用程序工程

    本小节给大家详细讲解如何导入 Android 应用的工程文件.先解压迅为“iTOP-IMX6-Android4.4-LED 测试程序 r”压缩包.如下图所示,解压出ledtest 文件夹.<ig ...

  8. 【HC89S003F4开发板】 3串口调试

    HC89S003F4开发板串口调试 使用资料自带的demo 主程序 /************************************系统初始化************************ ...

  9. IMX6开发板qt creator直接编译ARM架构程序

    除了通过 11.2.2 小节通过命令行的操作来编译在 iTOP-imx6 开发板上运行的程序,还可以直接在 qtcreator 上设置,然后每次编译的程序都可以在开发板上运行.如下图所示,打开 qtc ...

随机推荐

  1. Java数据库表自动转化为PO对象

    本程序简单实现了数据库内省,生成PO对象. 数据库内省有如下两种实现方式: 通过mysql元表 通过desc table,show tables等命令 import java.io.IOExcepti ...

  2. Python 随机数 random

    1. Python seed() 函数     seed() 方法改变随机数生成器的种子,可以在调用其他随机模块函数之前调用此函数. seed( )是不能直接访问的,需要导入 random 模块,然后 ...

  3. 在js或css后加?v= 版本号不让浏览器缓存

    客户端会缓存css或js文件,改变版本号,客户端浏览器就会重新下载新的js或css文件,在js或css后加?v= 版本号的用法如下 代码如下: <span style="font-si ...

  4. pythonl练习笔记——python线程的GIL

    python线程中的全局解释器锁GIL(Global Interpreter Lock) python-->支持多线程-->同步和互斥-->加锁-->解释器加锁-->解释 ...

  5. -no-xrender will disable the qtwebkit

    -no-xrender will disable the qtwebkit         apt-get install libxrender-dev 来自为知笔记(Wiz)

  6. RHCE7 管理II-6ACL的使用

    ACL允许向文件分配细化的权限.除标准的文件所有者.组所有者.和其他文件权限之外,还可以指定用户或组,以及uid或guid确定的用户和组授予权限. 命令: ·setfacl 设置acl策略 ·getf ...

  7. Shell中重定向&lt;&lt;EOF注意事项

    作者:iamlaosong 我们常常在shell脚本程序中用<<EOF重定向输入.将我们输入的命令字符串作为一个运行程序的输入,这样,我们就不须要在那个程序环境中手工输入命令,以便自己主动 ...

  8. VC获得window操作系统版本号, 获取操作系统位数

    原文链接: http://www.greensoftcode.net/techntxt/2014315195331643021849 #include <Windows.h>include ...

  9. 锻造完美U盘小偷:活用消息机制

    锻造完美U盘小偷:活用消息机制作者:灰狐来源:灰狐's Blog 注:本文已发表在<黑客防线>2008年第1期,转载请注明出处. 以前经常看到有人做出一些蛮有意思的小工具,其中最多的似乎就 ...

  10. Spring注解方式配置说明

    1.<context:annotation-config/>与<context:component-scan base-package=”XX.XX”/> 在基于主机方式配置S ...