完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
IAP方式写Flash,34KB的数据大概需要100S,包括写和页擦除。但是用仿真器5S左右就搞定了。有提升空间吗?当然IAP方式是串口接数据,仿真器是SWD接口。
|
|
相关推荐
9个回答
|
|
本帖最后由 stm1024 于 2018-6-7 18:58 编辑
仿真器用的是axf文件,含有调试信息和bin文件,通常bin文件比hex文件要小很多,基本上50%都不到,可能这也是一个原因吧。 当然SWD实际上也是串口的,不过比ISP效率还是要高一些 |
|
|
|
34K?100S?一分半钟?太慢,串口波特率多少?
印象中几百K也才2分钟,具体多少忘了。 可以根据波特率算出数据传输时间,剩下就是擦和写FLASH时间。 擦手册,看看擦除要多少时间,擦除是主要时间。 |
|
|
|
|
|
|
|
100S绝对的慢。
仿真器下载时,是在RAM中跑编程算法程序的,然后给内部Flash烧写数据。 你也可以试试在RAM中跑程序,然后IAP往Flash里写数据,这样只是为了测试写Flash。 |
|
|
|
hongjane 发表于 2018-12-26 07:46 波特率9600。 擦除页反正就FLASH_ErasePage(); 写的话调用的是FLASH_ProgramWord(),每次写4字节,有没有更好的函数了? |
|
|
|
zhouxk 发表于 2018-12-26 08:01 有没有测试过在内存中写Flash会快?而不是代码执行上的快。 |
|
|
|
100S几十K,在真正生产都不用做了,优化下软件
|
|
|
|
|
|
|
|
最起码要115200,9600的波特率传输速率本来就很慢。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1085 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1041 浏览 2 评论
2145 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1240 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1660 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 05:15 , Processed in 0.843243 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号