CN103605540A - 基于安卓系统的快速写入flash镜像的方法 - Google Patents

基于安卓系统的快速写入flash镜像的方法 Download PDF

Info

Publication number
CN103605540A
CN103605540A CN201310577396.1A CN201310577396A CN103605540A CN 103605540 A CN103605540 A CN 103605540A CN 201310577396 A CN201310577396 A CN 201310577396A CN 103605540 A CN103605540 A CN 103605540A
Authority
CN
China
Prior art keywords
subregion
android system
sparse
flash
write
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201310577396.1A
Other languages
English (en)
Other versions
CN103605540B (zh
Inventor
周建波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan Changhong Electric Co Ltd
Original Assignee
Sichuan Changhong Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sichuan Changhong Electric Co Ltd filed Critical Sichuan Changhong Electric Co Ltd
Priority to CN201310577396.1A priority Critical patent/CN103605540B/zh
Publication of CN103605540A publication Critical patent/CN103605540A/zh
Application granted granted Critical
Publication of CN103605540B publication Critical patent/CN103605540B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

基于安卓系统的快速写入flash镜像的方法,涉及flash芯片,特别涉及基于安桌系统的快速写入flash镜像的方法,目的是为了解决现有技术中写入flash镜像缓慢的问题。本发明的基于安卓系统的快速写入flash镜像的方法,包括如下步骤:第一步,制定稀疏分区及常规分区的内容;第二步,制作升级脚本,将升级脚本压缩到压缩包中形成升级包,并将升级包的路径及进入安卓系统的升级分区的指令写入misc分区;第三步,制作安卓系统除稀疏分区及空白分区之外的系统镜像形成全系统镜像;第四步,写程器将全系统镜像写入flash芯片;第五步,利用升级脚本引导安卓系统完成对稀疏分区及空白分区的格式化。本发明适用于写入系统镜像文件到flash芯片。

Description

基于安卓系统的快速写入flash镜像的方法
技术领域
本发明涉及flash芯片,特别涉及基于安卓系统的快速写入flash镜像的方法。
背景技术
智能电视、手机及PAD等产业迅猛发展,操作系统功能不断增强,产品能搭载的功能与应用也越来越多,手机及电视上内置的flash容量发展到了4G/8G/16G甚至更大,通常flash上多个分区,绝大多数都采用文件系统如ext4、ubifs等格式来组织其中的文件数据。flash分区出厂时包含以下几大类:1)常规分区:分区容量跟该分区预置的数据容量相当,这类分区通常是产品开发过程中依据分区上全部文件的长度来定,有一定量的冗余但不会太多,如system分区,操作系统及根文件分区;2)稀疏分区:表示分区容量比较大,但出厂预置的内容很少,绝大部分空间是空白的,这类分区出厂后留有大量空白空间,是供用户安装程序或程序运行时记录数据使用,典型的分区是data分区;3)空白分区:表示该分区出厂时没有有效数据,只需要按其需要的文件系统格式化即可,比如cache分区。生产时,一般都是工厂采用写程器,在flash贴片前批量将flash整体文件镜像写入到flash芯片中,写程器能一次写入4至8片flash芯片。而文件系统的特点是将分区上的数据内容及数据块按特定的数据格式来组织及管理,即便是空白的分区,也需要按文件系统的方法进行格式化,这种“格式化”产生了跟分区容量相同大小的镜像文件。所以一个分区如果很大,而生产时该分区为空白或有效文件内容少,就会造成大量的冗余数据被做成镜像,造成整体flash的文件镜像很大,如一个4G容量的flash,对应要写入的文件系统镜像文件是4G,用写程器烧录时间可能长达15分钟。
发明内容
本发明的目的是为了解决现有技术中写入flash镜像缓慢的问题,提供一种快速写入flash镜像的方法。
本发明的基于安卓(android)系统的快速写入flash镜像的方法,包括如下步骤:
a.制定稀疏分区及常规分区的内容,对于稀疏分区,将该分区上的有效文件做成压缩包,并将该压缩包复制到常规分区,该稀疏分区不再制作文件系统镜像,对于常规分区,则将该分区文件内容按通用方法制作成对应文件系统的镜像;
b.制作升级脚本,该升级脚本用于flash芯片上电时,引导安卓系统对空白分区及稀疏分区进行格式化,将升级脚本压缩到所述压缩包中形成升级包,并将升级包的路径及进入安卓系统的升级分区的指令写入misc分区;
c.制作安卓系统除稀疏分区及空白分区之外的系统镜像形成全系统镜像;
d.写程器将全系统镜像写入flash芯片;
e.利用升级脚本引导安卓系统完成对稀疏分区及空白分区的格式化。
具体地,所述压缩包为zip格式。
具体地,步骤e包括如下步骤:
e1.将flash芯片上电,引导安卓系统读取misc分区中升级包的路径及进入安卓系统的升级分区的指令;
e2.依据进入安卓系统的升级分区的指令进入安卓系统的升级分区;
e3.依据升级包完成对空白分区的格式化,将压缩包释放到稀疏分区,完成对稀疏分区的格式化并擦除misc分区内容。
本发明的有益效果是:剔除了文件分区中一种大容量分区,小容量文件的稀疏分区及空白分区,减少了flash镜像容量大小,加快了写程器烧录flash芯片过程,在各类安卓智能终端上都具备通用性,在容量越大的flash芯片上,优越性越能凸显。
具体实施方式
下面结合实施例对本发明的技术方案作进一步描述。
本发明的基于安卓系统的快速写入flash镜像的方法,包括如下步骤:第一步,制定稀疏分区及常规分区的内容,对于稀疏分区,将该分区上的有效文件做成压缩包,并将该压缩包复制到常规分区,该稀疏分区不再制作文件系统镜像,对于常规分区,则将该分区文件内容按通用方法制作成对应文件系统的镜像;第二步,制作升级脚本,该升级脚本用于flash芯片上电时,引导安卓系统对空白分区及稀疏分区进行格式化,将升级脚本压缩到压缩包中形成升级包,并将升级包的路径及进入安卓系统的升级分区的指令写入misc分区;第三步,制作安卓系统除稀疏分区及空白分区之外的系统镜像形成全系统镜像;第四步,写程器将全系统镜像写入flash芯片;第五步,利用升级脚本引导安卓系统完成对稀疏分区及空白分区的格式化。
实施例
安卓系统的NANDFLASH大的分区包括system、data、cache分区。出厂时,系统应用及数据放system分区,预装的应用分区是data分区,cache分区供使用过程中系统升级,还有其它较小的分区,如misc分区在系统需要升级时放置升级命令,升级分区即recovery分区是一个小型linux内核及根文件系统分区,boot分区是linux系统及根文件系统。由于data分区是应用数据存储及安装区,出厂时会占用大部分空间,cache分区用于下载升级镜像,一般也有300M空间左右。
1、我们将data预装的内容及升级脚本压缩成zip文件并签名,放入system分区:
$(DATAPART):$(HOST_OUT_EXECUTABLES)/fs_config$(callintermediates-dir-for,EXECUTABLES,updater)/updater
$(hide)(cd$(PRODUCT_OUT)&&zip-qry$(DATAPART)data/)#文件压缩
$(hide)zipinfo-l$(PRODUCT_OUT)/$(DATAPART)|awk'BEGIN{FS="data"}/data\//{print"data"$$2}'|\
$(HOST_OUT_EXECUTABLES)/fs_config>$(PRODUCT_OUT)/data_file_system.cfg
$(hide)rm-rf$(PRODUCT_OUT)/META-INF
$(hide)(mkdir-p$(PRODUCT_OUT)/META-INF/com/google/android)
$(hide)$(ACP)$(callintermediates-dir-for,EXECUTABLES,updater)/updater$(PRODUCT_OUT)/META-INF/com/google/android/update-binary
$(hide)build/tools/handleperm.sh$(PRODUCT_OUT)/data_file_system.cfg$(BUILD_FIRMWARE)>$(PRODUCT_OUT)/META-INF/com/google#升级脚本制作
/android/updater-script
$(hide)(cd$(PRODUCT_OUT)&&zip-q$(DATAPART)META-INF/com/google/android/*)
$(hide)mv$(PRODUCT_OUT)/$(DATAPART)./
$(sign-data-package)#签名
2、上述步骤中,升级脚本得出的updater-script如下:
format("ext4","EMMC","/dev/block/mmcblk0p7","0");
mount("ext4","EMMC","/dev/block/mmcblk0p7","/data");
package_extract_dir("data","/data");
format("ext4","EMMC","/dev/block/mmcblk0p8","0");
脚本表示系统升级时,将data(/dev/block/mmcblk0p7)及cache分区(/dev/block/mmcblk0p8)格式化,并将步骤1中升级包的data文件夹解压到data分区。
3、将如下命令的文件制作成misc分区:
boot-recovery
recovery
--update_package=/system/chandroid_ota_ZLM41AiJ_datapart.zip
最终,只需要将boot/system/misc/recovery镜像制作成FLASH文件镜像供编程器烧录即可。
4、第一次上电,引导分区读取misc分区内容,依据指令boot-recovery便进入升级系统,接下来执行—updater_pacakge指令,读取升级包chandroid_ota_ZLM41AiJ_datapart.zip中脚本updater-script内容并执行。
通过上述操作,写程器要写入的系统镜像内容大大减少,加快了写程器烧录flash芯片过程。

Claims (3)

1.基于安卓系统的快速写入flash镜像的方法,其特征在于,包括以下步骤:
a.制定稀疏分区及常规分区的内容,对于稀疏分区,将该分区上的有效文件做成压缩包,并将该压缩包复制到常规分区,该稀疏分区不再制作文件系统镜像,对于常规分区,则将该分区文件内容按通用方法制作成对应文件系统的镜像;
b.制作升级脚本,该升级脚本用于flash芯片上电时,引导安卓系统对空白分区及稀疏分区进行格式化,将升级脚本压缩到所述压缩包中形成升级包,并将升级包的路径及进入安卓系统的升级分区的指令写入misc分区;
c.制作安卓系统除稀疏分区及空白分区之外的系统镜像形成全系统镜像;
d.写程器将全系统镜像写入flash芯片;
e.利用升级脚本引导安卓系统完成对稀疏分区及空白分区的格式化。
2.如权利要求1所述的基于安卓系统的快速写入flash镜像的方法,其特征在于,所述压缩包为zip格式。
3.如权利要求1所述的基于安卓系统的快速写入flash镜像的方法,其特征在于,步骤e包括如下步骤:
e1.将flash芯片上电,引导安卓系统读取misc分区中升级包的路径及进入安卓系统的升级分区的指令;
e2.依据进入安卓系统的升级分区的指令进入安卓系统的升级分区;
e3.依据升级包完成对空白分区的格式化,将压缩包释放到稀疏分区,完成对稀疏分区的格式化并擦除misc分区内容。
CN201310577396.1A 2013-11-18 2013-11-18 基于安卓系统的快速写入flash镜像的方法 Active CN103605540B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310577396.1A CN103605540B (zh) 2013-11-18 2013-11-18 基于安卓系统的快速写入flash镜像的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310577396.1A CN103605540B (zh) 2013-11-18 2013-11-18 基于安卓系统的快速写入flash镜像的方法

Publications (2)

Publication Number Publication Date
CN103605540A true CN103605540A (zh) 2014-02-26
CN103605540B CN103605540B (zh) 2017-05-03

Family

ID=50123770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310577396.1A Active CN103605540B (zh) 2013-11-18 2013-11-18 基于安卓系统的快速写入flash镜像的方法

Country Status (1)

Country Link
CN (1) CN103605540B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104731602A (zh) * 2015-03-31 2015-06-24 上海盈方微电子有限公司 一种分离安卓镜像烧录流程的方法
CN104951482A (zh) * 2014-03-31 2015-09-30 炬芯(珠海)科技有限公司 一种操作Sparse格式的镜像文件的方法及装置
CN105446772A (zh) * 2015-11-16 2016-03-30 青岛海信移动通信技术股份有限公司 一种系统升级的方法和装置
CN105868644A (zh) * 2015-12-11 2016-08-17 乐视移动智能信息技术(北京)有限公司 控制移动终端Root功能的方法、装置及移动终端
CN105955781A (zh) * 2016-05-09 2016-09-21 京东方科技集团股份有限公司 一种emmc升级方法及升级装置和终端
CN106775485A (zh) * 2016-12-26 2017-05-31 惠州Tcl移动通信有限公司 一种基于移动终端的sd卡格式化的方法及系统
CN111104148A (zh) * 2019-12-26 2020-05-05 红石阳光(北京)科技股份有限公司 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质
CN111176665A (zh) * 2019-12-26 2020-05-19 晶晨半导体(深圳)有限公司 大容量emmc镜像制作方法和装置
CN111221682A (zh) * 2020-01-07 2020-06-02 四川长虹电器股份有限公司 一种存储系统镜像的方法
CN113377391A (zh) * 2021-07-21 2021-09-10 北京百度网讯科技有限公司 镜像文件的制作和烧录的方法、装置、设备和介质
CN113626060A (zh) * 2021-08-06 2021-11-09 天津津航计算技术研究所 vxworks系统下基于分离存储的在线升级方法
CN113641449A (zh) * 2021-08-09 2021-11-12 展讯通信(天津)有限公司 镜像下载控制方法及装置、设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639782A (zh) * 2009-07-14 2010-02-03 上海市共进通信技术有限公司 基于嵌入式操作系统的系统引导载入方法
CN102543193A (zh) * 2011-12-31 2012-07-04 深圳创维数字技术股份有限公司 一种闪存烧录方法、烧录设备及烧录系统
CN103324503A (zh) * 2013-05-29 2013-09-25 京东方科技集团股份有限公司 一种数据烧录系统及方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101639782A (zh) * 2009-07-14 2010-02-03 上海市共进通信技术有限公司 基于嵌入式操作系统的系统引导载入方法
CN102543193A (zh) * 2011-12-31 2012-07-04 深圳创维数字技术股份有限公司 一种闪存烧录方法、烧录设备及烧录系统
CN103324503A (zh) * 2013-05-29 2013-09-25 京东方科技集团股份有限公司 一种数据烧录系统及方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
I_NSS_YY: "如何解包/编辑/打包android系统的boot.img文件", 《HTTP://BBS.GFAN.COM/ANDROID-3314039-1-1.HTML》 *
SDPHOME: "android 镜像制作方法", 《WWW.CNBLOGS.COM/SDPHOME/ARCHIVE/2011/03/20/1989826.HTML》 *
木0206木: "Android系统Recovery工作原理之使用update.zip升级过程分析", 《HTTP://BLOG.CSDN.NET/MU0206MU/ARTICLE/DETAILS/7399822》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951482B (zh) * 2014-03-31 2018-09-25 炬芯(珠海)科技有限公司 一种操作Sparse格式的镜像文件的方法及装置
CN104951482A (zh) * 2014-03-31 2015-09-30 炬芯(珠海)科技有限公司 一种操作Sparse格式的镜像文件的方法及装置
CN104731602A (zh) * 2015-03-31 2015-06-24 上海盈方微电子有限公司 一种分离安卓镜像烧录流程的方法
CN105446772A (zh) * 2015-11-16 2016-03-30 青岛海信移动通信技术股份有限公司 一种系统升级的方法和装置
CN105446772B (zh) * 2015-11-16 2019-01-04 青岛海信移动通信技术股份有限公司 一种系统升级的方法和装置
CN105868644A (zh) * 2015-12-11 2016-08-17 乐视移动智能信息技术(北京)有限公司 控制移动终端Root功能的方法、装置及移动终端
CN105955781A (zh) * 2016-05-09 2016-09-21 京东方科技集团股份有限公司 一种emmc升级方法及升级装置和终端
CN105955781B (zh) * 2016-05-09 2024-03-12 京东方科技集团股份有限公司 一种emmc升级方法及升级装置和终端
CN106775485A (zh) * 2016-12-26 2017-05-31 惠州Tcl移动通信有限公司 一种基于移动终端的sd卡格式化的方法及系统
CN106775485B (zh) * 2016-12-26 2021-02-19 惠州Tcl移动通信有限公司 一种基于移动终端的sd卡格式化的方法及系统
CN111104148A (zh) * 2019-12-26 2020-05-05 红石阳光(北京)科技股份有限公司 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质
CN111176665A (zh) * 2019-12-26 2020-05-19 晶晨半导体(深圳)有限公司 大容量emmc镜像制作方法和装置
CN111104148B (zh) * 2019-12-26 2023-06-16 红石阳光(北京)科技股份有限公司 集成有Linux和android两系统的芯片平台的升级方法、系统及可读存储介质
CN111176665B (zh) * 2019-12-26 2024-02-09 晶晨半导体(深圳)有限公司 大容量emmc镜像制作方法和装置
CN111221682A (zh) * 2020-01-07 2020-06-02 四川长虹电器股份有限公司 一种存储系统镜像的方法
CN111221682B (zh) * 2020-01-07 2022-02-01 四川长虹电器股份有限公司 一种存储系统镜像的方法
CN113377391B (zh) * 2021-07-21 2023-11-21 北京百度网讯科技有限公司 镜像文件的制作和烧录的方法、装置、设备和介质
CN113377391A (zh) * 2021-07-21 2021-09-10 北京百度网讯科技有限公司 镜像文件的制作和烧录的方法、装置、设备和介质
CN113626060B (zh) * 2021-08-06 2023-08-01 天津津航计算技术研究所 vxworks系统下基于分离存储的在线升级方法
CN113626060A (zh) * 2021-08-06 2021-11-09 天津津航计算技术研究所 vxworks系统下基于分离存储的在线升级方法
CN113641449B (zh) * 2021-08-09 2022-10-21 展讯通信(天津)有限公司 镜像下载控制方法及装置、设备和存储介质
CN113641449A (zh) * 2021-08-09 2021-11-12 展讯通信(天津)有限公司 镜像下载控制方法及装置、设备和存储介质

Also Published As

Publication number Publication date
CN103605540B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
CN103605540A (zh) 基于安卓系统的快速写入flash镜像的方法
CN103777983B (zh) 一种星载软件在轨维护及升级方法
CN109343854B (zh) 基于zynq系统的智能自动化编译方法及系统
CN105446772B (zh) 一种系统升级的方法和装置
US10296400B2 (en) Configuring resources used by a graphics processing unit
CN103577211A (zh) 一种新的Android ROM系统打包和烧录、更新方式
CN105739961A (zh) 一种嵌入式系统的启动方法和装置
CN102141923B (zh) 内存文件系统加载方法及装置
CN105930186B (zh) 多cpu的软件加载方法及基于多cpu的软件加载装置
CN103970557A (zh) 存储设备启动系统的方法及存储设备
CN102567049A (zh) 嵌入式操作系统的升级方法
CN103324503A (zh) 一种数据烧录系统及方法
CN104731569A (zh) 一种数据处理方法及相关设备
CN102520981A (zh) 一种基于inand/nand的多分区存储设备的生产方法
CN102841802A (zh) 移动终端的软件升级方法
CN102331920B (zh) 一种数据处理方法及装置
CN102298534B (zh) 软件写入机顶盒的方法
CN105045718A (zh) 基于Linux嵌入式系统的调试系统、方法及修改方法
US9588884B2 (en) Systems and methods for in-place reorganization of device storage
CN107894899B (zh) Rom程序升级系统及升级方法
CN104951482A (zh) 一种操作Sparse格式的镜像文件的方法及装置
CN101131649A (zh) 设有闪存的装置的只读存储器升级速度改善方法
CN101151356B (zh) 带兼容配置功能控制芯片存储装置的制造方法
CN108334453B (zh) 一种文件调试方法、装置、终端设备及存储介质
CN102750167A (zh) 应用程序启动方法、装置和计算机系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant