赞助论坛
  • 5663阅读
  • 0回复

MJ5812-2A升级经验谈 [复制链接]

楼层直达
发帖
32
精华
0
金币
54
威望
0
贡献
0
好评
0
注册
2011-01-22
楼主    山东郭大侠 发表于: 2011-12-06 14:36:15 
还没放假的时候,爸爸就说,家里头的中九机子不能用了,带个串口来,自己烧录程序。

前天开工。

========

我们这款机子的升级口,是四个针的,是四个杜邦线。

杜邦线没有带回来。直接用导线就行。













网友们说,下面这两个三极管的部分,就是刷机小板所具备的转换电路,具体实现的功能,我并不清楚。

据说这俩三极管,电阻什么的,使得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个台,爸爸妈妈对此还是很满足的。