请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【一起找Bug】找Bug的路任重而道远

[复制链接]
STMCU-管管 提问时间:2021-5-27 17:16 / 未解决
BUG无处不在?你是否还在为BUG出现而烦恼?是否因BUG操碎了心?是否因BUG暴跳如雷?当你在开发过程中你都遇到什么样的BUG呢?

1bug.png

*来自管管的片面之词:
在生活中我们时刻都会遇到bug:
·硬件方面:①画板子时,画错一处,导致板子用不了;
                                      ②有的是在焊接时,焊接虚连、插针位置插错、器件引脚焊错;
                   ③还有的是在开发时程序调试遇到问题,不能Debug、不能烧写、不能下载等等;
                   ④还有在使用官方历程时遇到了问题;
                   ⑤等等。
·软件方面:①与系统不完全兼容;②工具软件罢工;③杀毒或加密保护软件干扰;等等

·其他BUG:遇到的哪些奇葩bug畅所欲言,写出你在生活中具体遇到的bug.(ST相关)



寻找BUG解决BUG这是管管的重要职责, 为了给更多的小伙伴避碰,防踩雷,大家可以将自己生活中遇到的bug详细写出来,管管会将大家所有的bug进行汇总。

形式:寻找最“奇葩”bug。
内容:写出bug属于什么方面,在简单介绍一下bug内容。回复本贴
奖励:10元京东卷*5、20京东卷*3、50京东卷*2、ST开发板等。
时间:5月27日-6月30日





收藏 评论29 发布时间:2021-5-27 17:16

举报

29个回答
dzwwzd6699 回答时间:2021-5-31 11:27:44
1.画了块H753的板子,TF卡座封装画反了2.串口与keil下载程序下载一次后报错,STM32 ST-LINK Utility读不出芯片(芯片太新了),以为芯片锁住、内部时钟罢工或焊废了,,外加时钟源无果,结果在target driver setup l里设置一下Erase full chip 解决,不过H753下载速率是真慢啊。
a75fafabff7d5edee9a59ac37ad3274.jpg 34e46b21acb8d9b1036257ab934589e.jpg a2e0a6ff37691eeb21ccd642e5b571d.png 02adf3a2f51108635c980aefcb41b07.png


STMCU-管管 回答时间:2021-5-27 17:40:49
ironman 发表于 2021-5-27 17:40
床上不允许睡人,垃圾桶不允许有垃圾

只讨论技术相关哈
wenyangzeng 回答时间:2021-5-27 20:56:16
【一起找Bug】

    继ST发表STM32F10x_stdPeriph固件库中Flash仿真EEPROM后,终于在STM32Cube_FW_F1_V1.80中看到了在CubeMX环境下的F系列的EEPROM仿真,这给CubeMX用户带来很大方便。。
这个演示代码是配合STM32F103RB使用的。
     笔者的项目开发刚好需要在相同环境下使用这个EEPROM仿真。于是拿STM32Cube_FW_F1_V1.8.0\Projects\STM32F103RB-Nucleo\Applications\EEPROM试运行进行评估,发现随着应用程序代码大小的不同,经常进入HardFault挂起。仔细分析EEPROM软件包代码,发现其中的BUG。

   阅读演示代码中的eeprom.h,可以找到仿真0页和1页的地址定义:

  1. /* Pages 0 and 1 base and end addresses */
  2. /* Pages 0 and 1 base and end addresses */
  3. #define PAGE0_BASE_ADDRESS    ((uint32_t)(EEPROM_START_ADDRESS + 0x0000))
  4. #define PAGE0_END_ADDRESS     ((uint32_t)(EEPROM_START_ADDRESS + (PAGE_SIZE - 1)))
  5. #define PAGE0_ID               ADDR_FLASH_PAGE_32//32

  6. #define PAGE1_BASE_ADDRESS    ((uint32_t)(EEPROM_START_ADDRESS + 0x10000))
  7. #define PAGE1_END_ADDRESS     ((uint32_t)(EEPROM_START_ADDRESS + 0x10000 + PAGE_SIZE - 1))
  8. #define PAGE1_ID               ADDR_FLASH_PAGE_96//96
