您尚未登录。

楼主 #1 2021-03-04 22:51:55

airpumpkin
会员
注册时间: 2021-03-04
已发帖子: 12
积分: 42

F1C100s用DMA加速spiflash启动

最近开始入坑F1C100s,在坑网蹭了诸多前辈的使用经验,本着能够继续蹭经验的目的,贡献一下使用DMA加速spiflash启动的代码
基于 https://gitee.com/tiny200s/lv7_rtthread_f1c100s.git (https://whycan.com/t_4942.html)的代码,编译出来的程序大约2.6M,把芒果派换上spiflash之后,启动时间大约需要6s,强迫症表示不能忍。

仔细阅读f1c100s_spl里的代码,跟xboot里的也是一样的,都是直读spiflash,每次64字节,

中间浪费的时间不少。最后决定用DMA读取spi,每次128K字节。不得不吐槽一下,
全志的手册真是节省,不参考别人的代码都很难读懂。
改成DMA读取spiflash后,基本就是秒起了。
f1c100s_spl.zip

参考各位大神的代码:
https://whycan.com/t_1514.html
https://whycan.com/t_4209.html

离线

#2 2021-03-04 23:45:30

david
会员
注册时间: 2018-03-05
已发帖子: 182
积分: 151.5

Re: F1C100s用DMA加速spiflash启动

这个好 一直觉得启动慢是个问题

离线

#3 2021-03-05 08:04:01

a32425262
会员
注册时间: 2018-05-06
已发帖子: 88
积分: 64

Re: F1C100s用DMA加速spiflash启动

这个修改之后。开机时间能到多少呢

离线

楼主 #4 2021-03-05 09:18:28

airpumpkin
会员
注册时间: 2021-03-04
已发帖子: 12
积分: 42

Re: F1C100s用DMA加速spiflash启动

没有仔细测,摁下reset,大约1-2s的样子

离线

#5 2021-03-05 09:28:20

raspberryman
会员
注册时间: 2019-12-27
已发帖子: 503
积分: 465

Re: F1C100s用DMA加速spiflash启动

airpumpkin 说:

没有仔细测,摁下reset,大约1-2s的样子

请教楼主,uboot有没有办法改 ^_^

离线

楼主 #6 2021-03-05 09:43:00

airpumpkin
会员
注册时间: 2021-03-04
已发帖子: 12
积分: 42

Re: F1C100s用DMA加速spiflash启动

uboot代码有点复杂,我改dma的时候还想参考来着,看看也是直读spiflash就没继续研究了
我这只是抛砖引玉,期待别的大神能够改过去

raspberryman 说:
airpumpkin 说:

没有仔细测,摁下reset,大约1-2s的样子

请教楼主,uboot有没有办法改 ^_^

离线

#7 2021-03-05 10:02:11

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,037
积分: 1004.5

Re: F1C100s用DMA加速spiflash启动

我记得当时玩xboot的时候3MB也没有6秒这么慢,2~3秒的样子

离线

楼主 #8 2021-03-05 10:33:00

airpumpkin
会员
注册时间: 2021-03-04
已发帖子: 12
积分: 42

Re: F1C100s用DMA加速spiflash启动

可能测试起止时间标准不一样
我用手机秒表测的,从摁下reset开始,到rtthread的debug串口输出显示启动结束,6s多一点点
实际的视觉体验是屏幕从开始变花到刷新显示,也差不多要这么多时间

达克罗德 说:

我记得当时玩xboot的时候3MB也没有6秒这么慢,2~3秒的样子

离线

#9 2021-03-09 10:42:39

muxi01
会员
注册时间: 2020-10-24
已发帖子: 19
积分: 19

Re: F1C100s用DMA加速spiflash启动

666.楼主可以直接在原来的基础上打个补丁就行,把补丁发布出来。

离线

#10 2021-03-12 10:30:32

xk2yx
会员
注册时间: 2020-12-19
已发帖子: 3
积分: 3

Re: F1C100s用DMA加速spiflash启动

学习下,,,不错

离线

#11 2021-09-26 15:28:53

honglingjin001
会员
注册时间: 2021-09-26
已发帖子: 1
积分: 0.5

Re: F1C100s用DMA加速spiflash启动

..\Driver\Source\sys_spi.c(334): error:  #852: expression must be a pointer to a complete object type rxbuf += bytes_cnt;

请教一下你这里编译的时候报错了咋解决呀

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn