历史上的今天
今天是:2024年12月17日(星期二)
2019年12月17日 | Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序
2019-12-17 来源:eefocus
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) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 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: $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: 0) Updating firmware: J-Link ARM V8 compiled Jun 19 2012 11:29:30 Replacing firmware: J-Link ARM V8 compiled Jan 31 2011 18:34:52 Waiting for new firmware to boot New firmware booted successfully DLL version V4.50i, compiled Jun 22 2012 19:00:36 Firmware: J-Link ARM V8 compiled Jun 19 2012 11:29:30 Hardware: V8.00 S/N: 17892859 Feature(s): RDI,FlashDL,FlashBP,JFlash VTarget = 0.000V J-Link>
史海拾趣
|
我们在项目中更换了DRAM,所以需要重新配置S3C6410的DRAM控制器,结果发现S3C6410中的DRAM控制器还是挺复杂的。 S3C6410支持两个DRAM片选,可以分别接最大256MB的内存,该处理器用的DRAM控制器是来自ARM的PrimeCell Dynamic Memory Contro ...… 查看全部问答> |
|
求以下二本书: 书名:嵌入式实时操作系统μC/OSII (第2版) (美) Jean J.Labrosse著 邵贝贝等译 责任编辑 王瑛 ISBN 7-81077-290-2 开本:787×1092 1/16 字数: 979千字 定价:79.00元 2003年5月第1版 2003年5月第1次印刷 购买 ...… 查看全部问答> |
|
此文件内的_MMI_TEXT_ID_E枚举变量内, 定义的ID顺序改变会影响最终编译结果。 但是,我没有发现特殊用法,都是当作标准枚举变量使用的。。 有做过MTK的高手解答下吗… 查看全部问答> |
|
原理图感觉有点不对啊 ENTER按键怎么和编码器的5脚连起来了?? 显示部分已经有框架了,就等测试了 现在考虑一下输入部分的软件接口问题 是用一个函数来取得输入呢还是使用一个全局变量来取得 1.函数方式 Uint6 getInpu ...… 查看全部问答> |
|
悲剧了~只有80分~ SIMPLE SWITCHER易电源电源模块不仅可提供强劲的系统性能,而且EMI低和高度可靠,适用于现今尖端的3G/HD/SD广播视频设备。该电源模块将控制电路,屏蔽式电感器,MOSFET和细小的无源组件集成到一个简单易用的封装内,以便简化设计 ...… 查看全部问答> |
|
Mbed开始支持美信的MAXWSNENV,主要特点有: 提供方便的BLE平台板载温度、湿度、光照、气压传感器低功率可以延长电池使用时间mbed 中间层接口提供快速开发板载按钮开关和三彩色LED https://developer.mbed.org/platforms/MAXWSNENV/ … 查看全部问答> |




