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. laravel-admin安装时执行php arisan admin:install 命令时报SQLSTATE[42000]: Syntax error or acce ss violation: 1071 Specified key was too long; max key length is 1000 bytes

    问题根源 MySql支持的utf8编码最大字符长度为3字节,如果遇到4字节的宽字符就会出现插入异常.三个字节UTF-8最大能编码的Unicode字符是0xffff,即Unicode中的基本多文种平面( ...

  2. 一个tomcat下部署不同端口多个应用

    通过配置tmcat的server.xml来实现多端口多应用: <?xml version='1.0' encoding='utf-8'?> <Server port="80 ...

  3. Tomcat中acceptCount,maxConnections、maxThreads的含义及关系

    个人对tomcat连接器3个属性maxConnections.maxThreads.acceptCount的理解: 先摘取官网对这3个属性的描述: acceptCount The maximum qu ...

  4. 离线手动部署docker镜像仓库——harbor仓库(HTTPS)

    实验环境: harbor服务器系统:CentOS Linux release 7.5.1804 (Core)harbor服务器IP:10.1.12.114harbor版本:v1.5.0docker版本 ...

  5. Centos7开机启动自己的脚本的方法

    在百度上可以找到好几种Linux开机启动各种服务的方法,在这里我写的是自己喜欢的方式. 博主是一个不怎么记事的人,有些配置在系统的目录下,配置了一次后就忘了,再也不想去系统的目录下找各种奇奇怪怪的目录 ...

  6. c++字节对齐

    参考URL: http://blog.csdn.net/hairetz/article/details/4084088 0 字节对齐的意义按我的理解是便于cpu一次取完所有数据, 提高代码的执行效 1 ...

  7. 随手用JQ写个选项卡

    <div class="box"> <ul> <li class="one">选项卡1</li> <li& ...

  8. php生成带参数二维码

    1.PHPqrCode是一个PHP二维码生成类库,利用它可以轻松生成二维码,官网提供了下载和多个演示demo, https://sourceforge.net/projects/phpqrcode/ ...

  9. leetcode《按递增顺序显示卡牌》

    题目描述: 牌组中的每张卡牌都对应有一个唯一的整数.你可以按你想要的顺序对这套卡片进行排序. 最初,这些卡牌在牌组里是正面朝下的(即,未显示状态). 现在,重复执行以下步骤,直到显示所有卡牌为止: 从 ...

  10. C#;DataTable添加列;DataTable转List泛型集合;List泛型集合转DataTable泛型集合;

    给DataTable添加列 string sql = "select * from cgpmb order by code"; DataTable dt = Bobole.Data ...