搭建 paparazzi uav 调试环境 ppz
关键字: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,所以出现无法识别调试信息的问题。
国外网站相关的信息
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.
我修改了./conf/Makefile.stm32文件的45行#DEBUG = dwarf-2 去掉注释,但是不知道为什么,无果。最后放弃了这种调试方案。
2.使用eclipse(最后采用方案)
最初没有使用这个,觉得eclipse稍大,安装麻烦,其实经过一次安装之后,也没觉得太复杂。最重要的是,功能强大,使用起来舒服。
安装步骤如下:
找这个 Eclipse IDE for C/C++ Developers, 171 MB
直接在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相关推荐
- Xcode搭建真机调试环境 图文实例
Xcode搭建真机调试环境 是本文要介绍的内容,不多说,我们之间进入主题,在Xcode 3.2.5(我用的版本)中,可以简化步骤.注:最好在Safari上完成下面步骤,因为在其它浏览器上可以不到正常上 ...
- cmake 安装_vscode不写一行配置,用cmake傻瓜式搭建C++编译调试环境
网上看了一些用vscode+cmake搭建C++编译调试环境的帖子,基本差不多,都要写一个配置文件.其实根本不用这么麻烦.安装的工具是一样的,但是操作可以更加简单. VSCode + CMake超简单 ...
- 使用 VMware + win10 + vs2019 从零搭建双机内核调试环境
我在前面的文章--<使用 VMware + win10 + VirtualKD + windbg 从零搭建双机内核调试环境>分享了使用 windbg 进行双机内核调试的环境搭建的步骤. 有 ...
- eclipse php xdebug,Eclipse for php + Xdebug搭建PHP的调试环境
Eclipse for php + Xdebug搭建PHP的调试环境 Eclipse for php + Xdebug搭建PHP的调试环境 第二步:下载Xdebug (下载地址位于: http://x ...
- 基于hisilicon的arm平台搭建gdb+gdbserver调试环境
这段时间搭建了一个基于hisilicon的arm平台搭建gdb+gdbserver调试环境,网上对hisilicon平台的搭建资料不多,基本上是arm-linux-gdb的,而没有arm-uclibc ...
- QEMU搭建arm64 Linux调试环境
https://zhuanlan.zhihu.com/p/345232459 简述 本文记录了在ubuntu20.04上,使用QEMU搭建arm64 的Linux开发调试环境.可以方便得使用gdb调试 ...
- Mac m1上使用docker搭建C++开发调试环境
说明 因为mac上虚拟机都不太好用,有些还收费,故使用docker来搭建虚拟机.况且我的Mac是m1芯片,用的是arm架构,虚拟机更是少. 搭建本机与虚拟机互通 mac上docker与linux不同, ...
- 微信公众号开发-搭建微信本地调试环境借助蜻蜓映射实现内网穿透
微信公众号开发过程中,为了方便调试,经常需要将本地部署的接口让外网能直接调用到,这里我们使用内网穿透工具"蜻蜓映射"(还有其他同类型的工具如: frp,Ngrok)来将本地接口映射 ...
- vscode-armgcc-openocd搭建STM32开发调试环境
环境配置 一. vscode插件安装 1. 打开vscode, 进入扩展搜索页面 2. 搜索安装: Embedded IDE, Cortex-Debug 二. arm-gcc, openocd安装 a ...
最新文章
- RK3288 make otapackage 出错的问题【转】
- 【洛谷P1186】玛丽卡(断边+最短路)
- linux find 文件夹下查找字符串
- DDD领域驱动设计---战略设计(包括四色原型建模)
- kibana安装步骤
- 网络营销第一课:市场营销基础(2)
- windows server 2008配置之AD域服务器 1
- php把amr转换成mp3,php 微信amr转mp3的方法
- 暴风影音怎么旋转视频?暴风影音旋转视频方法
- python 类 对象 知乎_Python 基础入门(八)类与对象 学习小结
- 5.node.js中的事件循环
- 2920集五福_2020年支付宝集五福攻略
- 中科院计算所陈云霁:深度学习芯片剩下的只是工程问题,我们要起航探索新方向
- 【贪玩巴斯】带你一起攻克英语语法长难句—— 第二章——并列句全解 2021年12月17日——2022年2月5日
- 【深度学习】增强学习
- fiddle的常见功能使用
- 软件需求分析案列_软件需求分析(案例)
- vue关于videojs一个页面多个视频且一个播放器多个视频源的写法(播放m3u8视频格式的视频监控)
- 17 个改变世界的数学公式!
- 西门子PLC源码原创最新 CPU:STM32F103RCT6(或其他STM32F103系列大容量芯片)
热门文章
- 低版本Docker升级高版本Docker【详细教程、成功避坑】
- 区别:阿里云公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像对比
- Android多媒体功能开发(12)——使用Camera类拍照
- ATK-ESP8266获取时间和知心天气的天气信息
- bzoj3441: 乌鸦喝水
- realme x2 深度测试打不开_realme X2 Pro手机使用深度对比实用评测
- python getattr和getattribute_Python的__getattr__和__getattribute__
- 电脑没有声音的解决办法
- margin:auto 与 margin:0 auto 区别
- 前端本地缓存知识:indexDB、localStorage、sessionStorage