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

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

【问答小课堂第六期】STM32常见问题篇

[复制链接]
STMCU-管管 提问时间:2021-6-22 10:55 / 未解决
Hi 小伙伴们,第六期ST问答小课堂来了,大家平时在开发过程中难免会出现一些小问题,那么今天我将问题汇总出来,大家一起来避坑,大家可根据问题描述来做简要回答。


题目如下:
1. 工程可以正常运行,部分模块运行不正常,比如串口。

2. STM32F4执行擦除flash操作是,debug时直接退出debug模式
问题描述:执行flash读写操作的时候,写入flash数据需要先擦除flash,当时为检查读写是否正确,打开memory窗口观察flash数据,后擦除flash一直失败,执行到FLASH->CR |= FLASH_CR_STRT时,程序跳出debug模式。尝试注释掉FLASH->CR |= FLASH_CR_STRT时,程序正常,但不能正常实现功能,FLASH->CR |= FLASH_CR_STRT为擦除flash操作。

3.STM32f413下载程序失败
问题描述:新画的板子,刚到手下载程序运行,第一次下载成功,成功后程序运行不正常。继续下载debug,发现下载失败,flash擦除失败,更换第二块板子,情况相同。

4.SDIO读写sd卡与flash写入冲突问题
问题描述:SD卡可以正常操作,可以使用DMA读或者写入。同时单独写入flash也是可以正常工作,俩个结合在一起的时候,SD卡仍然可以正常操作,此时flash读取正常,flash写入错误。


还可以参与:
1、视频学习:点击
2、板卡申请:点击(名单已公布)
3、前期回顾>>

小编寄语请大家将每道题的答案简要描述回复在评论中,从参与者中抽取3位送出100ST金币。从答对者中挑选2位送出奖励。



收藏 评论9 发布时间:2021-6-22 10:55

举报

9个回答
养乐多 回答时间:2021-6-22 11:10:48
问题1:这个不具体,外部时钟源的宏定义只会影响到串口和iis
问题2:擦除flash时不能读写其他flash
问题3:使用低频率的外部晶振试试
问题4:flash被dma中断
ghost110 回答时间:2021-6-22 11:15:46
1. 工程可以正常运行,部分模块运行不正常,比如串口。
运行的程序不涉及故障模块,或接触不良。
2. STM32F4执行擦除flash操作是,debug时直接退出debug模式
问题描述:执行flash读写操作的时候,写入flash数据需要先擦除flash,当时为检查读写是否正确,打开memory窗口观察flash数据,后擦除flash一直失败,执行到FLASH->CR |= FLASH_CR_STRT时,程序跳出debug模式。尝试注释掉FLASH->CR |= FLASH_CR_STRT时,程序正常,但不能正常实现功能,FLASH->CR |= FLASH_CR_STRT为擦除flash操作。
flash故障,如颗粒故障或参数设置出错。
3.STM32f413下载程序失败
问题描述:新画的板子,刚到手下载程序运行,第一次下载成功,成功后程序运行不正常。继续下载debug,发现下载失败,flash擦除失败,更换第二块板子,情况相同。
内存未清除
4.SDIO读写sd卡与flash写入冲突问题
问题描述:SD卡可以正常操作,可以使用DMA读或者写入。同时单独写入flash也是可以正常工作,俩个结合在一起的时候,SD卡仍然可以正常操作,此时flash读取正常,flash写入错误。
通道冲突,无法并行。
jundao721 回答时间:2021-6-22 11:50:25
1.外设不正常运行,有很多种原因。比如,外设初始化有问题,时钟,引脚定义,中断等等,仔细检查,分功能测试。
2.不知道download怎么样,检查一下flash的地址配置,就是软件环境配置那块。
3.检查一下SWD引脚,是不是被用掉了。还有就是复位电路是否正确。板子的问题。
4.检查下外设的地址,是不是重复了。还有就是引脚定义再检查一遍。
梦幻人生人 回答时间:2021-6-22 15:46:54
问题1:部分模块不正常,遇到过的情况一般是初始化参数出错。串口用得多大部分初始化波特率、地址出错;硬件上rx和tx短路或反接(刚开始画板的时候容易错)。
问题2:现在一般用hal库了,flash操作都是参考官方库,没遇到大问题;就一般出现擦除要么是flash未解锁,flash状态位未清零、地址要为4的倍数,F4的flash和F1不同不是等大小而是分块(这点不知道为什么,L4就和F1一样)。
问题3:这个情况初学时候遇到过,配置Debug没选。下完一次程序就再下不进去,这时候要改boot模式才能把程序下进去,。
问题4:sd卡项目没怎么用,没遇到过类似问题。看描述flash写操作不行,flash写操作时间比较长,有可能写flash的优先级低了被打断。
朱贵和 回答时间:2021-7-1 20:12:34
怎样才符合申请条件?
lospring 回答时间:2021-7-2 17:32:56
1. 工程可以正常运行,部分模块运行不正常,比如串口。
运行的程序不涉及故障模块,或接触不良。
2. STM32F4执行擦除flash操作是,debug时直接退出debug模式
问题描述:执行flash读写操作的时候,写入flash数据需要先擦除flash,当时为检查读写是否正确,打开memory窗口观察flash数据,后擦除flash一直失败,执行到FLASH->CR |= FLASH_CR_STRT时,程序跳出debug模式。尝试注释掉FLASH->CR |= FLASH_CR_STRT时,程序正常,但不能正常实现功能,FLASH->CR |= FLASH_CR_STRT为擦除flash操作。
flash故障,如颗粒故障或参数设置出错。
3.STM32f413下载程序失败
问题描述:新画的板子,刚到手下载程序运行,第一次下载成功,成功后程序运行不正常。继续下载debug,发现下载失败,flash擦除失败,更换第二块板子,情况相同。
内存未清除
4.SDIO读写sd卡与flash写入冲突问题
问题描述:SD卡可以正常操作,可以使用DMA读或者写入。同时单独写入flash也是可以正常工作,俩个结合在一起的时候,SD卡仍然可以正常操作,此时flash读取正常,flash写入错误。
通道冲突,无法并行。
zhangt0713 回答时间:2021-7-3 18:53:11
1.本身的程序可能就存在问题,比如说点灯之类的,即使时钟配置的不对,但是灯可以亮,但是串口想要按照预定的比特率传输数据,就会出现问题,建议检查时钟配置
2.擦除的过程不能同时读写。
3.第一次可以下载成功,可能是因为片子是空的,没有任何代码,第二次下载 擦除flash失败,考虑时钟倍频是否对,如果此步没有问题,检查Boolader ,如果不对的话再次下载可能导致芯片锁死,尝试解锁更改bootlader。
4.  SD卡和flash对时序的要求比较严格,建议对写flash时加点延时尝试下。

