直播公开课 | 单片机开发过程中的调试绝招

韦东山
发布于 2022-6-23 12:32
浏览
3收藏

在单片机开发中,无论是裸机程序还是基于RTOS的程序,有时候我们会碰到很难解决的Bug。
比如:

  1. 代码量很大,你很难找到出错时的调用关系

  2. 代码稍微增减一行,程序就没错误了;增加一个打印,逻辑上完全没影响,但是程序就崩溃了。我会结合多年的工作经验,教大家两个调试绝招:栈回溯、修改bin文件实现断点
    ::: hljs-center

》》》点此查看直播回放《《《

:::

直播大咖

韦东山-15年嵌入式培训经验,涉及Linux、FreeRTOS、RT-Thread等,专注于嵌入式操作系统。

直播提纲

  1. 绝招1:栈回溯原理及示例

  2. 绝招2:修改bin文件自己实现断点

直播亮点

绝招1,揉合Linux、RT-Thread的栈回溯技术,给出一套适合所有裸机、RTOS程序的代码。

绝招2,这个方法是我首创的,曾经在中兴用来解决过一个Linux内核Bug,曾经在某大型机器人公司解决过一个栈溢出的Bug。

适宜人群

适宜有单片机软件开发基础的人群。

同时欢迎大家在帖子下提问,我会在直播中挑选 2 个优质提问,送出社区精美周边一份!

分类
单片机开发过程中的调试绝招-直播课件.pptx 2.11M 379次下载
已于2022-6-23 21:57:26修改
9
收藏 3
回复
举报
84条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

已报名,期待今晚的直播!

回复
2022-6-23 14:16:33
Luxiaoyuyuyu
Luxiaoyuyuyu

🐛🐛🐛搬板凳  等开始…

回复
2022-6-23 19:57:01
mb62b3d910d8bec
mb62b3d910d8bec

第一次上老师的课,不错

回复
2022-6-23 20:21:38
wx62b455f5145be
wx62b455f5145be

需要打印所有的寄存器的值?直接打印返回地址就够了吧?出错的时候,系统也会把出错的位置标记出来。

回复
2022-6-23 20:26:39
liutao988
liutao988

完整的单片机开发大致分为几步?哪步最容易出错?如何规避呢?

回复
2022-6-23 20:34:36
mb5d58c57fbde17
mb5d58c57fbde17

异常处理函数,为何要用汇编写?可以用C语言写吗?

2
回复
2022-6-23 20:44:58
lazihuman
lazihuman

现在单片机开发公司有哪些?各自有哪些优势?

回复
2022-6-23 20:45:23
mb5d58c57fbde17
mb5d58c57fbde17

想复现这个示例代码,需要什么样的软硬件环境?
这个示例代码,可以分享下吗?

2
回复
2022-6-23 20:45:55
jjxiong92
jjxiong92

老师说的很好, 但是如果没有一定的基础知识, 会有一些点没有理解,例如 B|_ 指令是什么作用? 有没有什么书或者课程可以补充栈相关知识?

已于2022-6-23 20:47:11修改
回复
2022-6-23 20:46:03
mb62b3d910d8bec
mb62b3d910d8bec

这个老师的录播我们能领取不

回复
2022-6-23 20:47:45
wx62b4397a6d978
wx62b4397a6d978
  • 内存溢出的错误是不是也可以通过这种栈回溯dao gea分析呢?

回复
2022-6-23 20:50:05
万道晨光
万道晨光

单片机使用堆,运行一段时间后,造成内存碎片化一般怎么处理?

回复
2022-6-23 20:51:26
戴伟昊
戴伟昊

韦老师好,想问一下,您刚刚说程序空间的地址是0x0800开头的地址,这个是不是能进行配置的啊?我记得dsp里面,好像是有个cmd文件,可以在里面配置程序空间用的是flashB,flashc这些的。单片机里面可不可以这样啊?

回复
2022-6-23 20:52:16
wx5c279cc74a66f
wx5c279cc74a66f

老师您好 您现在直播的时候搜索的地址 bit0清零才能搜到 是为什么 有文档什么的说明吗

回复
2022-6-23 20:55:25
一名单身家
一名单身家

学习单片机有哪些理论知识是必须掌握的?初学者有哪些比较低成本的项目领域可以去尝试呢?

回复
2022-6-23 20:55:53
mb62b45719a471b
mb62b45719a471b

老师好,固件打断点的方法,会不会有固件加密的情形出现?如果有这种情形的话,这种方式还适用吗?需要注意哪些呢

1
回复
2022-6-23 20:56:08
laokugonggao
laokugonggao

不会写程序的小白,想学单片机开发,从哪些内容开始入手?

回复
2022-6-23 20:56:52
mb5d58c57fbde17
mb5d58c57fbde17

替换源代码的那个指令是什么?swi#后面的,看不清楚

回复
2022-6-23 20:58:21
mb5d58c57fbde17
mb5d58c57fbde17

为了人为触发断点,为什么要修改指令?

这个地方,没听明白

回复
2022-6-23 21:08:29
wx5a5da1419202a
wx5a5da1419202a

老师您好,能简要概述下目前主流的嵌入式调试方法吗?比如什么调试方法适合什么场景?比如裸机、rtos、linux,谢谢

1
回复
2022-6-23 21:10:55
回复
    相关推荐