1. 下载gdb源码,7.12版本,下载地址:ftp://ftp.gnu.org/gnu/gdb。
2. 编译gdb:
0> cd gdb-7.12
1> mkdir __install
2> ./configure --target=arm-linux --enable-shared --prefix=\$(pwd)/__install --without-x --disable-gdbtk --disable-tui --without-included-regex --without-included-gettext
3> make && make install
4> 可以看到gdb-7.12/gdb/下面有编译成功的gdb程序。
3. 编译gdbserver:
0> export PATH=/path to/__install/bin:$PATH 将上一步编的gdb添加环境变量。
1> cd gdb-7.12/gdb/gdbserver
2> vim linux-arm-low.c,添加如下代码:
#ifndef __NR_sigreturn
#include "/path to/asm/unistd.h"
#endif
源码有错误,找不到__NR_sigreturn定义,故而需要我们在板子系统交叉编译库里找到这个定义。
3> ./configure --target=arm-linux --host=arm-linux CC=/path to/arm-himix200-linux-gcc CXX=/path to/arm-himix200-linux-g++ AR=/path to/arm-himix200-linux-ar
需要注意的是,这里的target是arm-linux,根据板子系统而定。后面的CC、CXX、AR要使用板子系统对应的gnu版本编译器,用来交叉编译。
4> make
5> 可以看到gdb-7.12/gdb/gdbserver下面有编译成功的gdbserver程序。
4. 然后把gdbserver丢到板子上用,gdb留pc机上用,大功告成。

cross compile gdbserver的更多相关文章

  1. 产品中 configure/cross compile的一个bug

    在mac机上, 为iPhone版本编译产品. 运行./configure报错如下: configure:22793: error: cannot run test program while cros ...

  2. Cross compile perl

    Alex Suykov had do some work for this purpose, and my compile script is based on her patch. Steps St ...

  3. cross compile vlc 播放器

    上一篇文章介绍了如何交叉编译 FFmpeg ,继续介绍  VLC播放器  交叉编译 . 首先下载 vlc 源码  我用的是 2.2.6  地址 : http://mirrors.neusoft.edu ...

  4. aarch64 cross compile 交叉编译 opencv

    需求 : linux host :  UBUNTU opencv source : opencv 3.3.1.zip CMAKE  :  apt-get install cmake cmake-qt- ...

  5. static cross compile gtk-2.16.6+gtk-directfb+arm-linux (arm-linux-gcc-3.4.4+glib-2.3.5)

    ----------------------------------------------------------------------- In Ubuntu 10.4 Desktop and & ...

  6. [cross compile]cygwin和mingw

    转自:http://blog.csdn.net/embededvc/article/details/6829010 1. MinGW和CygWin/gcc概念 Unix下编译通过的C代码,在win32 ...

  7. Cross compile openwrt

    在Centos7上交叉编译生成OpenWrt固件 安装ss-* 获取最新的ss, 当前是 wget https://github.com/shadowsocks/shadowsocks-libev/a ...

  8. Qt5 CMake cross compile

    cmake_minimum_required(VERSION 2.8) if (${ARM}) set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCES ...

  9. build-qt.sh(Cross compile in Linux for Windows)

    #!/bin/bash set -e MINGW=${MINGW:-${ARCH:-x86_64}-w64-mingw32} PREFIX=${PREFIX:-usr} WORKSPACE=${WOR ...

随机推荐

  1. 二、初步认识springBoot的pom.xml

    1.  大体结构 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www. ...

  2. Qt文件系统之QFile

    QFile文件操作 文件打开方式: QIODevice::NotOpen    0x0000   设备不打开.QIODevice::ReadOnly    0x0001   设备 以只读的方式打开.Q ...

  3. docker环境安装与开启远程访问

    一,安装docker 1,服务器安装 docker yum install docker 直接yum安装版本太低 2,卸载:老版本的Docker在yum中名称为docker或docker-engine ...

  4. 初学者常用的LINUX命令

    测试初学者常用的LINUX命令 一.常用管理命令:1. shutdown -h now 关机命令2. shutdown -r now (reboot) 立即重启命令 3. clear 清屏命令 4. ...

  5. 4DAY权限管理-2018-04-27

    0xff001 基本权限UGO 1.描述 ​ 文件权限设置,可以赋予莫个用户或组能够以何种方式 访问某个文件 2.权限对象U\G\O(属主\属组\其他人) 例如:[root@localhost ~]# ...

  6. (转)K-近邻算法(KNN)

    K-近邻算法(KNN)概述  KNN是通过测量不同特征值之间的距离进行分类.它的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别 ...

  7. MIUI6系统详细卡刷开发版获得root权限的经验

    小米的手机不同手机型号通常情况miui论坛都提供两个不同的版本,分别为稳定版和开发版,稳定版没有提供ROOT权限管理,开发版中就开启了ROOT权限,很多情况下我们需要使用的一些功能强大的App,都需要 ...

  8. win10、Ubuntu14.04双系统正确卸载Ubuntu的方法

    参考博客:http://www.cnblogs.com/xia-Autumn/p/6294055.html 问题描述:由于python问题Ubuntu系统崩了,登录之后无法进入桌面.重装桌面时报错,无 ...

  9. django之注册登录

    清理session数据,自此django的认证登陆登出功能完成,但是此处有个问题,就是当用户在手动关闭浏览器的时候,session数据不会自动失效,数据库的session数据也不会自动删除,所以需要在 ...

  10. 前端生成excel

    一:安装依赖 1:在package.json 中加入四个依赖包 (1): "json2csv": "^3.11.0", (2):"file-saver ...