打印

STM32F103VET6移植到GD32F103VET6 SDIO 程序达到386295时驱动不了

[复制链接]
7069|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
杨任富|  楼主 | 2021-3-29 09:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 杨任富 于 2021-6-7 14:49 编辑

程序达到386295字节时驱动不了TF,初始化也失败也有 串口波特率大于等于115200时,数据接收也会出现偶尔丢帧的问题
移植到步骤大体上是参考这些**
https://blog.csdn.net/ShenZhen_zixian/article/details/103299034?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.control

https://blog.csdn.net/u014471291/article/details/79030370



使用特权

评论回复
沙发
杨任富|  楼主 | 2021-3-29 09:06 | 只看该作者

STM32F103VET6移植到GD32F103VET6 SDIO 程序达到386295时驱动不了

程序在256k以下都没有发现问题,但是已超过256k  SDIO 在385474、386295、386210字节驱动不了,但是在385262又可以正常工作
这是什么问题导致的?????

使用特权

评论回复
板凳
cooldog123pp| | 2021-3-29 11:40 | 只看该作者
楼主这是做压力测试么,很好奇楼主的测试方法,能说一下吗,我想学习一下,多谢!

使用特权

评论回复
评论
杨任富 2023-6-14 16:19 回复TA
不是,实在原有的程序上加功能,在测试过程中发现数据丢包这个问题的,排查发现是UART接收异常,但是在9600接收就不会出现,目前怀疑是 STM32直接移植到GD32有问题, 可能是中断处理有异常(中断打断) 
地板
华强半导体miti| | 2021-3-29 13:42 | 只看该作者

使用特权

评论回复
5
杨任富|  楼主 | 2021-3-29 13:49 | 只看该作者
不是,现在STM32芯片短缺,我们打算用GD32芯片替代STM32的,有多个固件程序,每个固件大小都不一样,在测试时发现一些固件大于256k后,就可能会出现SDIO初始化不了,或者直接在SDIO初始化中卡死

使用特权

评论回复
评论
475463351 2021-6-10 13:17 回复TA
GD的芯片超过256K后速度慢,SDIO对中断相关要求高,注意在读取和写入的时候加入中断关闭,处理完开启中断处理,往这个方向找,SDIO初始化的时候,ST的库里面有个引脚使能是错的,在GD里面是过不了的 
6
imdx| | 2021-3-29 19:19 | 只看该作者
GD32F10x系列的FLASH只有前256kB是0等待的,用于运行代码的SRAM缓存最大只有256kB,超过256kB会有很长的延时,延时的具体数据GD厂家没给。
不过可以自行脑补一下程序从0等待的SRAM和SPI接口的外部FLASH运行的差异。
最安全的做法是程序长度不要超过256kB。

使用特权

评论回复
7
杨任富|  楼主 | 2021-3-29 20:31 | 只看该作者
imdx 发表于 2021-3-29 19:19
GD32F10x系列的FLASH只有前256kB是0等待的,用于运行代码的SRAM缓存最大只有256kB,超过256kB会有很长的延 ...

GD32延时有参考的,但是改了之后,固件大于256k之后 固件大小为385474又可以,但是又当固件大小达到386295又不行了

使用特权

评论回复
8
imdx| | 2021-3-29 20:43 | 只看该作者
杨任富 发表于 2021-3-29 20:31
GD32延时有参考的,但是改了之后,固件大于256k之后 固件大小为385474又可以,但是又当固件大小达到38629 ...

安全做法是不要用256kB以后的FLASH执行代码。

使用特权

评论回复
9
杨任富|  楼主 | 2021-3-30 08:55 | 只看该作者
imdx 发表于 2021-3-29 20:43
安全做法是不要用256kB以后的FLASH执行代码。

使用特权

评论回复
10
caoenq| | 2021-6-10 16:56 | 只看该作者
imdx 发表于 2021-3-29 20:43
安全做法是不要用256kB以后的FLASH执行代码。

很难保证程序的大小不hi超过256K

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

粉丝