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

众里寻她, hi2023其实是DS80C390单片机的变种。增加波特率和boot的一些说明 [复制链接]

楼层直达

发帖
58
精华
11
金币
882
威望
105
贡献
113
好评
41
注册
2010-01-05
楼主    quicktime 发表于: 2010-03-25 22:33:56 
众里寻她, 却在灯火阑珊处。hi2023其实是DS80C390单片机的变种

基本确认hi2023其实是DS80C390单片机的变种。
51系列著名的集成开发工具Keil C支持这种芯片。也就是说以后可以用C来编写和调试hi2023的代码。

花了那么多精力,才接近真相。原来真相这么简单!

这两个帖子基本可以做古了。

[url=http://bbs.lcdhome.net/read-htm-tid-41817.html]从海尔机boot的一点小秘密,到hi2023(e)与51单片机指令分析。[/url]
[url=http://bbs.lcdhome.net/read-htm-tid-42323.html]海尔/国芯反汇编程序2.0版(支持源文件格式)[/url]

[color=darkred]====3/28更新====[/color]
3/25发现这个时,有些手快,byzx大侠的反编译器小巧、好用。而且还在不断更新中...,一直在用。
[color=darkred]==============[/color]

以下是Keil C手册对DS80C390的介绍:

DALLAS半导体80C390 80C400 5240 和变种提供额外的CPU模式KEIL编译器完
全支持这模式
连续模式允许创建超过传统8051的64K限制的更大的程序ROM D512K 和ROM
D16M 命令指示Cx51编译器采用连续模式far存储类型用来访问使用24位DPTR
查寻模式的变量和常数
注意
连续模式要求扩展的LX51连接/定位器和只在PK51专业开发者工具包有的扩展AX51
宏汇编器

附DS80C390的资料下载地址。英文的,找不到中文的,将就看看吧。
[url=http://datasheets.maxim-ic.com/en/ds/DS80C390.pdf]http://datasheets.maxim-ic.com/en/ds/DS80C390.pdf[/url]
[quote]#40楼 byzx 说:

原来那个BOOT2的帖子找不到了,新反一个BOOT2,应该比原来的正确。传在这里吧,供懂51汇编的朋友参考。

[url=http://bbs.lcdhome.net/job-htm-action-download-pid-473987-tid-43670-aid-45015.html]点击下载:BOOT2[/url]
[/quote]

[color=darkred]====3/28更新====[/color]

发现80C390手册上的一句话。
In this case, the internal SRAM is placed in
the program/data configuration and loaded with a small bootstrap loader program stored in the external flash
memory. The device then executes the internal bootstrap loader routine to modify/update the program memory
located in the external flash memory.

大意是说80C390的内部SRAM可以作为代码空间有外部Flash的小引导程序加载并执行。
这很好的解释了海尔机刷机过程中,boot2是怎样被加载和执行的。要知道标准51机时哈弗结构,要做到这点不太容易。

另外结合80C400资料,再联想到hi2023资料上提到hi2023有四个定时器。可以确定0D9~0DD寄存器是定时器相关,可用于第二个串口产生波特率。在0D9寄存器=07时,俺甚至能套波特率计算公式,算出波特率。

hi2023和80C390当然不一样,毕竟地址线数就不一样,hi2023还有视频解码功能。
仍然有一些不能解释的,比如在0D9寄存器=1F时,波特率如何计算,俺无法理解。

俺其实对单片机领域近乎白痴,也就最近在网上下了些资料胡乱看看,欢迎真正单片机高手探讨。
hi2023是不是80C390的变种并不重要,但是借助80C390包括功能更强的80C400,可以解释许多现象。更重要的是可以借助它使用专业开发工具。
本帖最近评分记录: 7 条评分