奇迹 回答时间:2021-7-6 08:26:45
1.程序问题,相关初始化或者时钟配置异常,硬件问题,连接或者电平有问题
2.有可能相关flash是被保护的,建议试一下擦写最后几个未使用的扇区
3.程序问题,里面异常配置了时钟或者复用了SWD功能,建议改变boot脚后试试下载。
4.建议确认读写是否有冲突,是否存在未写完就开始读的现象
幻舞火影 回答时间:2021-7-9 15:17:57
1. 工程可以正常运行,部分模块运行不正常,比如串口。
首先看正常运行的环境是什么?是在模拟中可以正常运行?还是说已经下载在板子中运行时无错误提醒?建议检查各个模块的电性连接,检测引脚。检查程序的相关反馈是否正常。复核数据反馈阈值是否正确。
2. STM32F4执行擦除flash操作是,debug时直接退出debug模式
问题描述:执行flash读写操作的时候,写入flash数据需要先擦除flash,当时为检查读写是否正确,打开memory窗口观察flash数据,后擦除flash一直失败,执行到FLASH->CR |= FLASH_CR_STRT时,程序跳出debug模式。尝试注释掉FLASH->CR |= FLASH_CR_STRT时,程序正常,但不能正常实现功能,FLASH->CR |= FLASH_CR_STRT为擦除flash操作。
检查程序是否重复调用数据。检查数据接口是否正确。检查程序加载是否完整。
总之就是【先软后硬】

3.STM32f413下载程序失败
问题描述:新画的板子,刚到手下载程序运行,第一次下载成功,成功后程序运行不正常。继续下载debug,发现下载失败,flash擦除失败,更换第二块板子,情况相同。
可能烧毁。做硬件检查
4.SDIO读写sd卡与flash写入冲突问题
问题描述:SD卡可以正常操作,可以使用DMA读或者写入。同时单独写入flash也是可以正常工作,俩个结合在一起的时候,SD卡仍然可以正常操作,此时flash读取正常,flash写入错误。


通道冲突。
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版