建立ARM+Linux应用程序调试环境

ARM Linux 交叉调试工具及方法 ARM Linux 交叉调试工具及方法 一、交叉调试工具 1、主机 : arm-linux-gdb 2、 arm: gdbserver 在开发主机上运行 arm-linux-gdb 程序,可以通过串口或网口与驻留在 ARM 开发板上的 gdbserver 程序进行通信,完成 ARM 开发板上应用程序的调试和跟踪。 二、交叉调试工具的生成 1、下载 gdb 源码 要完成交叉调 阅读详情

http://blog.youkuaiyun.com/dinitial/archive/2009/02/22/3923559.aspx

Gdb+gdbserver+insight环境的搭建

1.    下载gdb源代码    http://ftp.gnu.org/gnu/gdb/

 

2.    配置安装gdb+gdbser

$ tar jxvf gdb-6.6.tar.bz2

$ cd x/gdb

$ ./configure --target=arm-linux --prefix=/usr/local/arm-gdb –v

      --prefix用于指定安装路径

      --target=arm-linux 用于制定目标环境的编译

编译, $ make

安装, $ sudo make install

之后在x/bin文件夹下生成arm-linx-gdb可执行文件.

$ cd gdbserver

配置文件:

$ ./configure --target=arm-linux --host=arm-linux
(--target=arm-linux表示目标平台,--host表示主机端运行的是arm-linux-gdb,不 需要配置—prefix,因为gdbserver不在主机端安装运行)

$ make CC=/usr/local/arm/2.95.3/bin/arm-linux-gcc
(这一步要指定你自己的arm-linux-gcc的绝对位置,相对的通常不行,提示make: arm-linux-gcc: Command not found,如果用的相对路径,即直接赋值arm-linux-gcc,可采取make时传递参数,也可以直接修改gdbserver目录下的Makefile文件中的环境变量CC)

之后在gdbserver目录下生成gdbserver可执行文件.

可将它通过nfs拷贝到目标板上运行.

如:mount –t nfs host:/friendly-arm/root /mnt –o ro,nolock

这里如果没有加上选项 –o ro,nolock 无法正常mount.

@在目标板上运行

      (1)将要调试的文件和gdbserver放在同一个文件夹下

            vivi> ./gdbserver  host:port  “待调试文件”

(2)在主机段执行 arm-linux-gdb “待调试文件”

    (gdb)target remote client:port     连接客户机

   注意:(1)在目标机上通过gdbserver调试的程序在gdbserver运行的时候已经运行了,并且其中不包含调试的符号信息,所以要想加入符号信息只能通过host运行的gdb加入含有调试信息的可执行文件。

           (2)刚开始的时候将./gdbserver下载到目标机后不能运行,其主要原因就是所制作的网络根文件系统缺少libthread_db.so.1库文件。但是发现lib中并没有该文件,只有一个链接文件,通过file命令查看:

          [root@localhost lib]# file libthread_db.so.1

          Libthread_db.so.1: symbolic link to libthread_db-1.0.so

          发现该链接文件链接到libthread_db-1.0.so该库文件,于是将文件libthread_db-1.0.so拷贝到根文件系统,然后改名为Libthread_db.so.1,之后gdbserver能正常运行了.

 

3.       安装gdb图形调试界面insight  (gtk 软件包)

下载地址:http://sourceware.org/insight/       版本为:insight-6.6.tar.bz2

$ tar  –jxvf  insight-6.6.tar.bz2

$ cd insight-6.6

配置文件:

$ ./configure --target=arm-linux --enable-sim --prefix=/usr/local/arm/insight

配置选项的解释同上.

  编译, $ make

  安装, $ sudo  make  install

注意:在第一次编译的时候老是出现问题,最后发现自己在装RedHat9.0的时候为了节省磁盘空间没有安装 gtk软件包,所以编译的时候会出错。但是在装了之后,再次编译insight-6.8.tar.bz2版本,出现了X参数未初始化的错误。然后重新换成insight-6.6.tar.bz2版本,编译成功,安装.

