cross compile gdbserver
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的更多相关文章
- 产品中 configure/cross compile的一个bug
		在mac机上, 为iPhone版本编译产品. 运行./configure报错如下: configure:22793: error: cannot run test program while cros ... 
- Cross compile perl
		Alex Suykov had do some work for this purpose, and my compile script is based on her patch. Steps St ... 
- cross compile  vlc 播放器
		上一篇文章介绍了如何交叉编译 FFmpeg ,继续介绍 VLC播放器 交叉编译 . 首先下载 vlc 源码 我用的是 2.2.6 地址 : http://mirrors.neusoft.edu ... 
- aarch64  cross compile 交叉编译  opencv
		需求 : linux host : UBUNTU opencv source : opencv 3.3.1.zip CMAKE : apt-get install cmake cmake-qt- ... 
- 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 & ... 
- [cross compile]cygwin和mingw
		转自:http://blog.csdn.net/embededvc/article/details/6829010 1. MinGW和CygWin/gcc概念 Unix下编译通过的C代码,在win32 ... 
- Cross compile openwrt
		在Centos7上交叉编译生成OpenWrt固件 安装ss-* 获取最新的ss, 当前是 wget https://github.com/shadowsocks/shadowsocks-libev/a ... 
- Qt5 CMake cross compile
		cmake_minimum_required(VERSION 2.8) if (${ARM}) set(CMAKE_SYSTEM_NAME Linux) set(CMAKE_SYSTEM_PROCES ... 
- 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 ... 
随机推荐
- ubuntu16.04  HyperLedger Fabric 1.2.0 开发环境搭建
			安装准备 1. 安装git.cRUL.gcc/g++和make $ sudo apt-get update $ sudo apt-get install build-essential git cur ... 
- JavaScript最后的课程笔记
			一.快捷位置和尺寸 DOM已经提供给我们计算后的样式,但是还觉得不方便,所以DOM又提供给我们一些API: ele.offsetLeft ele.offsetTop ele.offsetWidth e ... 
- MySQL-exists和in的区别
			SQL查询中in和exists的区别分析 对于一些不可不免的查询场景,我们难免要用到子查询 那么in和exists那个的效率更高一点呢 SQL查询中in和exists的区别分析 select * fr ... 
- c#调用python代码
			c#调用python的方法比较多,比如ironpython,尽管不用安装python环境,可是不兼容python众多的包,也只更新到了python2,通过创建python进程这种方式可以很好的解决兼容 ... 
- RESTful levels、HATEOAS
			概述: REST(英文:Representational State Transfer,简称REST)描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fiel ... 
- 再说项目 Dec 27th 2018
			其实对于任何项目来说,最难不是开发或者系统等技术的问题,反而是需求的问题,需求一直变,一直定不下来,导致流程变来变去,系统方案层面也确定不下来.而需求的问题,归根结底还是人的问题.项目的关键用户对现有 ... 
- sCMOS相机调试参考资料
			sCMOS相机调试参考资料 实验室调试sCMOS传感器,特此记录一下网上搜集的资料. 来自比利时的AXIOM开源相机公司:https://wiki.apertus.org/index.php/Sens ... 
- java封装的概念学习笔记
			继承.封装.多态.抽象是面向对象编程的四大基本概念,其中封装装为重要,因为从我们学习JAVA开始,就基本上接触了封装,因为JAVA中的所有程序都是写在类中的,类也能当做一种封装. 在面向对象中封装 ... 
- Postman runner参数化
			按照下面图片的顺序操作吧~ lets go 1.把要做参数化的字段的value用花括号标识起来,如:{{phone}} 2.准备一个csv的文件,把每次请求接口的参数按下图填写好,第一行写字段名称(p ... 
- layer.open参数;layer.open关闭事件;layer.open关闭刷新;layer.open获取子页的值;layer.open调用子页面的方法
			父页面 function layerOpen() { layer.open({ type: 2, shade: [0], title: "验收申请", area: ['1024px ... 
