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 ...
随机推荐
- 学习python第三天
变量的命名规范 1.只能有 字母 数字 及_组成 2.不能以数字开头 3.避免与系统关键词重名:重名不会报错,但系统的功能就被自定义的功能屏蔽掉了(严重不建议这样做) 4._开头的变量都有特出含义 5 ...
- 通过 Composer 安装 Laravel 安装器
composer global require "laravel/installer" linux下确保 $HOME/.composer/vendor/bin 在系统路径中(Mac ...
- 常用内置函数_eval_exce
内置函数 abs 绝对值函数 res = abs(-19) print(res) round 四舍五入(n.5时, 奇数进偶数不进) sum 计算序列的和(元素是数字类型) listvar = (1, ...
- Python基础之re模块
什么是模块? 为了编写可维护的代码,我们把很多的函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很多编程语言都采用这种组织代码的方式,在Python中,一个.py文件就称为一个模块 ...
- Linux中docker的使用
# 列出当前所有正在运行的容器$ docker ps # 列出所有的容器$ docker ps -a # 列出最近一次启动的容器$ docker ps -l # 查看容器的相关信息$ docker i ...
- springCloud 服务注册启动报错<com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect>
报错:com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: ...
- Android 开发 Fresco框架点击小图显示全屏大图实现 ZoomableDraweeView
目标需求 实现一张小图片,被点击后变成一个在整个屏幕上显示的大图片.类似于微信朋友圈的图片. 实现流程 1.Fresco基本初始化 2.下载并且导入ZoomableDraweeView 它是实现大图的 ...
- 虚拟机Ubuntu18.04——gcc版本的升降
致读者:这是本人第一篇博客,小试牛刀,希望能在以后的道路中分享出更多实用的技巧和知识,大家一起进步. 操作环境: VMware Workstation 14Pro .64位Ubuntu18.04系统 ...
- orcal - 子查询
where 单行单列 SELECT AVG(sal) from emp; SELECT * FROM EMP WHERE sal <(SELECT AVG(sal) from emp); 单行多 ...
- Android Jetpack 组建介绍(一)——Lifecycler
转自带你领略Android Jetpack组件的魅力 Android Jetpack 对于任何一个产品来说,我们开发中都会面对哪些问题?如:产品交互.用户体验.代码结构.数据获取.数据存储.网络优化. ...