关于gdb远程调试参见:http://codex.wordpress.org.cn/GDB_Manual_17_1

 

剩下需要解决,就是busybox在minicom下如何终止程序的运行。

 

本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/dinitial/archive/2009/02/22/3923559.aspx

arm-linux下的多线程调试 gdb是UNIX及UNIX-like下的调试工具。在linux下开发的人一定不会陌生,在arm-linux下也有对应的调试版本。下面记录一下在工作中用到的一些在arm-linux下用gdb调试多线程的一些知识。 一、下载调试工具 工程中使用了arm-none-linux-gnueabi-gcc编译器,提供一个下载网站arm-none-linux-gnueabi-gcc。 安转以后执行 a 阅读详情

相关推荐

ARM Linux下的多线程调试: ARM开发

调试多线程程序:一旦程序开始执行,使用GDB的各种命令来跟踪和调试多线程程序,例如"info threads"查看当前线程列表,"thread 线程ID"切换到指定线程,"break 函数名"在函数开头设置断点,"step"逐步执行程序(进入函数),"next"逐步执行程序(不进入函数),"continue"继续执行程序,"print 变量名"打印变量的值。通过使用以上GDB命令,您可以在程序中设置断点,切换线程并逐步执行程序,以跟踪和调试多线程程序的执行过程。使用GDB的"run"命令来运行程序。

KwmGroovy的博客 470

arm linux gdb调试工具,arm-linux gdb调试工具的安装

开发环境:AT91SAM9X25开发板:安装linux2.6.39;pc的虚拟机:Linux version 2.6.18-194.el5 (gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) ,arm-linux-gcc的版本为version 4.4.3二、安装(1)解压:tarzxvfgdb-6.8a.tar.gz(2)配置安装gdb:cdgd...

weixin_30696571的博客 573

Linux ARM平台开发系列讲解(调试篇) 1.3.2 RK3399移植Ubuntu文件系统步骤

1. 概述由于项目需要,需要在RK3399上移植Ubuntu文件系统,前面章节也细讲过Ubuntu的移植,可以去参考本专栏的,当然本篇也会细讲RK3399上移植Ubuntu的过程。2. 文件系统下载Ubuntu的文件系统Ubuntu官方已经帮我们编译好了,我们只需要去做一些移植工作即可,镜像可以在Ubuntu官网下载,。如下图,下载版本。3. 解压Ubuntu文件Ubuntu03_ubunturoot4. 在主机Ubuntu里安装QEMUQEMU相当于要启动Ubuntu的虚拟机,将其挂载到PC。

DSMGUOGUO的博客 2146

Linux中error while loading shared libraries错误解决办法 --关于exe是否在运行时夹在动态库的猜想

标准解法:   1、首先打开/etc/ld.so.conf文件   2、加入动态库文件所在的目录:执行vi /etc/ld.so.conf,在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"。   3、保存后,在命令行终端执行:/sbin/ldconfig -v;其作用是将文件/etc/ld.so.conf列出的路径下的库文件缓存到/etc/...

ljq550000的专栏 4955

在Linux上建立ARM开发环境

在Linux上有多个可用的交叉编译工具链,例如arm-linux-gnueabi和arm-linux-gnueabihf。通过安装交叉编译工具链和必要的开发工具,设置环境变量,编写和编译ARM应用程序,最后部署和运行应用程序,您可以开始在Linux上进行ARM开发。如果您计划在Linux上进行ARM开发,您需要搭建一个适用于ARM架构的开发环境。本文将为您提供一份详细的指南,帮助您在Linux操作系统上搭建ARM开发环境。接下来,您需要下载并安装一些必要的工具,以便在ARM开发环境中进行编译、调试和部署。

FslzLua的博客 657

Linux for ARM 调试软件集

Linux for ARM 调试软件集,putty,HFS,超级终端等

VsCode + gdb + gdbserver远程调试arm嵌入式linux C/C++程序

基本流程跟我的另一篇文章《》一样,不一样的是需要重新编译gdb和交叉编译gdbserver。

