arm单板上移植gdb
虚拟机 : vmware 12
image: ubuntukylin 14.04.1
系统版本:Linux dancy 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:12 UTC 2014 i686 i686 i686 GNU/Linux
虚拟机安装好之后,安装一下基本的工具环境
sudo apt-get update
sudo apt-get install build-essential
arm交叉编译工具链: arm-none-linux-gnueabi , 下载地址 http://www.veryarm.com/cross-tools ,选择 2012.09 月的版本
gdb 源码下载地址: http://ftp.gnu.org/gnu/gdb/
我下载了 gdb-7.4.1.tar.bz2 ,解压进入代码目录:
./configure --host=arm-none-linux-gnueabi
貌似很正常,开始make
然而过了一会,就会出现
configure: WARNING: no enhanced curses library found; disabling TUI
checking for library containing tgetent... no
configure: error: no termcap library found
网上找了很多方法,都不管用
比如安装ncurses库: sudo apt-get install libncurses5-dev, 装了也没用
比如下载 termcap-1.3.1.tar.gz 编译 放入到 工具链的 /lib目录,比如 /home/arm-2012.09/arm-none-linux-gnueabi/lib 也是没用的,于是我仔细的想上面的错误信息,在configure的过程里,应该首先是使用ncurses库,没找到呢,也不会继续找termcap库,所以
下载 ncurses-5.5-tar.gz 编译安装如下,这个问题总算解决了。
下载地址: http://ftp.gnu.org/gnu/ncurses/
./configure --host=arm-none-linux-gnueabi --prefix=/home/arm-2012.09/arm-none-linux-gnueabi
make
make install
这个时候,再去make gdb就不会出上面的错误了,然而事情并不会那么简单,后面会继续出现新的问题。
In file included from arm-linux-nat.c:25:0:
linux-nat.h:79:18: error: field 'siginfo' has incomplete type
arm-linux-nat.c: In function 'arm_linux_stopped_data_address':
arm-linux-nat.c:1141:23: error: dereferencing pointer to incomplete type
arm-linux-nat.c:1144:16: error: dereferencing pointer to incomplete type
arm-linux-nat.c:1145:20: error: dereferencing pointer to incomplete type
arm-linux-nat.c:1157:46: error: dereferencing pointer to incomplete type
这里应该是源码跟linux系统的头文件匹配不上啦,有人建议修改这个siginfo为siginfo_t这个结构体,但是我觉得没必要去修改了,直接下载了 gdb-7.6.1.tar.gz 编译OK
编译命令:
./configure --host=arm-none-linux-gnueabi
make
make install
然后在源码的gdb目录就可以看到gdb可执行文件:
dancy@dancy:~/downloads/gdb-7.6.1/gdb$ file gdb
gdb: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.16, not stripped
arm单板上移植gdb的更多相关文章
- zedboard上移植OPENCV库
zedboard上移植OPENCV库 之前做了很多移植OPENCV库的工作,但是需要包含的各种库,需要交叉编译,X264 ,JPGE ,FFMPGE等等 注意:在<嵌入式系统软硬件协同设计实战指 ...
- 在HI3531上移植和运行QT4.8.6
在HI3531上移植和运行QT4.8.6 1. 前言: 近段有点时间,想把QT移植到HI3531上,在网上查找了很多资料,但都不是很全面,有些有问题也没有得到很好的体现. 2. ...
- I.mx6s上移植wm8960驱动(基于linux3.0.101版本)
I.mx6s上移植wm8960驱动 此篇博文只记录移植的步骤,其他不做分析.首先上一张wm8960的硬件连接图: 1 上电操作 配置wm8960的上电脚,文件位置:arch/arm/mach ...
- QT-Embedded-4.5.3在海思35xx上移植
QT4.5.3在海思3520A上移植步骤-修订版 2015年3月29日星期日, 16:59:03 1.首先要保证已经安装了海思的交叉编译器: #arm-hi + Tab key to show wh ...
- 在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南
昨天在B站上突然看到了一个短视频,是在正点原子的战舰V3开发板上移植华为的Huawei LiteOS操作系统,就是这个视频:看完鸿蒙OS发布会,试用华为的物联网操作系统Lite OS(B站),于是呢, ...
- 编译在arm板上使用的sqlite3的静动态库
采用的是sqlite-autoconf-3080002.tar.gz 解压 tar xvf sqlite-autoconf-3080002.tar.gz 进入 cd sqlite-autoconf-3 ...
- 在MacOS上使用gdb(cgdb)调试Golang程序
如果你在MacOS上使用GDB工具载入Golang程序时无法载入,这篇文章可以解决.本文不具体介绍调试的方法,网上的文章太多了就不赘述了. cgdb使用的是gdb的内核,方法和原理试用本文. 问题分析 ...
- .net core在Linux ARM板上运行
最近接了个临时任务,给别的项目组的机器人平台上开发个小程序,那机器人上跑的是ARM平台,ubuntu的系统. 本来打算用C++写的,由于最近用.net core较多,鉴于其在linux平台良好的兼容性 ...
- [ssh]如何设计ARM板上多用户key登录系统
如何设计ARM板上多用户key登录系统
随机推荐
- React性能优化总结(转)
原文链接: https://segmentfault.com/a/1190000007811296?utm_source=tuicool&utm_medium=referral 初学者对Rea ...
- 解决ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)【亲测有效】
文件转自:https://blog.csdn.net/hua1011161696/article/details/80666025 问题:(MySQL 5.6社区版windows版) 忘记密码或其他一 ...
- Graylog2日志服务安装配置
软件版本: mongodb-org-3.2.10 jdk-1.8.0 (推荐rpm包,不然要修改Graylog启动脚本定义的JAVA命令路径) elasticsearch-2.4.1 (Graylog ...
- 使用virtual安装Windows系列操作系统总结
最近在安装Windows操作系统的过程中,发现总是报错,无法安装成功,后来经过不断地摸索,发现根本的问题在于镜像,所以在以后的大文件传输下载后,一定要校验其MD5值是否与源文件一致,需要的朋友可以联系 ...
- HTTP学习之HTTP基础
学习HTTP技术,首先要了解它的在web通信中有哪些特点,起到什么作用.有哪些规范.都有什么功能. HTTP的特点 HTTP使用的是一种可靠的.快速响应的数据传输协议,用户一旦发起请求,Web服务器可 ...
- PHP中的面向对象魔术方法大全
1.__construct 构造方法 2.__destruct 析构方法 3.__get 获取成员值 4.__set 设定成员值 5.__isset 判断成员值 6.__unset unset成员 ...
- HyperLedger Fabric 1.4 区块链应用场景(3.1)
比特币是区块链应用最早的场景,随着比特币安全稳定运行多年以后,数字货币的场景应用遍地开花,各种山寨币泛滥,通过ICO(Initial Coin Offering 首次币发行)就能融到大量资金,上市后的 ...
- 【Java】关于Spring框架的总结 (三)
前文对 Spring IoC 和 Spring AOP 的实现方法进行了整合.如果有不明白的或有质疑的地方可以评论出来,一起探讨问题,帮助别人也是帮助自己!本文探讨的中心主要放在 Spring 的注解 ...
- Android log 里面快速搜索错误堆栈 ( 关键字)
有时候,别人给你的log 文件,是一个文件夹,里面放了很多文件.但是可能你需要的log 只有几行.这时候不可能手工搜索的. 那怎么办呢?使用FileLocationPro.下载地址: https:// ...
- ORB-SLAM (四)tracking单目初始化
单目初始化以及通过三角化恢复出地图点 单目的初始化有专门的初始化器,只有连续的两帧特征点均>100个才能够成功构建初始化器. ); 若成功获取满足特征点匹配条件的连续两帧,并行计算分解基础矩阵和 ...