关键字:paparazzi gdb eclipse jlink lisa-m

环境:win7 + ubuntu10(虚拟机)

时隔一年,从mwc转到paparazzi,要crack代码,搭建个方便的调试环境是必要的,官网上有介绍直接使用gdb进行调试,但是命令行方式的确不方便。

由于原来有在linux下调试uboot的经验,所以还是搭建个窗口调试环境。前期方案如下:

前端使用insight或eclipse 调用gdb, 用gdb连接windows下或者linux下的jlink的gdbserver。

1.使用insight(放弃方案)

安装insight之后,出现问题

这是因为paparazzi默认编译器arm-none-eabi-gcc版本为4.8.3,会默认生成dwarf4格式的调试信息,配套gdb版本为GNU gdb (GNU Tools for ARM Embedded Processors) 7.6.0.20131129-cvs,而insight 6.8使用的gdb版本是6.8,所以出现无法识别调试信息的问题。

国外网站相关的信息

It's because
gcc-4.6.x has started using -gdwarf4 by default, and the embedded gdb-7.0 version within crash doesn't support it.  It will require an upgrade of the embedded gdb.

To avoid this problem, as you have discovered, you have to make sure that your entire software development toolchain (compiler, linker, debugger) is able to "speak" the same DWARF version. Your solution of compiling the latest version of gdb is correct.

我修改了./conf/Makefile.stm32文件的45行#DEBUG = dwarf-2  去掉注释,但是不知道为什么,无果。最后放弃了这种调试方案。

2.使用eclipse(最后采用方案)

最初没有使用这个,觉得eclipse稍大,安装麻烦,其实经过一次安装之后,也没觉得太复杂。最重要的是,功能强大,使用起来舒服。

安装步骤如下:

JRE 安装
----------------------------------------------------------------------------------------------------------------------
apt-get install default-jre   不推荐使用,这个默认的jvm版本是1.6.0_31,  but version 1.7 or greater is requi red by eclipse-standard-luna-R-linux-gtk.tar.gz
卸载之后 重新安装下载的最新的 参考以下链接
http://www.jb51.net/LINUXjishu/117147.html  我下的是jre-8u5-linux-i586.tar.gz
http://www.oracle.com/technetwork/java/javase/downloads/index.html
然后安装
http://blog.csdn.net/tianguokaka/article/details/16961471 
http://blog.csdn.net/zgrjkflmkyc/article/details/9263119 
http://www.cnblogs.com/heyonggang/archive/2013/10/13/3366996.html  
eclipse 安装
----------------------------------------------------------------------------------------------------------------------

在 http://www.eclipse.org/downloads/?osType=linux&release=undefined   下载eclipse

找这个 Eclipse IDE for C/C++ Developers, 171 MB

我下的是eclipse-cpp-luna-R-linux-gtk.tar  这个cpp版本的是包含cdt的,不需另外安装。
然后 tar -zxvf eclipse-standard-luna-R-linux-gtk.tar.gz
zylin 安装
----------------------------------------------------------------------------------------------------------------------
下载 zylin 插件,在 eclipse 的 Help --> Install New Software 中 添加地址 http://opensource.zylin.com/zylincdt/ 就可以了。 按照提示安装之后 debug --> debug configuration 中可以看到 zylin 了

http://blog.csdn.net/etual/article/details/8238572 

使用方法
----------------------------------------------------------------------------------------------------------------------

直接在eclipse文件夹下执行 ./eclipse 启动eclipse。

file->new->project

next

next

在这里填写交叉编译器前缀及路径。前提是你已经装好了这个编译器。 然后finish

选择刚刚建立的工程,点击 Run->Debug Configurations...  双击左侧 Zylin Embedded debug (Native)

在c/c++ Application中 填入ppz编译生成的elf文件。我的是/usr/local/paparazzi/var/aircrafts/Microjet_LisaM/ap/ap.elf

在Debugger选项卡中的 GDB-debugger 中 填入 arm-none-eabi-gdb

在Commands选项卡中 ‘Initialize’ commands 中填入

# connect to the J-Link gdb server
target remote 192.168.63.6:2331
# Select flash device
monitor flash device = STM32F103RC
# Enable FlashDL and FlashBPs
monitor flash download = 1
monitor flash breakpoints = 1
# Clear all pendig breakpoints
monitor clrbp
monitor endian little
monitor reset
load
monitor reg r13 = 0x2000c000
break main
continue

其中 target remote 192.168.63.6:2331 是windows的地址 2331 是jlink gdbserver的端口号

我用的器件是STM32F103RC

monitor reg r13 = 0x2000c000 设置堆栈指针,c000对应STM32F103RC 的48K ram,否则默认的是0x00000000,运行的时候会出错。 关于ppz堆栈的指针这个问题还没搞清楚 to be continued。

然后点击右下角的 Debug 就可以运行了。

windows下jlink的使用就不赘述了,给个截图:我自己做的类ppz的板子,swd接口的。标准ppz是jtag接口。

