成功升级中九MJ5812-2A接收机

2024-01-05 19:50

本文主要是介绍成功升级中九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

设置下每秒位数为115200,那么就可以使用超级终端了。测试发现 默认的9600下,是乱码。

乱码

 

但即使是乱码,也可以验证,线的接法是好的。

 

 

更改为115200之后,再启动com3口,就是这样的了:

115200

 

11880  28800 是接收机频点1的参数。

 

 

那段文字,16进制下,是这样的:

接收到的数据

 

 

 

工具里头的,asc模式。

asc模式

 

 

好的,到这里,验证了是好的,我们的升级口的连接工作,算是完成了。

 

==========================================

 

刷机之前,要判断,是什么芯片。

 

这个是我家的山寨机。

我家的机子

 

 

主板是 MJ5812-2A 2009--7-15

 

因为刷机的还要知道flash的型号,我一直以为那个很长的是个flash, 

我愚笨了。

sdram

这个和我在实验室见到的,都是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

 

 

这个文件,我一度比较感兴趣,但是最后也没有用到去修改。

 

=================================================================

1m

 

先打开这个,设置好要写入的文件路径,然后点击回写按钮。

这个时候,再去打开接收机的电源。

这样,软件应该是可以和引导程序进行交互了。

 

最开始也显示”向引导程序发送bin文件“,

说明确实是芯片内的引导程序控制flash读写的。

 

成功了

=========================

 

后来又遇到了第一个bin,烧录进去,按钮和遥控器失灵。

信号强度不够,不能显示节目的情况。

在爸爸和我的努力下,都一一解决了。

====

感谢那些大牛们提供的全部工具和bin文件,全程支持。

前辈们甚至对M80A80CG FLASH都进行了研究。

提供对bin文件进行读写大牛和bin文件的大牛,都令我膜拜。

=================================

我家的这个机子的运行情况:

 

 

串口母口。老爸焊的。好多松香啊。

焊接上去的 串口】

 

 

 

 

 

 

 

 

可以收到16个台,爸爸妈妈对此还是很满足的。

 

 

正常使用

 

 

这篇关于成功升级中九MJ5812-2A接收机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/573980

相关文章

macOS升级后SVN升级

问题 svn: error: The subversion command line tools are no longer provided by Xcode. 解决 sudo chown -R $(whoami) /usr/local/Cellar brew install svn

Golang支持平滑升级的HTTP服务

前段时间用Golang在做一个HTTP的接口,因编译型语言的特性,修改了代码需要重新编译可执行文件,关闭正在运行的老程序,并启动新程序。对于访问量较大的面向用户的产品,关闭、重启的过程中势必会出现无法访问的情况,从而影响用户体验。 使用Golang的系统包开发HTTP服务,是无法支持平滑升级(优雅重启)的,本文将探讨如何解决该问题。 一、平滑升级(优雅重启)的一般思路 一般情况下,要实现平滑

JeecgBoot 升级springboot版本到2.6.0

1. 环境描述 Jeecgboot 3.0,他所依赖的springboot版本为2.3.5Release,将springboot版本升级为2.6.0。过程全纪录,从2开始描述。 2. 修改springboot版本号 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-pare

欧拉系统 kernel 升级、降级

系统版本  cat  /etc/os-release  NAME="openEuler"VERSION="22.03 (LTS-SP1)"ID="openEuler"VERSION_ID="22.03"PRETTY_NAME="openEuler 22.03 (LTS-SP1)"ANSI_COLOR="0;31" 系统初始 kernel 版本 5.10.0-136.12.0.

Zookeeper集群是如何升级到新版本的

方案1:复用老数据方案 这是经过实践的升级方案,该方案是复用旧版本的数据,zk集群拓扑,配置文件都不变,只是启动的程序为最新的版本。 参考文章: Zookeeper集群是如何升级到新版本的 方案2:重新建立数据方案 该方案的思路是:先停掉一台follower的机器上的服务,然后加入一个新版本的zk(zk的数据目录是空的),然后启动新zk,之后新zk会把旧集群中的数据同步过来。之后再操作另

mysql数据库8.0小版本原地升级

mysql数据库8.0小版本原地升级 准备工作升级工作停库使用新版本软件启动数据库更新环境变量重启数据库 升级日志 OS release: CentOS 7.9升级前DB version: MySQL 8.0.30数据库升级安装包:mysql-8.0.36-linux-glibc2.12-x86_64.tar.xzMySQL Shell安装包:mysql-shell-8.0.36

我成功在本地打开了Cesium啦!

1首先下载Node.js,我是跟着这篇下载的,https://zhuanlan.zhihu.com/p/77594251,不过这后面的我没弄对Cesium环境配置也没影响。 另外:我看其他推文说,在终端写node -v和npm-v查node和npm的版本可以检测node和npm是否下载成功。 2然后我在CesiumB站官号看的教学视频,跟着下载Cesium源代码。 Cesium基础入门1-零

面试官:synchronized的锁升级过程是怎样的?

大家好,我是大明哥,一个专注「死磕 Java」系列创作的硬核程序员。 回答 在 JDK 1.6之前,synchronized 是一个重量级、效率比较低下的锁,但是在JDK 1.6后,JVM 为了提高锁的获取与释放效,,对 synchronized 进行了优化,引入了偏向锁和轻量级锁,至此,锁的状态有四种,级别由低到高依次为:无锁、偏向锁、轻量级锁、重量级锁。 锁升级就是无锁 —>

Android三方登录,微信登录成功后闪屏问题

最近项目要加一个微信登录的功能,发现登录成功后进入WXEntryActivity界面,这个界面是微信来处理接受登录,分享等结果的。关闭的时候this.finish();界面闪烁,虽然不影响功能,但看起来狠辣眼,然后我就想是不是主题的原因,我索性将这个界面的主题设置为透明的 <activity android:name=".wxapi.WXEntryActivity"android:label="

自动升级系统OAUS续

一.缘起       自从 自动升级系统的设计与实现(源码) 发布以后,收到了很多使用者的反馈,其中最多的要求就是希望OAUS服务端增加自动检测文件变更的功能,这样每次部署版本升级时,可以节省很多时间,而且可以避免手动修改带来的错误。   现在,我就简单介绍一下最新版本的OAUS中关于这个功能的实现。在上一个版本中,我们是这样操作的:           每次有版本更新时,我们需