大规模生产软件一直是人们关注的问题。大规模生产软件的生产原理并不难,但在于验证成本。它需要板卡多次验证才能发布给每个人。维修爱好者一直对大规模生产软件的生产非常感兴趣。他们以前没有发布,以确保大规模生产软件的可靠性。经过两年多的大量生产软件生产,爱修网已经覆盖了大部分板卡,完全满足了维修人员的使用。
在这种情况下,我们将公布大规模生产软件的生产过程,以便方便交流和学习。TCL以828机芯为例,了解量产原理。
在这种情况下,我们将公布大规模生产软件的生产过程,以便方便交流和学习。TCL以828机芯为例,了解量产原理。
本质上,预抄写是将军EMMC上面的数据原封不动地复制到U盘上。我们用网线升级包,OTA升级包和强制升级包时,系统应在第一次运行后优化一些应用数据data分区记录一些应用信息,如为每个预装应用程序创建文件夹。所以第一次启动需要很长时间。预抄写程序只有在机器运行后才能完成EMMC克隆到U盘,所有应用都优化了,可以缩短生产线上机器的启动时间。目前MS828预抄产品有8种g、16g的产品。
MS828预抄需要提供两份文件:母片dump出来的emmc.bin和rom_emmc_boot.bin
一、主程序的预复制作
1.清除环境,升级到相应的版本
1.1清除boot ENV
先进入mboot输入命令
<<MStar >>#cleanallenv 清除环境变量
<<Mstar>>#mmc erase.boot 2 //清除boot2分区数据
1.2升级主程序
进入mboot命令行,执行mstar命令升级,控制台下输入cu。
1.3确认EMMC分区是否正确
在Mboot命令行,输入以下命令:
<<MStar >># mmc part
在16G机器可以看到以下信息:
确认MBOOT/MPOOL/MBOOTBAK分区是否正确,正确分区如图所示,分别为3M/10M/3M,前期有硬件空片烧录EMMC时mooot版本不对,导致三个分区大小错误。
2.确认状态
2.1确认projectID
图像设置菜单对比度选项-遥控输入1950-Service menu-Project ID
如果屏ID不,需要先切换到正确的屏幕ID。
2.2清除HDCP Key2.2数据目录下的内容
电视机需要清除HDCP Key2.输入命令:
rm –rf /data/tee/*
删除后,重启并进入mboot检查命令行是否已删除,输入命令:ext4ls mmc 0:17 /tee
(以上命令因每个型号的分区而异,mmc 17:17是程序userdata分区序号,在mboot命令行中,输入mmc part可以查询userdata分区的序号)
查询结果如下:已删除的数据
查询结果与以下未删除的数据相似。
2.3.恢复出厂设置
在设置菜单中找到恢复出厂设置的选项,执行
Shop init一遍
2.4 power on mode修改为on
图像设置菜单对比度选项-输入1950-Factory menu-power on mode 打为on
2.5打开P模式
制作预抄写时,进厂打开P模式,打开P模式后,电视屏幕左下角显示信息。第一行是一个P 字母。
打开P模式的具体方法:
图像设置菜单对比度选项-输入1950-Factory menu-0-Factory 路由知识 hotkey 打为on
2.6UART修改为ON
串口信息(如果机器不能查看串口信息,则需要操作此项)
图像设置菜单对比度选项à输入1950-Other-Uart Enable (如果是的话on,最好切成off再切换成on,确保状态正确)
2.7频道预置
图像设置菜单对比度选项-输入1950-Factory menu-9-Preset Factory Channel
Factory Area 选择HZ,焦点切换到Channel Preset ,左键或右键预制频道,下面会有提示。
2.8自动音量为关
声音设置菜单自动音量选项 设置为关(设置-声音-高级设置-自动音量)
2.99清除残留注册信息
系统菜单-应用-全应用-微信互联-清除数据
2.10设置选项循环初始数据
AV界面下,按Option键,进入设置,从上到下进入系统,从上到下焦点,然后进入通用,从上到下
2.11待机,看指路由知识示灯闪烁是否正常
正常情况是家庭模式: 待机状态开始频繁闪烁,变为常亮状态。
33预抄前注意事项
3.1.确保机器状态稳定
确保机器不移动、操作设置等动作,确保机器状态稳定。
33预抄前注意事项
3.1.确保机器状态稳定
确保机器不移动、操作设置等动作,确保机器状态稳定。
3.确保软件环境干净
确保软件环境不受污染,机器升级后不得连接外网。
3.3.确保机器正常运行
不要在预抄过程中待机断电。
4制作预抄写
4.1 U确认市场大小和格式 15269880
将U盘格式化为FAT32格式,并确保您的U盘容量>EMMC的总大小。
确定EMMC大小办法:
在Mboot输入以下命令:
<< MStar >># mmc size在16G以下信息可以在版本中看到:(Totalsize为当前板上EMMC的总大小,单位字节)
此处设置Blocknum变量大小为下图信息获取的值。(以后用)
4.2确定USB接口
插入格式化U盘USB2.0口或扩展板USB口上,MS828开发板使用端口0-3
4.3抄写程序从EMMC到U盘
进入到Mboot输入以下命令,数据流是从Flash到U盘:
mmc dd mmc2usb 3 注释:MS828开发板使用端口3。如果没有,请尝试其他端口0-3
上述命令的意思是从Flash将数据复制到U盘上,默认使用USB口 3。假如U盘插了USB正确的腔正确,数据将开始复制,复制100%后完成。假如U盘插了USB正确的腔正确,数据将开始复制,复制100%后完成。
这个过程大约需要15分钟,在抄写过程中不要不小心点击回车键,因为点击回车后,他会重复一次。。。。
这些命令可以在系统中Mboot直接输入状态mmc命令查看帮助。在MS828的Mboot中敲入mmc以下帮助信息可帮助信息:
4.4将U盘数据保存在计算机本地在Flash数据克隆到U盘完成后,将U盘插入电脑,此时无法打开,电脑通常会提示格式化,特别是Win 安装360的系统会自动弹出格式化界面,但千万不要格式化,系统克隆后的数据在U盘中,格式化后预复制。
打开Winhex工具,用以下A/B两种方法都可以
A. Tools -> Disk Tools -> Clone Disk
输入以下信息:
Source:medium :需要克隆的U盘符
Destination:raw image file:保存Img磁盘位置及文件名称,如V026.img。
Start sector:clone开始地址,0
Number of sectors to copy: 复制的sectors计算方法如下:
1 sector为512byte,如计算16G Flash,从之前mmc size可以得到命令 Totalsize=15757996032bytes
考虑到将来生产一些新产品Flash容量会比这个小问题留出200M多空间兼容,空间取为实质性使用
15757996032bytes -200*1024*1024=15548284928bytes15548284928bytes/512=30367744 blocks
所以Number of sectors to copy填写Blocknum小的值
然后进行FileàCreate Disk Image,以下对话框将弹出同样的方法A
最好的名字是emmc.bin。Scope sectors范围改为下图Blocknum小一点的值。例如,此时可以写成152698000
提示此时
恭喜你,完成了。
4.5替换mboot
注意:MS828项目使用高安芯片需要做这个步骤,更换emmc.bin里的MBOOT分区数据(must do it!)
从母片dump出来的emmc.bin里MBOOT分区数据,本质是mboot.bin。但是mboot.bin里的CustomerKeyBank母片对应efuse里unique key加密,要加密emmc.bin里MBOOT分区的数据还原为原始mboot.bin。
#./mbootnize mboot.bin emmc.bin new_emmc.bin
见下面的附件(更换工具)mboot和mboot-bak分区)
参数说明:
mboot.bin: 原始的mboot.bin。
emmc.bin: 从母片里dump数据。
emmc.bin: 从母片里dump数据。
new_emmc.bin: 替换MBOOT分区数据后emmc.bin。
替换后的new_emmc.bin也就是需要的预抄写软件,到目前为止,预抄写制作已经完成。
5预抄写验证验证预抄写是为了判断在上面制作的img数据是否正确。上面做的img 通过WinHex 工具克隆回到U盘,然后插入电视USB2.复制0口EMMC,看机器能否正常启动。
5.1将做好的img数据克隆到U盘
将U盘插入电脑,选择Tools->Disk Tools->Clone Disk
Source:raw image file ,选择您需要验证的预抄写软件img。
Destination: medium,通过磁盘标志选择您想要克隆的U盘的物理位置,如上图所示。
Copy entire raw image file :前面的勾选
Start se ct