搭建 paparazzi uav 调试环境 ppz相关推荐

  1. Xcode搭建真机调试环境 图文实例

    Xcode搭建真机调试环境 是本文要介绍的内容,不多说,我们之间进入主题,在Xcode 3.2.5(我用的版本)中,可以简化步骤.注:最好在Safari上完成下面步骤,因为在其它浏览器上可以不到正常上 ...

  2. cmake 安装_vscode不写一行配置,用cmake傻瓜式搭建C++编译调试环境

    网上看了一些用vscode+cmake搭建C++编译调试环境的帖子,基本差不多,都要写一个配置文件.其实根本不用这么麻烦.安装的工具是一样的,但是操作可以更加简单. VSCode + CMake超简单 ...

  3. 使用 VMware + win10 + vs2019 从零搭建双机内核调试环境

    我在前面的文章--<使用 VMware + win10 + VirtualKD + windbg 从零搭建双机内核调试环境>分享了使用 windbg 进行双机内核调试的环境搭建的步骤. 有 ...

  4. eclipse php xdebug,Eclipse for php + Xdebug搭建PHP的调试环境

    Eclipse for php + Xdebug搭建PHP的调试环境 Eclipse for php + Xdebug搭建PHP的调试环境 第二步:下载Xdebug (下载地址位于: http://x ...

  5. 基于hisilicon的arm平台搭建gdb+gdbserver调试环境

    这段时间搭建了一个基于hisilicon的arm平台搭建gdb+gdbserver调试环境,网上对hisilicon平台的搭建资料不多,基本上是arm-linux-gdb的,而没有arm-uclibc ...

  6. QEMU搭建arm64 Linux调试环境

    https://zhuanlan.zhihu.com/p/345232459 简述 本文记录了在ubuntu20.04上,使用QEMU搭建arm64 的Linux开发调试环境.可以方便得使用gdb调试 ...

  7. Mac m1上使用docker搭建C++开发调试环境

    说明 因为mac上虚拟机都不太好用,有些还收费,故使用docker来搭建虚拟机.况且我的Mac是m1芯片,用的是arm架构,虚拟机更是少. 搭建本机与虚拟机互通 mac上docker与linux不同, ...

  8. 微信公众号开发-搭建微信本地调试环境借助蜻蜓映射实现内网穿透

    微信公众号开发过程中,为了方便调试,经常需要将本地部署的接口让外网能直接调用到,这里我们使用内网穿透工具"蜻蜓映射"(还有其他同类型的工具如: frp,Ngrok)来将本地接口映射 ...

  9. vscode-armgcc-openocd搭建STM32开发调试环境

    环境配置 一. vscode插件安装 1. 打开vscode, 进入扩展搜索页面 2. 搜索安装: Embedded IDE, Cortex-Debug 二. arm-gcc, openocd安装 a ...

最新文章

  1. RK3288 make otapackage 出错的问题【转】
  2. 【洛谷P1186】玛丽卡(断边+最短路)
  3. linux find 文件夹下查找字符串
  4. DDD领域驱动设计---战略设计(包括四色原型建模)
  5. kibana安装步骤
  6. 网络营销第一课:市场营销基础(2)
  7. windows server 2008配置之AD域服务器 1
  8. php把amr转换成mp3,php 微信amr转mp3的方法
  9. 暴风影音怎么旋转视频?暴风影音旋转视频方法
  10. python 类 对象 知乎_Python 基础入门(八)类与对象 学习小结
  11. 5.node.js中的事件循环
  12. 2920集五福_2020年支付宝集五福攻略
  13. 中科院计算所陈云霁:深度学习芯片剩下的只是工程问题,我们要起航探索新方向
  14. 【贪玩巴斯】带你一起攻克英语语法长难句—— 第二章——并列句全解 2021年12月17日——2022年2月5日
  15. 【深度学习】增强学习
  16. fiddle的常见功能使用
  17. 软件需求分析案列_软件需求分析(案例)
  18. vue关于videojs一个页面多个视频且一个播放器多个视频源的写法(播放m3u8视频格式的视频监控)
  19. 17 个改变世界的数学公式!
  20. 西门子PLC源码原创最新 CPU:STM32F103RCT6(或其他STM32F103系列大容量芯片)

热门文章

  1. 低版本Docker升级高版本Docker【详细教程、成功避坑】
  2. 区别:阿里云公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像对比
  3. Android多媒体功能开发(12)——使用Camera类拍照
  4. ATK-ESP8266获取时间和知心天气的天气信息
  5. bzoj3441: 乌鸦喝水
  6. realme x2 深度测试打不开_realme X2 Pro手机使用深度对比实用评测
  7. python getattr和getattribute_Python的__getattr__和__getattribute__
  8. 电脑没有声音的解决办法
  9. margin:auto 与 margin:0 auto 区别
  10. 前端本地缓存知识:indexDB、localStorage、sessionStorage