本文主要是介绍成功升级中九MJ5812-2A接收机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
还没放假的时候,爸爸就说,家里头的中九机子不能用了,带个串口来,自己烧录程序。
前天开工。
========
我们这款机子的升级口,是四个针的,是四个杜邦线。
杜邦线没有带回来。直接用导线就行。
网友们说,下面这两个三极管的部分,就是刷机小板所具备的转换电路,具体实现的功能,我并不清楚。
据说这俩三极管,电阻什么的,使得RX和TX的电平均为0.
升级口的四个针,从左到右,依次是1地,2RX(收),3TX(发),4 DC 3.3v
连接到串口的母口上。
因为我家的电脑,没有串口,所以pc端,用的是usb转串口,是个公口。
关于如何连接的问题,人云亦云。
最早的版本是:
从图上看,这应该是个公口。我们仅仅是从这个图获知,确实可以连接串口来升级。
虽然以前连接过串口,但我那次紧紧是个转接线。
这次要发送和接受数据的。
我们需要的是连接母口。
无论是公口还是母口,引脚定义是固定的。
2是RX,3是TX。
接收机上,标明的2 RX和 3 TX, 如果2-2 3-3 ,pc和接收机就直连了。
事实是,为了发送和接受数据,接收机的Rx连接com的Tx,接收机的Tx连接com的Rx,1地连接com的5.
这一点,我们经过超级终端的检验,得到了证实。
感谢lcdhome 网友,lczhh,他也是用实际行动验证了这点。为我的判断,做了支持。
设置下每秒位数为115200,那么就可以使用超级终端了。测试发现 默认的9600下,是乱码。
但即使是乱码,也可以验证,线的接法是好的。
更改为115200之后,再启动com3口,就是这样的了:
11880 28800 是接收机频点1的参数。
那段文字,16进制下,是这样的:
工具里头的,asc模式。
好的,到这里,验证了是好的,我们的升级口的连接工作,算是完成了。
==========================================
刷机之前,要判断,是什么芯片。
这个是我家的山寨机。
主板是 MJ5812-2A 2009--7-15
因为刷机的还要知道flash的型号,我一直以为那个很长的是个flash,
我愚笨了。
这个和我在实验室见到的,都是sdram,不是flash。
我还费了力气,想要搞清楚,这个“flash“是多大的,打磨掉了芯片,想找到它的型号,还真是难度很大。
因为我试过了。我知道。
幸好,这个不是flash,这个是64M的SDDRAM。
这个和我家的机子,主板是一模一样的,感谢网友的慷慨分享,所有的芯片,都做好了注释。
左边的那个M80A80CG就是8Mbit,也就是1M的FLASH。是serial的,串行的。
我们就是给这个FLASH里头的bin文件,进行替换升级。
根据网友们的跟帖,
我知道了
这个主板的 是 GX3001+GX1121+RD5812+12X的配置。
只要知道这四个,就可以寻找到对应的升级文件,然后升级。
=============================================
使用国芯软件升级。
反复试验,就是不动。
只有1.001的版本,还动一点。
=
焦头烂额。
=================================================================
超级终端接受到的开机过程:
[valid code in serial flash]
[start]panel OK demo
[Enter the flash init]
==step1==
[init]----check sysdb, ok
==step2==
step2: no force key
step2: download_flag == 0, entry step3
==step3==
step3: flash head crc pass, entry step4
==step4==
step4: load zip app soft
step4: app soft crc pass, #normal start#
Uncompressing begin...
.......................................................
Done, booting the app soft.
value == 0x844840
chip_type:0
VideoFormat = 255
OutPutType = 255
flash mode = 2
AUDIO_PT8211
av_data:ffff
tuner_type:58c0
[RF]----rda5812
V1.84 Build20091209
Error MANUFACTER
[REMOTE]REMOTE_STD
@@ video_format == 1 gVideoFormat == 1
[AV] Play channel_num=01000001, service_id=0x3e9,service_name=CCTV-1
[AV] pcr_pid=0x834
[AV] video_pid=0x834
[AV] audio_pid=0x835
[Tuner] Lost!! freq=11880,QAM=0,Sym/s=28800
[Tuner] Lost!! freq=11880,QAM=0,Sym/s=28800
@@ video_format == 1 gVideoFormat == 1
[Tuner] Lost!! freq=11880,QAM=0,Sym/s=28800
[Tuner] Lost!! freq=11880,QAM=0,Sym/s=28800
[Tuner] Lost!! freq=11880,QAM=0,Sym/s=28800
看到解压缩的字样,让我想起实验室的arm板子来。
那个时候,引导程序才能控制flash和sdram。
不知道boot的命令。
只有靠GX的GxDownloader来控制下载。
=================================================
随着上面的问题,全部搞清楚:
1 连线是好的。
2 测试了几乎所有的国芯软件。
突然有信心成功。
=============================
配置文件,在其所在的框框里头输入GX,然后回车,是可以修改的,
太强大了,这个功能和构思。
[Main]
Ver=1.00
SegNumber=9
Seg0=All
Seg1=Bootload
Seg2=Main Code
Seg3=Logo
Seg4=Common Data
Seg5=Default UsrDB
Seg6=UsrDB
Seg7=SysDB
Seg8=Key
[All]
StartAddr=0x00000000
SegSize =0x00100000
[Bootload]
StartAddr=0x00000000
SegSize =0x00010000
[Main Code]
StartAddr=0x00050000
SegSize =0x000E0000
[Logo]
StartAddr=0x000F0000
SegSize =0x00010000
[Common Data]
StartAddr=0x0001FE00
SegSize =0x00005000
[Default UsrDB]
StartAddr=0x00020000
SegSize =0x00005000
[UsrDB]
StartAddr=0x00025000
SegSize =0x00005000
[SysDB]
StartAddr=0x00030000
SegSize =0x00010000
[Key]
StartAddr=0x000E0000
SegSize =0x00010000
[Config]
;COM=0
ChipType=0
;XTAL=4
FlashIF=1
PPIFlashModel=5
SPIFlashModel=0
SdramType=0
SdramSize=0
DisableEtcOpt=0
Title=GxDownloaderIII
这个文件,我一度比较感兴趣,但是最后也没有用到去修改。
=================================================================
先打开这个,设置好要写入的文件路径,然后点击回写按钮。
这个时候,再去打开接收机的电源。
这样,软件应该是可以和引导程序进行交互了。
最开始也显示”向引导程序发送bin文件“,
说明确实是芯片内的引导程序控制flash读写的。
=========================
后来又遇到了第一个bin,烧录进去,按钮和遥控器失灵。
信号强度不够,不能显示节目的情况。
在爸爸和我的努力下,都一一解决了。
====
感谢那些大牛们提供的全部工具和bin文件,全程支持。
前辈们甚至对M80A80CG FLASH都进行了研究。
提供对bin文件进行读写大牛和bin文件的大牛,都令我膜拜。
=================================
我家的这个机子的运行情况:
串口母口。老爸焊的。好多松香啊。
可以收到16个台,爸爸妈妈对此还是很满足的。
这篇关于成功升级中九MJ5812-2A接收机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!