OpenOCD调试ARM芯片,Ubuntu 安装arm-none-eabi-gdb

OpenOCD配置完成并正确连接上开发板后,就会监听6666,4444,3333端口分别用于tcl, telnet, gdbserver的监听。要进行调试,我们就需要连接到OpenOCD的gdbserver上面。进行ARM的调试使用程序的是arm-none-eabi-gdb。但是现在使用apt软件包管理程序自动安装的gcc-arm-none-eabi工具链已经不是最新版并且不带有gdb调试程序。要安装arm-none-eabi-gdb则需要到ARM官网进行下载。(如果原来使用apt安装过工具链则需要先卸载)

工具链下载地址:

gcc-arm-none-eabi

安装命令:

#依赖libncurses-dev安装
sudo apt install libncurses-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64-linux-gnu/libncurses.so.5
sudo ln -s /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5

#gcc-arm-none-eabi解压安装                                                                                                                                                                                                                                                                                              
sudo tar xvf gcc-arm-none-eabi-xxx-x86_64-linux.tar.bz2 /usr/share/
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-gcc /usr/bin/arm-none-eabi-gcc 
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-g++ /usr/bin/arm-none-eabi-g++
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-gdb /usr/bin/arm-none-eabi-gdb
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-size /usr/bin/arm-none-eabi-size
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-as /usr/bin/arm-none-eabi-as
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-objcopy /usr/bin/arm-none-eabi-objcopy
sudo ln -s /usr/share/gcc-arm-none-eabi-your-version/bin/arm-none-eabi-objdump /usr/bin/arm-none-eabi-objdump

安装完成后gdb调试器就可以使用了:

  1. 启动OpenOCD并连接开发板
  2. 打开新终端执行命令:arm-none-eabi-gdb ./test.elf
  3. (gdb) target remote localhost:3333

 这时gdb就连接上了OpenOCD的gdbserver。具体的调试命令和我们平常使用的gdb差不多,在网上可以找到不少教程。

下面放一张效果图:

 

参考资料:

知乎-gdb+openocd+stlink调试MCU

ask ubuntu-how-to-install-arm-none-eabi-gdb-on-ubuntu-20-04-lts-focal-fossa

要在Linux环境下使用Eclipse集成OpenOCD进行ARM Cortex-M3的在线调试,首先需要确保你已经安装了Eclipse IDE,并且配置了适当的C/C++开发工具和OpenOCD插件。以下是详细的操作步骤: 参考资源链接:[Linux环境下Eclipse与OpenOCD/OpenJTAG嵌入式开发调试指南](https://wenku.csdn.net/doc/9efe6vi5ts) 1. **安装OpenOCD**:在Linux系统中,通常可以通过包管理器安装OpenOCD。例如,在Ubuntu系统中,可以使用以下命令: ```bash sudo apt-get install openocd ``` 2. **配置OpenOCD**:下载适用于ARM Cortex-M3芯片OpenOCD配置文件。通常这些文件位于OpenOCD源代码的`/tcl/interface`和`/tcl/target`目录下。配置文件中包含了连接到目标硬件所需的各种参数。 3. **启动OpenOCD服务器**:使用OpenOCD提供的配置文件启动服务器。例如: ```bash sudo openocd -f interface/stlink-v2.cfg -f target/stm32f1x_stlink.cfg ``` 这里假设你使用的是ST-LINK V2接口和STM32F1系列的STM32芯片。 4. **安装Eclipse插件**:安装Eclipse的GDB Hardware Debugging插件,该插件可以帮助Eclipse与OpenOCD进行通信。在Eclipse中,打开`Help` -> `Install New Software...`,然后选择相应的插件进行安装。 5. **配置Eclipse项目**:在Eclipse中创建一个新的C/C++项目,并配置项目的编译器设置和链接器脚本,确保能够正确编译ARM Cortex-M3的目标代码。 6. **创建调试配置**:在Eclipse中,选择`Run` -> `Debug Configurations...`,然后创建一个新的GDB Hardware Debug配置。在此配置中,指定GDB调试器的路径(通常是`arm-none-eabi-gdb`),并选择你创建的项目作为调试目标。 7. **连接OpenOCD调试会话**:在Eclipse的调试视图中,点击`Debug`按钮启动调试会话。Eclipse会连接到之前启动的OpenOCD服务器,并与ARM Cortex-M3目标板建立调试会话。 通过以上步骤,你应该能够在Eclipse中成功配置并启动ARM Cortex-M3的在线调试会话。在调试过程中,你可以设置断点,单步执行,查看变量和寄存器的值等。此外,建议参考《Linux环境下Eclipse与OpenOCD/OpenJTAG嵌入式开发调试指南》这本书,以获取更深入的理解和高级配置技巧,确保你的调试过程更加顺畅。 参考资源链接:[Linux环境下Eclipse与OpenOCD/OpenJTAG嵌入式开发调试指南](https://wenku.csdn.net/doc/9efe6vi5ts)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值