Mstar晨星机芯的智能电视固件语法说明

MMC命令语法说明

#以康佳LED37R5200PDE为例,版本:99010600,机芯:6a800c
升级包(固件)名:MstarUpgrade.bin

语法如下:

mmc slc 0 1

↑ 格式:mmc slc size reliable_write
设置slc分区大小,size为0表示不设置,自动向上取整,保证不小于输入的size。

mmc rmgpt

↑ 移除当前所有分区

创建各分区
格式:mmc create 分区名 长度
(按顺序创建分区,第1个分区是misc,最后一个是customercfg)

mmc create misc 0x00080000
mmc create recovery 0x00A00000
mmc create boot 0x00400000
mmc create system 0x019000000
mmc create userdata 0x32000000
mmc create cache 0x12C00000
mmc create tvservice 0x05000000
mmc create tvcustomer 0x01000000
mmc create tvdatabase 0x00800000
mmc create customercfg 0x00800000

写入数据到分区:

filepartload 50000000 MstarUpgrade.bin 4000 5d0fec

↑ 从MstarUpgrade.bin的起始地址为0x4000开始,读取0x5d0fec大小的数据,存入以0x50000000为起始地址内存处:
(0x50000000为临时存放起始地址)

mmc erase.p recovery

↑ 擦除recovery分区内容

mmc write.p 50000000 recovery 5d0fec 1

从内存地址0x50000000处读取大小为0x5d0fec的数据,存入recovery分区,“1”表示忽略空白

filepartload 50000000 MstarUpgrade.bin a04000 3834a2
mmc erase.p boot
mmc write.p 50000000 boot 3834a2 1mmc erase.p system
filepartload 50000000 MstarUpgrade.bin e04000 6400000
mmc write.p.continue 50000000 system 0 6400000 1

mmc write.p.continue命令是将数据写到指定分区偏移处
这里是将大小为0x6400000的数据写入system分区的第0块偏移处
(每块是512字节)

filepartload 50000000 MstarUpgrade.bin 7204000 6400000
mmc write.p.continue 50000000 system 32000 6400000 1

↑ 这里是将大小为0x6400000的数据写入system分区的第0x32000块偏移处
(512字节 = 0x200)
(0x32000 = 0x6400000 / 0x200)
(0x7204000 = 0xe04000 + 0x6400000)
此处的偏移地址是以块为单位,有时也用字节为单位
具体用哪个通过 ? mmc或help mmc来查询自己系统支持的格式
另外nand的相关命令也不一样

filepartload 50000000 MstarUpgrade.bin d604000 6400000
mmc write.p.continue 50000000 system 64000 6400000 1
filepartload 50000000 MstarUpgrade.bin 13a04000 6400000
mmc write.p.continue 50000000 system 96000 6400000 1filepartload 50000000 MstarUpgrade.bin 19e04000 3aa082
mmc erase.p userdata
mmc unlzo 50000000 3aa082 userdata 1

↑ 解压从内存地址0x50000000开始的长度为0x3aa082的数据,并写入userdata分区

filepartload 50000000 MstarUpgrade.bin 1a1b4000 13467b
mmc erase.p cache
mmc unlzo 50000000 13467b cache 1
filepartload 50000000 MstarUpgrade.bin 1a2f4000 5000000
mmc erase.p tvservice
mmc write.p 50000000 tvservice 5000000 1
filepartload 50000000 MstarUpgrade.bin 1f2f4000 1000000
mmc erase.p tvcustomer
mmc write.p 50000000 tvcustomer 1000000 1
filepartload 50000000 MstarUpgrade.bin 202f4000 800000
mmc erase.p tvdatabase
mmc write.p 50000000 tvdatabase 800000 1
filepartload 50000000 MstarUpgrade.bin 20af4000 800000
mmc erase.p customercfg
mmc write.p 50000000 customercfg 800000 1

设置环境参数:

setenv MIU0_GROUP_SELMIU 0000:0000:0000:0000
setenv MIU1_GROUP_SELMIU 4E00:0000:0000:0100
setenv MS_MEM LX_MEM=0x9600000 EMAC_MEM=0x100000 DRAM_LEN=0x20000000 LX_MEM2=0x50E00000,0xD900000 LX_MEM3=0xB0000000,0x0000000
setenv ROOT root=/dev/ram rw rootwait

↑ ROOT是变量,变量值是root=/dev/ram rw rootwait
用来指定根文件系统rootfs的位置(挂载点)
此处的文件系统是:ramdisk、可读写、rootwait指定内核等所有设备节点都加载后,在挂载检查rootfs的合法性。
(通常由于没有指定initrd,所以这个ramdisk镜像存在flash中,
此时应该在bootm命令中指定ramdisk镜像在flash中的地址,bootm kernel_addr ramdisk_addr 。)
(ramdisk: 是一种基于内存的虚拟磁盘技术,即把内存当磁盘用,默认采用ext2文件系统)

setenv bootargs console=ttyS0,115200 androidboot.console=ttyS0 $(ROOT) init=/init $(MS_MEM)
setenv MstarUpgrade_complete 1
setenv upgrade_mode 0
setenv db_table 0
setenv verify n
saveenv
setenv filesize 3834a2
setenv bootcmd mmc read.p 0x45000000 boot 0x400000\; bootm 0x45000000

↑ bootcmd是启动命令,后可接多条命令语句,中间用分号隔开。
read.p 从boot分区读取长度为0x400000的数据到内存地址为0x45000000开始处。
bootm 0x45000000 表示从内存地址为0x45000000处开始启动。
init=/init内核启动后运行的第一个程序

printenv
setenv MstarUpgrade_complete 1
saveenv    保存变量
printenv
% <-this is end of file symbol

*=================================

其它命令说明 :

filepartload 40300000 MstarUpgrade.bin 1000 4000000
mmc write 40300000 740b 4000000
filepartload 40300000 MstarUpgrade.bin 4001000 4000000
mmc write 40300000 2740b 4000000

↑ 从内存地址0x40300000读出长度为0x4000000的数据,写入第0x2740b块开始处
0x2740b = 0x740b + 0x4000000 / 0x200

(有的地方格式是:
mmc write addr blk# cnt
最后一个参数cnt是多少块,而不是字节长度)

filepartload 20200000 MstarUpgrade.bin d1e000 5da9658
mmc unlzo 20200000 5da9658 system 1
filepartload 20200000 MstarUpgrade.bin 6ac8000 65eb073
mmc unlzo.cont 20200000 65eb073 system 1

↑ 读取起始地址是512的整数倍处(分段压缩时按512字节/块)
连续解压后写入分区的尾部,不用指定偏移。

filepartload 20200000 MstarUpgrade.bin 255dd000 12800
mmc write.boot 1 20200000 0 12800
setenv bootcmd mmc read.p 0x25000000 boot 0x00500000\; bootm 0x25000000
setenv recoverycmd mmc read.p 0x25000000 recovery 0x00B00000\; bootm 0x25000000

↑ recoverycmd :设置recovery的启动命令

mmc erase

↑ 擦除整个chip

mmc erase 0 0x800000

↑ 从第0个block处开始擦除8M大小数据

mmc erase tvdatabase 0x800000

↑ 擦除tvdatabase分区开始之后的8M数据

mmc remove recovery

↑ 移除recovery分区(慎用)

reset

↑ 重置命令

*=================================
bootfile 定义缺省的下载文件
bootargs 定义传递给Linux内核的命令行参数
bootcmd 定义自动启动时执行的几条命令
bootdelay 执行自动启动(bootcmd中的命令)的延时秒数
serverip 定义tftp服务器端的IP地址

Mstar晨星机芯的智能电视固件更新MMC的语法说明相关推荐

  1. linux系统tcl电视刷机包,[刷机升级] 史上最全的TCL智能电视固件刷机包下载

    强制升级软件_V8-MS90104-LF1V0497 T/ }% h9 s- k' ~! Q# o 机芯:MS600机芯 4 M, F  t$ }& ?4 z( q" @$ n7 f ...

  2. Mstar Amlogic智能电视芯片

    任何智能设备,CPU(Central Processing Unit/中央处理器)都是决定其性能优劣的核心组件,在家电界,最为人们熟知的CPU厂商就是Mstar以及Amlogic这两个品牌了,那两个品 ...

  3. 苹果AirPods耳机推送新固件更新,TWS耳机与Find My可实现智能防丢

    苹果推送 iOS / iPadOS 16.5 Beta 2 更新的同时,原本还为 AirPods 耳机推送了固件更新 5E133.苹果在临时撤回之后,再次向用户推送了本次更新, 苹果官方表示当你的 A ...

  4. tcl网络电视android无法启动,tcl智能电视系统升级和刷机常见问题解答

    TCL电视升级花屏倒屏解决办法: 遥控器按键:062598 子菜单 XXX,XXX即屏参数代码,为三位阿拉伯数字,如010,055,实际操作时如从001,002等依次尝试. 盲调参数代码成功后机器会自 ...

  5. 长虹电视机android 4.0,长虹3013智能电视A7000 B5000 安卓4.0升级包

    第一次升级的朋友建议看下升级教程 http://www.7po.com/thread-133129-1-1.html , l9 X6 J3 R8 k- |. P6 ^- m) o3 o) K怎样进入工 ...

  6. 新型智能电视攻击,9成国外设备或受影响

    在近日举办的欧洲广播联盟媒体网络安全研讨会上,瑞士安全研究员Rafael Scheel分享了一种针对智能电视的新型攻击方法:通过发送恶意数字视频地面广播信号(DVB-T),实现远程控制电视设备并获得智 ...

  7. 赛门铁克发现智能电视或面临感染勒索软件的威胁

    近期,赛门铁克研究人员针对新型智能电视进行实验研究,以了解其抵御网络攻击的能力.实验结果显示,被感染勒索软件的全新智能电视均遭受无法使用的后果.赛门铁克将通过本文揭示智能电视中的安全问题,包括遭受攻击 ...

  8. 智能电视盒子芯片哪个更强 七大芯片方案性能详解

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 摘要:随 ...

  9. 智能电视盒子芯片哪个更强?七大芯片方案性能详解

    摘要:随着智能电视和家庭娱乐影音设备的普及,人们对选购家电产品有了更多更深刻的认识,从前期家电品牌的选择,到中期使用过程中的售后服务,再到后期家电产品的零部件更换都了如指掌. 小编今天就给大家一起聊聊 ...

最新文章

  1. c++画多边形_水彩画,这么美!怎么画出来的?
  2. 机器学习和图像识别是怎样彻底改变搜索的?
  3. python关键词大全_Python 批量获取Baidu关键词的排名并入库
  4. 2013年上半年工作总结,哇哈哈哈,给自己看的。
  5. VS发布 错误 未能将文件 复制到
  6. 相邀直播app最新入驻58位海外阿姨
  7. 用crt连接远程linux,在windows下secureCRT远程安全连接linux
  8. Amlogic_t962x_android7.1红外遥控驱动浅析
  9. python数字右对齐_python用format把float、int等数字字符串化设置左对齐右对齐居中对齐,宽度,保留几位...
  10. 设置table的td宽度,不随文字变宽
  11. 打开计算机出现服务器运行失败,win7打开Windows Media Player听歌提示“服务器运行失败”怎么办...
  12. 人大金仓 创建表空间_人大金仓kingbaseES安装及操作
  13. 舶来词 计算机英语,【英语单词趣谈】二十个阿拉伯舶来词
  14. 两台电脑如何共享文件?如何互相传输文件?
  15. 创业之初需要准备的六个方面
  16. U-boot简介及常用命令说明
  17. 《电子签名法》:CA名词解释
  18. 嵌入式Linux开发_Ping来Ping去
  19. 《Spring实战》读书笔记-第3章 高级装配
  20. 汇编语言笔记01_概述1(小甲鱼笔记总结)

热门文章

  1. 特朗普来给科大讯飞做推广?说好的5G高科技封锁清单呢?
  2. 数据库测试的重要性——永远不要忘记数据库测试
  3. Oracle REST DataServices(ORDS):Authentication认证
  4. 2019最新迅为-i.MX6Q开发板资料目录
  5. asp.net mvc Partial OutputCache 在SpaceBuilder中的应用实践
  6. 不靠研发靠营销,云米科技没“科技”?
  7. 【机器学习数学基础】——3、概率论与数理统计
  8. 【MongoDB】从入门到精通mongdb系列学习宝典,想学mongodb小伙伴请进来
  9. 学日语对计算机专业影响,计算机科学专业相关日语词汇总结
  10. 买一台云服务器到底能做什么?