嵌入式调试跟踪
文章平均质量分 97
流云IoT
这个作者很懒,什么都没留下…
展开
-
如何抓包分析BLE 空口报文(GAP + GATT + LESC procedure)?
对于通讯协议,我们要了解通讯过程的详细信息,需要获取通讯过程中交互的报文以及时间,如何抓取BLE 通讯报文呢?如何解析抓取到的BLE 报文呢?通过抓取到的BLE 数据包,我们可以看到BLE 设备都广播了哪些信息?如何建立连接的?如何交换feature、更新连接参数、payload length、PHY的?如何发现并访问Service、Characteristic、Characteristic Descriptor 的?如何配对并加密链路的?如何协商出LTK 的?如何分发IRK、CSRK 的?原创 2021-04-12 01:48:17 · 20307 阅读 · 4 评论 -
代码调试跟踪与优化(三)--- 如何调试Fault 异常?
我们在开发嵌入式代码时,经常会遇到处理器无法启动或系统停止响应的情况,比较常见的是处理器触发了Fault 异常,并停留在Fault 异常处理程序内循环,我们如何分析产生Fault 异常的原因呢?如何借助fault status / address registers 获知产生fault 的原因呢?如何跟踪定位产生fault 的具体代码行呢?有哪些调试工具可以帮我们快速分析定位解决fault 呢?如何设计fault handlers 以输出fault log 帮我们快速定位分析解决系统bug?原创 2021-03-24 20:08:40 · 7341 阅读 · 4 评论 -
代码调试跟踪与优化(一)--- 如何用GDB 调试代码?
我们在开发软件时,免不了引入一些Bug,这就需要借助各种调试跟踪工具,通过查看当前的执行指令、内存数据、运行日志等信息,分析出产生bug 的可能原因,并给出解决方案。本文主要以GDB 为例,简单介绍GDB 的调试原理是怎样的?GDB 常用的调试命令有哪些?GDB 如何配合VSCode实现可视化调试?GDB 远程调试是如何实现的?原创 2021-03-17 01:09:11 · 4627 阅读 · 2 评论 -
代码调试跟踪与优化(二)--- 如何调试嵌入式代码?
我们在进行嵌入式系统开发调试时,受限于嵌入式芯片资源和性能,一般采用远程调试。在调试嵌入式底层代码时,gdbserver 无法运行,我们该怎么调试底层代码呢?J-LINK、ST-LINK、CMSIS-DAP 等硬件调试器在嵌入式开发调试过程中扮演了怎样的角色呢?目标芯片内部是如何处理Debug and Trace 信号的?我们如何借助VS Code Cortex-Debug 或IDE 实现可视化调试的?如何借助SEGGER Ozone 和SystemView 实现可视化实时监测跟踪系统运行详情的?原创 2021-03-21 22:36:51 · 5136 阅读 · 2 评论
分享