littlebot
Published on 2025-04-10 / 2 Visits
0

【源码】基于ARM嵌入式开发工具链的调试辅助项目

项目简介

本项目聚焦于ARM嵌入式系统的调试工作,提供使用Eclipse调试和核心转储文件分析的方法与指令,助力开发者在开发基于ARM处理器的控制器软件时,高效定位并解决问题。

项目的主要特性和功能

  1. Eclipse调试支持:利用OpenRTOS Viewer调试,可查看队列表等信息,能通过特定条件判断信号量的获取和释放情况。
  2. 核心转储文件分析
    • 提供反汇编、符号读取和函数地址搜索等指令,便于代码分析。
    • 支持GDB远程调试,可查看当前任务控制块、内存转储、寄存器信息等,还能运行程序和设置断点。
    • 提供延迟附加情况下的核心转储文件分析方法,包含内存数据的保存和恢复。

安装使用步骤

假设用户已下载本项目的源码文件,以下是基本使用步骤:

核心转储文件分析

反汇编和符号读取

在终端中执行以下命令进行反汇编并保存到文件: sh arm-none-eabi-objdump -D controller > dis.txt 查看ELF文件信息: sh arm-none-eabi-readelf –ls controller 根据地址搜索函数: sh arm-none-eabi-nm -n controller | grep 0800

GDB调试

启动GDB并连接到目标设备: sh arm-none-eabi-gdb controller (gdb) target remote localhost:3333 复位并暂停目标设备: sh (gdb) monitor reset halt 查看当前任务控制块: sh (gdb) print *pxCurrentTCB 进行内存转储: sh (gdb) x/100x 0x2000fd00 查看寄存器信息: sh (gdb) info reg 运行程序: sh (gdb) c 使用 <ctrl>-c 中断程序。

延迟附加情况下的核心转储分析

在GDB中进行以下操作: sh (gdb) target remote localhost:3333 (gdb) monitor halt (gdb) dump binary memory <file-name>.bin 0x20000000 0x20010000 (gdb) print *pxCurrentTCB (gdb) x 0x20000000 (gdb) print pc (gdb) print *file (gdb) print line (gdb) info reg (gdb) load (gdb) restore gdb_dump_18-03-2015 binary 0x20000000

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】