GDB Examine(x) Command 命令

GDB Examine(x) Command 命令

用途 打印出对应内存地址的内容。可以用来查看程序中相对应变量的值,还可以调试一些库文件。 X命令打印出的格式 x /nfu <address> Print Memory n: How many units to print f: Format charracter (like print)

GDB display

GDB display

display 命令 display <value>,可以在程序每次暂停时打印变量的值。 display命令也可以设置不同的显示格式 display /t <value> info display 可以查看 display 当前状况 disable display <num> 关闭显示某变量的值。

GDB 断点调试

GDB 断点调试

xtensa-esp-elf-gdb build/blink.elf -x gdninit 启动 gdb 可以看到在gdbinit文件中设置在app_main处的硬件断点已经起了作用。 此处打印出了断点处的代码和断点信息。 list 简化命令:l <

GDB 观察断点

GDB 观察断点

GDB 观察断点(GDB Watch Command) 观察断点是一种特殊的断点,通过变量名来观察。 watch <value> 观察某个变量。 可以用info watch来查看watch详情。

JTAG 接口简介

JTAG 接口简介

什么是 JTAG: 维基百科:JTAG Wiki 接口定义: TDI 测试数据输入 TDO 测试数据输出 TCK 测试时钟 TMS 测试模式选择 TRST 测试复位(可选) 芯片连接图示: 对于有些芯片,例如 ESP32-C3,已经将Adapter集成进入了芯片模块中,所以不需要额外再去连接Ad

流数据缓冲区(Stream Buffer)

流数据缓冲区(Stream Buffer)

流数据 最典型的流数据就是音频数据。 Stream Buffer API 函数官方文档 Stream Buffer API [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=348&selection=4,0,4,17|FreeRTOS_Reference_M

消息同步(Notitication Sync)

消息同步(Notitication Sync)

什么是任务通知 任务通知是一种轻量汲任务间通信和同步机制。任务通知允许一个任务向另一个任务发送简单的数值消息或者通知事件。任务通知提供了比信号量、队列等其他同步机制更高效的性能,非常适用于快速和频繁的任务间通信。 官方函数文档 2.14 xTaskNotify() [[FreeRTOS_Refere

事件组同步(Event Group Sync)

事件组同步(Event Group Sync)

什么是事件组同步 如果有三个任务Task A,Task B,Task C`,它们需要在同一时刻继续执行,那么可以用事件组里来同步它们: Task A设置在事件组中的第一个位 --> 0x01 --> 0001 Task B设置在事件组中的第二个位 --> 0x02 --> 0010 Task C设置

事件组等待(Event Wait)

事件组等待(Event Wait)

官方函数文档 304 6.3 xEventGroupCreate() [[FreeRTOS_Reference_Manual_V10.0.0.pdf#page=304&selection=0,3,4,19|FreeRTOS_Reference_Manual_V10.0.0, page 304]] F

递归互斥锁

递归互斥锁

什么是递归互斥锁 递归互斥锁允许同一个任务获取相同的互斥锁,而不会发生死锁。这在一个任务需要在不同的函数中多次锁定相同资源时很有用。 如何工作? 获取锁(xSemaphoreTakeRecursive()): 当一个任务第一次调用此函数时,如果互斥锁是空闲的,它将获得互斥锁,并将锁计数(lock c