您尚未登录。

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

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

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
已发帖子: 357
积分: 297.5

Re: F1C100s用DMA加速spiflash启动

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

离线

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

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

Re: F1C100s用DMA加速spiflash启动

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

离线

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

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

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
已发帖子: 14
积分: 44

Re: F1C100s用DMA加速spiflash启动

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

raspberryman 说:
airpumpkin 说:

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

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

离线

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

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

Re: F1C100s用DMA加速spiflash启动

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

离线

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

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

Re: F1C100s用DMA加速spiflash启动

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

达克罗德 说:

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

离线

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

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

Re: F1C100s用DMA加速spiflash启动

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

离线

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

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

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;

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

离线

#12 2021-11-27 10:06:49

haistart
会员
注册时间: 2020-01-05
已发帖子: 14
积分: 4

Re: F1C100s用DMA加速spiflash启动

好东西,虽然我对现在的速度要求不高,1M多的代码也就1-2秒。

离线

#13 2021-11-29 20:12:18

somnus
会员
注册时间: 2021-11-29
已发帖子: 17
积分: 2

Re: F1C100s用DMA加速spiflash启动

启动速度可以这么快?太牛了,学习

离线

#14 2022-08-13 08:54:21

ggk1989
会员
注册时间: 2018-12-19
已发帖子: 8
积分: 3

Re: F1C100s用DMA加速spiflash启动

3.6m的bin文件  使用dma启动速度约2秒  不用dma需要8秒的样子  点赞

离线

#15 2022-08-13 16:55:34

tangj
会员
注册时间: 2022-08-13
已发帖子: 1
积分: 1

Re: F1C100s用DMA加速spiflash启动

到现在都不太清楚SPL是啥,是uboot里面重定向前的那一部分吗,但是看公司里又是spl来加载uboot

离线

#16 2022-09-27 08:24:59

lfs911
会员
注册时间: 2020-09-24
已发帖子: 37
积分: 22

Re: F1C100s用DMA加速spiflash启动

多谢楼主,正好在调spi和dma,一直没调通

离线

#17 2022-09-27 13:17:10

Chin
会员
注册时间: 2020-10-19
已发帖子: 61
积分: 39

Re: F1C100s用DMA加速spiflash启动

这是启动到linux,还是boot?

离线

#18 2022-09-27 18:59:07

kiss8381
会员
注册时间: 2022-01-28
已发帖子: 2
积分: 2

Re: F1C100s用DMA加速spiflash启动

询问下是否能在1s内快速启动

离线

#19 2023-06-12 03:11:07

506826164@qq.com
会员
注册时间: 2022-08-07
已发帖子: 44
积分: 69

Re: F1C100s用DMA加速spiflash启动

实测,没用DMA情况下,从flash拷16M固件到DRAM仅需0.75s,真正的秒启动

离线

#20 2023-06-24 16:51:30

bidezhi7777
会员
注册时间: 2021-04-22
已发帖子: 23
积分: 3

Re: F1C100s用DMA加速spiflash启动

加开机LOGO就是为了掩饰启动慢吗?

离线

#21 2023-07-10 10:24:42

北极的企鹅
会员
注册时间: 2023-06-29
已发帖子: 4
积分: 16

Re: F1C100s用DMA加速spiflash启动

这个spi确实太慢了,3M的代码要加载6s,楼主这个好

离线

#22 2023-10-12 16:55:20

wenjiu
会员
注册时间: 2023-10-12
已发帖子: 6
积分: 1

Re: F1C100s用DMA加速spiflash启动

gitee上没看到有spi + dma的代码呀?楼主能再分享一下吗?

离线

页脚

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

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