崔杰城的博客 7840

arm-linux-gdb+gdbserver环境搭建以及远程调试

1 交叉编译gdb 2 gdbserver 使用

arm+linux+线程调试,建立ARM+Linux应用程序调试环境

原标题:建立ARM+Linux应用程序调试环境Gdb+gdbserver+insight环境的搭建1. 下载gdb源代码 http://ftp.gnu.org/gnu/gdb/2. 配置安装gdb+gdbser$ tar jxvf gdb-6.6.tar.bz2$ cd x/gdb$ ./configure --target= -linux --prefix=/usr/local/arm-gdb ...

weixin_39675289的博客 213

基于arm9的linux基本驱动的概念和开发调试方法

很简单的一个概念和实现过程,希望能帮上一些初学者。 描述: ARMLINUX因为启动了MMU,所以应用程序不能直接读写物理地址,而必须借助与驱动的形式,切入内核用ioremap来实现对这些物理地址的访问...

从VASP数据到LAMMPS模拟:手把手教你用DeePMD-kit搭建Cr-Si-Fe合金势函数

本文详细介绍了使用DeePMD-kit从VASP数据构建Cr-Si-Fe合金深度势能模型的全流程,包括数据准备、模型训练、优化及LAMMPS集成。通过实战教程,帮助研究者掌握DeePMD-kit训练技巧,实现高精度分子动力学模拟,提升材料计算效率。

weixin_33737134的博客 521

熟悉linux平台开发环境,嵌入式系统实验:熟悉Linux开发环境.doc

实 验 报 告( 2011 / 2012 学年 第 2 学期)课程名称嵌入式系统B 实验名称熟悉Linux开发环境实验时间2012年6月14日指导单位通信与信息工程学院指导教师王诚学生姓名班级学号学院(系)通信与信息工程学院专 业电子信息工程实验名称熟悉Linux开发环境指导教师王诚实验类型验证试验实验学时2实验时间2012.6.14实验目的和要求目的:通过该配套实验环节,巩固...

weixin_35819216的博客 324

Bresenham画圆算法在嵌入式屏幕(如ILI9806G)上的实战:从C代码到单片机显示

本文详细介绍了Bresenham画圆算法在嵌入式屏幕(如ILI9806G)上的高效实现与优化方法。通过整数化改造和针对STM32等微控制器的特殊优化,显著提升了图形显示性能,适用于资源受限的嵌入式系统开发。文章还分享了实心圆与空心圆的实现策略及实战经验。

weixin_33712987的博客 391

QEMU搭建arm64 Linux调试环境

https://zhuanlan.zhihu.com/p/345232459 简述 本文记录了在ubuntu20.04上,使用QEMU搭建arm64 的Linux开发调试环境。可以方便得使用gdb调试内核,既可以作为学习linux kernel源码的实验环境,也可以用于ARM64内核驱动开发调试环境。 版本和环境信息如下: 平台:ubuntu20.04 kernel版本:linux 5.10 qemu版本:5.2.0 qemu模拟环境:ARM64 gcc version :10.2.0 交叉编.

eydwyz的专栏 2825

TCGA数据集介绍及数据下载指南(新手友好篇)

目录一、TCGA数据集介绍1.1 数据集介绍1.2 File介绍1.2.1 Data Category(数据类别)1.2.2 Data Type(数据类型)1.2.3 Experimental Strategy(实验策略)1.2.4 Workflow Type(工作流类型)1.2.5 Data Format(数据格式)1.2.6 Platform(平台)1.2.7 Access1.3 Cases介绍1.3.1 Case ID(案例编号)1.3.2 Primary Site(主要站点)1.3.3 Progra

Wendy的博客 6万+

量化平台深度测评:聚宽 / 米筐 / 迅投 QMT 对比分析

