调试
梓默
这个作者很懒,什么都没留下…
展开
-
常见硬件调试问题及解答
文章目录1.电池电压对地为负2.STM32 RTC不走,一直为00:00:001.电池电压对地为负电池地与板子地接触不良2.STM32 RTC不走,一直为00:00:00一.如果是使用外部晶振,看一下晶振是否起振原创 2022-03-08 18:20:25 · 1615 阅读 · 0 评论 -
关于数组越界的惨痛教训
文章目录数组越界是我调试bug时遇到最多的问题二、数组越界通常会导致以下几个问题:1 直接进HardFault2.不进hardfault 不出错3 不进hardfault 导致内存错误数组越界是我调试bug时遇到最多的问题二、数组越界通常会导致以下几个问题:1 直接进HardFault这种通常通过单步调试或者通过sp寄存器可以定位到问题所在2.不进hardfault 不出错这种是最难的,刚写的时候没有问题,当后面程序扩展后问题,真的很难回来找到问题点在哪3 不进hardfault 导致.原创 2021-12-15 11:45:08 · 1568 阅读 · 4 评论 -
STM32在DEBUG调试模式下禁止看门狗IWDG WWDG
1 问题:项目中如果开启了看门狗,在调试时添加断点导致不能及时喂狗,芯片重启2 解决: 如果使用的HAL库,库中提供了相应的API#ifdef STM32f4 __HAL_DBGMCU_FREEZE_WWDG() __HAL_DBGMCU_FREEZE_IWDG(); //调试模式时冻结看门狗 __HAL_DBGMCU_UNFREEZE_WWDG() __HAL_DBGMCU_UNFREEZE_IWDG() //调试模式时开启看门狗#else //H7 __HAL_DB原创 2021-12-14 11:25:04 · 7196 阅读 · 2 评论 -
stm32 定位hardfault 的方法
#1 获取 pc 或者psr寄存器的值#2 在编译生成的map文件中找到pc 值对应的函数原创 2021-07-20 13:12:54 · 787 阅读 · 1 评论 -
不同封装晶振的输出能力是不同的 调试芯片要注意
不同封装晶振的输出能力是不同的 调试芯片要注意原创 2021-04-09 17:08:57 · 234 阅读 · 0 评论 -
MDK调试systemviewr无子选项
更新一下对应的PACK包原创 2021-04-08 09:22:12 · 209 阅读 · 0 评论 -
C C++ 常见编译错误提示释义
1.iteration 16 invokes undefined behavior常见于对数组的操作,数组溢出错误。数组定义为20个字节,而for循环判断条件应为<20 uint8_t oldrelay[20] = { 0U }; for ( i = INDUCTOR_160nH; i <= 20; i++ ) { oldrelay[ i ] = SET; relay[ i ] = RESET; }...原创 2020-05-30 19:10:24 · 19781 阅读 · 0 评论 -
大容量EEPROM读写注意事项
部分大容量EEPROM 在跨页写的 时候需要加10ms 延时,是否加延时和具体时间由芯片手册决定,原创 2020-05-18 20:04:31 · 1316 阅读 · 0 评论 -
使用串口时需注意灌电流问题
CH340串口通信输出电流比较大,如果连接到单片机之间串的电阻太小,电流灌进单片机会导致单片机无法正常复位使用串口助手时同样有这样的问题出现,串口助手直接跟模块相连,没有加限流电阻时可能会因为灌电流导致模块部分功能不能正常工作...原创 2020-05-08 15:14:41 · 2874 阅读 · 0 评论 -
STM32 Jlink 调试无法找到设备,程序无法运行
STM32 使用Jlink下载调试程序出现下列问题及解决办法:1.找不到设备。可能原因:查看接线顺序是否正常。2.晶振不起振:使用jlink下载程序时使用内部晶振;程序打开外部晶振后正常运行时外部晶振才起振3.找到设备,并下载成功一次 ,再次下载失败。原因: 使用cube生成的程序默认是关闭SWD接口功能的;所以下载成功后引脚被初始化成普通IO,再次下载调试就会出问题,解决:再cub...原创 2020-03-09 00:48:47 · 4952 阅读 · 0 评论