复制代码

    一般情况下,我们都是设置PAGE1紧跟在PAGE0后面的连续地址,我们知道,STM32F103RB的Flash每页的长度是1024字节(0x400)。而这个PAGE1的首地址设置得距离PAGE0首地址有点离谱了:PAGE0+0x10000,居然后移64KB之多。STM32F103RB的Flash是128KB,  此时如果PAGE0地址设置稍往后一些,PAGE1的地址就越界了。这也就是经常进入HardFault挂起的原因。
改进方法:
  1. #define PAGE1_BASE_ADDRESS    ((uint32_t)(EEPROM_START_ADDRESS + 0x400))
  2. #define PAGE1_END_ADDRESS     ((uint32_t)(EEPROM_START_ADDRESS + 0x400 + PAGE_SIZE - 1))
复制代码
有使用F103在CubeMX中仿真EEPROM的蝶粉,就不要再跌进这个坑里了。

ghost110 回答时间:2021-5-27 17:34:47
夏天野外的bug会咬人,咬了之后容易痛或者痒。
STMCU-管管 回答时间:2021-5-27 17:40:11
ghost110 发表于 2021-5-27 17:34
夏天野外的bug会咬人,咬了之后容易痛或者痒。

只讨论技术相关的。。。。不然关进小黑屋
ironman 回答时间:2021-5-27 17:40:20
床上不允许睡人,垃圾桶不允许有垃圾
ironman 回答时间:2021-5-27 17:46:09
程序开发中遇到的BUG        在web端程序的控制层action返回一个页面路径时,假设路径中的某个元素使用了大写,而静态页面使用了小写,如果你在Windows下开发可能不会出现任何问题,因为Windows下不区分大小写,如果你的服务要是部署到Linux服务器上,那时日志里面一直出现504异常,你就彻底歇菜了。

养乐多 回答时间:2021-5-27 17:47:14
调程序的时候遇到的bug,让人一言难尽
1. 无缘无故死机,hardfault
2. 死机的位置很奇怪,每次都不同。
3. 稍微修改了一些看似无关紧要的代码,死机的位置和现象会完全不一样。

这是人干的事?那我走?
STMCU-管管 回答时间:2021-5-27 17:54:51
养乐多 发表于 2021-5-27 17:47
调程序的时候遇到的bug,让人一言难尽
1. 无缘无故死机,hardfault
2. 死机的位置很奇怪,每次都不同。

程序确实得万无一失,不然各种碰壁,哈哈
szongen 回答时间:2021-5-27 19:58:39
程序开发中宏定义因为字母的太相似导致代码片段没有开启。调试器测试完没有把断点都关闭,导致开发环境无响应。
胤幻1988 回答时间:2021-5-28 08:03:15
有一次,我用STM32F103跟一个串口模块通讯,单片机能够输出数据,但是模块却老是提示连接不上。我找了1天,也没发现啥问题。后来发现,单片机串口输出是输出,但是貌似慢了一拍。导致在一定等待时间内,模块未收到信号,就误认为通讯失败。后来,发现是外部晶振未起振,而MCU直接转用内部低速晶振,从而导致输出数据慢。
STMCU-管管 回答时间:2021-5-28 13:15:48
szongen 发表于 2021-5-27 19:58
程序开发中宏定义因为字母的太相似导致代码片段没有开启。调试器测试完没有把断点都关闭,导致开发环境无响 ...

看来细节还是要注意啊

goyhuan 回答时间:2021-5-28 18:00:34
STM32有4种Flash module organization,分别是:low-density devices(32KB,1KB/page)、medium-density devices(128KB,1KB/page)、high-density devices(512KB,2KB/page)、connectivity line devices(256KB,2KB/page)、XL-density(devices(1M,2KB/page)。
可是stm32f072c8t6才48KB,页大小既然是2K分配,然后因为以前用的是stm32f042c6t6,页大小是1K的,然后bootloader引导程序起始地址设置为0x8003400,本来以为可以共用bootloader,结果IAP后变砖了,然后才发现这个问题所在!
Quantum2021 回答时间:2021-5-29 17:04:40
看着有红有大的苹果,一口下去,又甜又香,真美味~。第二口正要下口,怎么看见东西在咬开的位置上蠕动,再仔细看看,一个白色的小BUG。接下来发生什么,选择题:A 不吃了,将苹果和BUG扔掉。
B 吃苹果,不吃BUG。
C 把苹果和BUG都吃掉。
12下一页
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版