【SigmaStar SSC335系列】spi nand启动流程

  0、前言

2020年芯片荒,我们从海思切到sigmastar,入门级先开干的就是SSC335芯片,从海思资料齐全、网上参考文章大堆的开发条件一下切到资料少、网上还没有参考文章的境况,只靠自己干啃,摸不到石头就过河,可想而知,喝水自然少不了。

时过3年,如今再搜,sigmastar的网上开发资料,依然没有多少,SSC335这颗主控,我们已经出了3年货了, 我们产品现在基本上都向带算力的主控芯片发展,做更多的一些算法定制化需求和效果,这颗以后要慢慢放掉。

本文源自老K(蓝海):http://blog.youkuaiyun.com/r051463438,原创作品,转载请保留出处。

1 简介

本文主要讲SSC335 spi nand flash的启动流程介绍。因为有客制化需求,我们产品用的是spi nand flash,只讲nand的流程,nor的和它相似,可参考。

2 启动流程

 

从芯片上电到启动根文件系统,往后就是各家产品不同的分区情况,不作介绍。可以看到,中间有几个流程都采用了双备份的机制,防止数据丢失引起系统无法启动。

这只是从分区上看有双备份,但其实细分析SDK中的打包制作镜像的脚本文件,能发现,厂家其实还多留了些心眼,有更多的备份。比如对于IPL,虽然看分区只有一个,但分区却分了0xc0000这么大,flash公板是128K块大小的,算下来一共有6个block,然后注意打包上,对于ipl的烧写文件,是拷贝了6份,每个块里一份,我猜应该是厂家内部做了这种备份机制。这种细节,在IPL_CUST的烧写文件制作上,也如此,IPL_CUST有两分区,一个分区3个块,每个块拷贝一份,总共也是6份这么多了。

 3 各阶段说明

ROOM bootloader:芯片中固化的启动代码,根据启动方式,加载不同的位置的程序,如spi nand flash启动方式,则加载IPL。

IPL:配置CPU频率、DDR参数等最基础的参数,加载IPL_CUST。

IPL_CUST:从命名上看是IPL_CUST(CUST为customer缩写)的客制化功能配置,应该是厂家为了方便管理,把共有的一些基础配置放在IPL,和客制化相关的一些启动配置,放到IPL_CUST管理。

UBOOT:这个不用多介绍了,linux嵌入式开发上常见的uboot引导程序。

KERNEL:内核,这个也不用多介绍了。

ROOTFS:根文件系统,也不多介绍了。


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值