本文对比测评国内主流量化交易平台聚宽、米筐和迅投QMT,从回测性能、实盘稳定性和高级功能三方面展开分析。测试显示:聚宽在低频策略回测中效率最高(128秒),米筐次之;迅投QMT凭借C++直连架构实现最低延迟(150ms)和最高订单撤销成功率(98.5%)。平台特色方面,QMT的智能拆单算法可减少25%滑点损失,聚宽的因子库支持版本控制和缓存复用。建议低频策略选聚宽,高频交易选QMT,团队协作优先考虑聚宽。测试数据均来自合规实盘环境,建议根据策略特性进行试用验证。

tianchi2009123的博客 7377

搭建嵌入式linux应用程序调试环境

使用gdb搭建嵌入式Linux调试环境,使用网络与开发板通信,调试应用程序 一、下载gdb源码 下载地址:ftp://ftp.gnu.org/gnu/gdb/ 我使用的版本为:gdb-7.7.1.tar.gz 二、编译gdb client (1)tar xvzf gdb-7.7.1.tar.gz (2)./configure --target=arm-linux --prefix=

srf1986的专栏 2272

企业微信群机器人Webhook配置全攻略:从创建到发送消息的完整流程

本文详细解析了企业微信群机器人的Webhook配置全流程,从创建机器人、获取关键Webhook地址,到使用代码发送文本、Markdown等多种消息类型。内容涵盖安全加固、错误处理及与CI/CD等系统集成的实战指南,帮助企业快速构建高效、稳定的内部通知系统。

ik678901的博客 1784

建立jlink+arm-linux-insight+GDB Server调试环境

建立jlink+arm-linux-insight+GDB Server调试环境 一、方案 1、  linux gcc编译,windows ads或iar调试。 2、  linux gcc编译,windows keil或realview调试。 3、  windows下ads或keil或iar编译调试。 4、  虚拟机linux gcc编译,然后运行gdb通过串口tcp远程

zfaquir的专栏 4022

抖音移动端Web用户主页视频列表爬虫实战:逆向加密参数与高频采集方案

App端Hook/抓包:需要安卓逆向、Xposed或Frida,门槛高且容易被风控。官方开放API:限制极多,几乎不开放用户级视频列表。PC端Web:页面加载方式繁杂,且大量依赖懒加载与内部状态。移动端Web(:接口相对稳定,加密逻辑集中,且适合使用Requests/HTTPSession模拟,无需渲染引擎。本文聚焦于移动端Web下的用户主页视频列表爬取,采用Python 3.11 + httpx + PyExecJS + 正则/JSON解析的组合,破解X-Bogus签名和_signature。

2201_76125261的博客 852

PX4从放弃到精通(二十八):垂起过渡控制

固件版本:1.14.0可加名片交流学习。

超维空间科技的博客 2874

ST-Link配合OpenOCD搭建Linux下ARM调试环境

利用ST-Link作为arm仿真器,结合OpenOCD在Linux系统中高效搭建ARM开发调试环境,实现稳定烧录与在线调试,提升嵌入式开发效率。

weixin_42594419的博客 938

RK3588平台开发系列讲解(以太网篇)MDIO底层驱动

沉淀、分享、成长,让自己和他人都能有所收获!😄。

内核笔记 6885

如何直接在Windows下进行ARM-Linux应用程序开发调试

偷个懒,不安装虚拟机,直接在Windows下开发 ARM Linux应用程序。 友情提醒1:本篇适合在嵌入式软件开发已经有一定基础的读者。 1 缘由 在嵌入式行业摸爬滚打了八年有余,一直都没在Linux进行...

wanff1204的博客 5882

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

在win10中的vscode下在线调试arm板中的linux程序

在windows中的vscode下在线调试arm板中的linux应用程序 想要在window下的vscode中在线调试arm板中运行的linux程序。需做到一下三点 arm能运行gdbserver程序。用于向gdb客户端传输调试数据。 linux端需要运行arm-linux-gnueabihf-gdb.这也就是我们所说的gdb客户端,用于和gdbserver交换调试数据。 vscode需要将ar...

guoweilkd的博客 4235

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: 建立ARM+Linux运行环境
下一篇: Linux下Ramdisk根文件系统制作过程解析
vcvbve
博客等级 码龄17年 5粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值