机顶盒项目组U盘替代NAND FLASH方案探讨

简介: 为了降低项目的产品成本,在硬件设计上选择了U盘来替代Nand Flash存储器,因此包括Linux内核及文件系统的软件需要存储在U盘中,将Uboot程序存放在SPI Flash中,使系统从U盘来启动,达到替代Nand Flash的作用。

为了降低项目的产品成本,在硬件设计上选择了U盘来替代Nand Flash存储器,因此包括Linux内核及文件系统的软件需要存储在U盘中,将Uboot程序存放在SPI Flash中,使系统从U盘来启动,达到替代Nand Flash的作用。

系统要从U盘启动,首先在UBOOT中,需要能访-问U盘的文件,对于内核来说最好就是一个文件,在运行UBOOT的时候,把内核从U盘读入DDR指定地址,再把系统的控制权交给内核,即可启动内核,在内核启动的后阶段,需要挂载根文件系统,目前主要有从FLOPPY,RAMDISK,BULK三个分支。U盘属于BULK类,所以系统要从U盘加载文件系统,需要把UBOOT传给KERNEL的参数进行修改,一个root=/dev/sda1(假设U盘为单分区,设备号为sda1),后面必须要有rootdelay=5,也就是说在挂载文件系统之前要延时几秒,这是由于USB控制器的初始化,识别U盘需要一点时间,具体值可以通过测试来选择,还要指定文件系统类型。对启动的参数的修改,可以使系统从U盘启动,这样开发有时会比较便捷。

解决了系统从U盘启动的问题后,麻烦的事情随之而来,怎么生产发布,怎么升级?

为了生产的便利,软件的发布最好不要有人员的太多干预操作,只需要把外置的U盘插入USB口,上电就运行,写程序对生产人员来说是透明的,最后显示升级从与否即可。

笔者在STi7105平台上,解决了从两组不同USB控制器口启动的问题,多分区的问题也比较简单,只不过在UBOOT中USB driver整体上是按支持一组USB写的精简版,所以具体从哪组启动,需要一些条件来触发。比如,刚生产的STB,下线后SPI flash中的某个特定地址的值不为某特定值时,就从外部U盘启动,进入生产发布,发布成功后就清除此值,这样很便捷,也可行。

对于多分区来说,控制也不是很难,关键是实现命令行中能从多分区启动,其他的启动分区选择完全是策略的问题,不存在多少难度。

由于U盘容量大,价格也便宜,直接替代STI7105系统支持的NAND FLASH类型,在价格上会有优势,降低产品成本。

如果对于这个议题感兴趣,可以一起探讨一下。希望看了此文章,对你有益!

目录
相关文章
|
4天前
|
Linux 开发工具 异构计算
【ZYNQ】QSPI Flash 固化程序全攻略
【ZYNQ】QSPI Flash 固化程序全攻略
|
7月前
|
安全 数据可视化 物联网
米尔电子新出的这款车规级芯片的T507开发板老牛逼了! 安排!
米尔电子新出的这款车规级芯片的T507开发板老牛逼了! 安排!
127 0
|
9月前
|
存储 芯片 内存技术
一块宝藏存储芯片【SD NAND】
一块宝藏存储芯片【SD NAND】
|
Linux 网络安全 内存技术
海思3559平台搭建:简单烧写说明
在板子上存在uboot的前提下进行如下操作,如果板子上从未烧写过uboot,就需要使用 HiTool 工具进行烧写。HiTool 工具位置放在 Hi3559A***/01.software/pc/HiTool,使用说明请参见该目录下的《HiBurn工具使用指南》
290 0
海思3559平台搭建:简单烧写说明
西门子S7-200 SMART如何用存储卡复位CPU出厂设置、固件升级、程序传输
上篇文章中我们学习了西门子S7-200 SMART的全局变量和局部变量以及如何编写带参数子程序并调用,本篇我们来介绍西门子S7-200 SMART使用存储卡复位CPU到出厂设置、固件升级和程序传输。S7-200 SMART CPU使用FAT32文件系统格式,支持容量为4G至32G范围内的标准商用MicroSD HC卡。
西门子S7-200 SMART如何用存储卡复位CPU出厂设置、固件升级、程序传输
|
虚拟化 内存技术
制作 ESXi 5.1 的USB闪存"引导安装"盘
制作 ESXi 5.1 的USB闪存"引导安装"盘 1 准备工作 linux 系统    //我这里是ubuntu 12.04 U盘一个       //8GB kingston ESXi ISO文件  //vmware 官网下载 VMware-VMvisor-Installer-5.
1260 0