您尚未登录。

楼主 #1 2020-11-28 11:57:36

zzm24
会员
注册时间: 2018-05-07
已发帖子: 113
积分: 105

说好的分享V3S R11的SPL,无需uboot SPI DMA直接启动kernel

有时uboot的功能用不上,uboot启动kernel需要二级跳转,sunxi uboot spi为CPU polling,等等问题导致启动慢,强迫症受不了.
参考论坛各位大神代码,撸了一个自己的SPL,一直索取,现来分享.
不开cache mmu不开代码优化粗略测试4M+的kernel+DTB大概700ms-800ms即可完成读取启动.
IAR7 环境,先编译好,V3S R11进入FEL后直接双击Debug\exe\dl_flash.bat即可自动加校验下载.用的是串口2,可能需要大家自行适板修改一下.

V3S_R11_SPL_SPIDMA.rar

有两点需要注意,不然无法直接启动kernel.
由于这个SPL不设置Kernel command line,所以需要内核make menuconfig时内置默认的Kernel command line
Boot options  ---> (X) Use bootloader kernel arguments if available
并且设置Default kernel command string

第二是DTS必须要有内存的描述,不然无法启动
        memory_DDR0@40000000 {
           device_type = "memory";
           reg = <0x40000000 0x4000000>;
         };
因为上面两件事uboot做了,现在抛弃了它就要自己手动做了.

FluxBB bbcode 启动log

kernel自解压大概300ms,按下复位键起1秒即出现Booting Linux on physical CPU 0x0

另外
[    0.143010] 1c28800.serial: ttyS2 at MMIO 0x1c28800 (irq = 31, base_baud = 1500000) is a 16550A
[    0.719051] console [ttyS2] enabled
此处花了600ms傻等,无奈跟代码无果,直接波特率921600有惊喜.
配合这个SPL秒启不是梦,起飞吧,朋友.

离线

页脚

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

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