打印
[国产单片机]

近距离接触Megawin

[复制链接]
9251|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
McuPlayer|  楼主 | 2009-3-17 23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
McuPlayer|  楼主 | 2009-3-17 23:59 | 只看该作者

Megawin在工具方面的作为

Megawin对其51内核的IC在工具做了哪些技术准备以应对后STC时代的市场?

今天对Megawin的资料瞅了一个晚上,主要是工具方面,下面几点算是个总结吧。

1、2线烧录(不包括VCC和GND)
   不依赖于IAP或者ISP的烧录,估计ISP代码是以此方式烧进去的。
2、1线ISP(不包括VCC和GND)
   只需一根线的ISP,这个倒是个不错的idea
3、基于UART的ISP(串口)
   TXD和RXD来升级,这个是原来STC得以发扬广大的尚方宝剑啊
4、2线仿真OCD
   基于Keil的调试,安装Megawin提供的驱动,不占用单片机系统资源

使用特权

评论回复
板凳
McuPlayer|  楼主 | 2009-3-18 00:00 | 只看该作者

STC的风光满面,靠的是什么(技术方面)

STC的风光满面,靠的是什么?
不考虑市场操作上的手法,我们从技术角度去看,会发觉STC不是平白无故的享受风光的。

STC的串口ISP下载以及**的高成本,是很多工程师选择它的理由。
不用买开发工具了,这可不是简单节约Money的问题,而是我们工程师有了更多的自由度。可以花50¥买STC的下载板,也可以自己用MAX232芯片做一个,甚至可以把此部分做进产品升级的时候用。

STC的型号非常多,相同型号还有不同版本,搞解密的哥们整天对着电子显微镜拍下的图片找熔丝,这人力成本和设备导致STC的**成本一直比较高。很多IC**成本低就是那些熔丝位置早已明了,直接FIB修改,然后直接读出来了,当然便宜了。

如今STC与Megawin的合约到期,Megawin可以冲到前台做推广。双方都做了很多努力,STC寻其他供应商平衡Megawin,Megawin寻其他代理商平衡STC。
希望他们的共同努力,能给我们这些工程师带来更好的单片机用。

使用特权

评论回复
地板
McuPlayer|  楼主 | 2009-3-18 00:00 | 只看该作者

看看Megawin的一线ISP是如何做的

ReceiveDat:
        PUSH    ACC                             ;0224 : C0 E0
        PUSH    R0                              ;0226 : C0 00
        MOV     R0,#08H                         ;0228 : 78 08
L022A:
        JNB     TXD,$                           ;022A : 30 B1 FD
        CLR     TXD                             ;022D : C2 B1
        MOV     R5,#03H                         ;022F : 7D 03
        DJNZ    R5,$                            ;0231 : DD FE
        SETB    TXD                             ;0233 : D2 B1
        MOV     R5,#06H                         ;0235 : 7D 06
        DJNZ    R5,$                            ;0237 : DD FE
        MOV     C,TXD                           ;0239 : A2 B1
        RLC     A                               ;023B : 33
        MOV     R5,#06H                         ;023C : 7D 06
        DJNZ    R5,$                            ;023E : DD FE
        DJNZ    R0,L022A                        ;0240 : D8 E8
        CLR     TXD                             ;0242 : C2 B1
        MOV     R5,#03H                         ;0244 : 7D 03
        DJNZ    R5,$                            ;0246 : DD FE
        SETB    TXD                             ;0248 : D2 B1
        MOV     R7,A                            ;024A : FF
        POP     R0                              ;024B : D0 00
        POP     ACC                             ;024D : D0 E0
        RET                                     ;024F : 22
SendToHost:
        PUSH    ACC                             ;0250 : C0 E0
        PUSH    R0                              ;0252 : C0 00
        MOV     A,R7                            ;0254 : EF
        MOV     R0,#08H                         ;0255 : 78 08
L0257:
        JNB     TXD,$                           ;0257 : 30 B1 FD
        CLR     TXD                             ;025A : C2 B1
        MOV     R5,#03H                         ;025C : 7D 03
        DJNZ    R5,$                            ;025E : DD FE
        RLC     A                               ;0260 : 33
        MOV     TXD,C                           ;0261 : 92 B1
        MOV     R5,#00H                         ;0263 : 7D 00
        DJNZ    R5,$                            ;0265 : DD FE
        MOV     R5,#0A0H                        ;0267 : 7D A0
        DJNZ    R5,$                            ;0269 : DD FE
        SETB    TXD                             ;026B : D2 B1
        MOV     R5,#03H                         ;026D : 7D 03
        DJNZ    R5,$                            ;026F : DD FE
        DJNZ    R0,L0257                        ;0271 : D8 E4
        POP     R0                              ;0273 : D0 00
        POP     ACC                             ;0275 : D0 E0
        RET                                     ;0277 : 22

使用特权

评论回复
5
木头东瓜| | 2009-3-18 08:52 | 只看该作者

占了这么多位子

赶紧拉点啥出来
哈哈
我对它那个单线下载很感兴趣
还有那个带USB的单片机

使用特权

评论回复
6
xwj| | 2009-3-18 09:19 | 只看该作者

还有位吗?

使用特权

评论回复
7
McuPlayer|  楼主 | 2009-3-18 09:59 | 只看该作者

占位是仅为了表达的连续性好而已

使用特权

评论回复
8
谈的元| | 2009-3-18 20:16 | 只看该作者

哈哈,多站一点啊

使用特权

评论回复
9
chen_sf| | 2009-3-18 21:46 | 只看该作者

关注中

也站一个位置,

使用特权

评论回复
10
huangqi412| | 2009-3-19 08:12 | 只看该作者

关注

使用特权

评论回复
11
aolin| | 2009-3-19 15:49 | 只看该作者

单线烧录应该是一个败笔!

我亲眼看到一家方案公司用笙泉给客户做产品,尽管IC上面打的是方案公司自己的Part No, 但内行人一看就知道是笙泉的芯片,只不过是买了笙泉的芯片再作remark而已(因为烧录器和烧录上有Megawin的字样和**)。
他去现场给客户升级的时候就是拿一个单线烧录器去的,通讯线只需要接IC的一根线(好像是TXD),当IC是空白的时候烧录没有问题,当IC有内容的时候,用这种方式烧录时,烧录器明明显示烧录成功,但运行时莫名奇妙出问题!后又把IC拆下用并行烧录器烧录,又是好的。

我怀疑这个单线烧录是不是没有校验!

使用特权

评论回复
12
McuPlayer|  楼主 | 2009-3-19 16:53 | 只看该作者

楼上说的对,但不应以此否定一线烧录

烧录不校验,确实不负责,此量产烧录大忌。
但不应以此来否定一线烧录

其实UART烧录,实际是半双工来工作的,完全可以用单线来实现,以减少客户设计时特殊处理IO的数量。

一般烧录用的IO口,可以要特别处理,比如上拉电阻、驱动后级别的限流电阻、后级的输入电容等参数。

使用特权

评论回复
13
McuPlayer|  楼主 | 2009-3-20 20:02 | 只看该作者

今天反汇编了下Megawin的一线ISP Loader

等有空的时候再分析与大家share

为了它,把我的8051反汇编找了几个BUG
虚拟机分析根本就没用武之地,因为它的代码没有任何指令陷阱。

使用特权

评论回复
14
McuPlayer|  楼主 | 2009-3-21 02:24 | 只看该作者

证实了aolin的所言非虚

经过分析单线ISP Loader代码,确实可靠性差。
而且,读取是有BUG的,这也许是Megawin没有开放读取的原因之一吧。

使用特权

评论回复
15
McuPlayer|  楼主 | 2009-3-21 06:28 | 只看该作者

Megawin一线ISP Loader的读操作

EndCmd:
        LCALL   IspInit                         ;012A : 12 01 E3
        MOV     FlashA5,#00H                    ;012D : 75 2A 00
        LJMP    MainLoop                        ;0130 : 02 00 1C
ReadCmd:
        JNB     Flag_F5F7,L013B                 ;0133 : 30 00 05
        MOV     IFADRH,#3BH                     ;0136 : 75 E3 3B
        SJMP    L0145                           ;0139 : 80 0A
L013B:
        JNB     Flag_F6,L0143                   ;013B : 30 01 05
        MOV     IFADRH,#0FBH                    ;013E : 75 E3 FB
        SJMP    L0145                           ;0141 : 80 02
L0143:
        SJMP    $                               ;0143 : 80 FE
L0145:
        LCALL   IspSwitch                       ;0145 : 12 01 D7
        LCALL   IspRead                         ;0148 : 12 01 EE
        MOV     R0,#00H                         ;014B : 78 00
L014D:
        MOV     WDTCR,#17H                      ;014D : 75 E1 17
        MOV     IFADRL,R0                       ;0150 : 88 E4
        LCALL   IspSequent                      ;0152 : 12 02 00
        MOV     R7,IFD                          ;0155 : AF E2
        LCALL   SendToHost                      ;0157 : 12 02 50
        INC     R0                              ;015A : 08
        CJNE    R0,#00H,L014D                   ;015B : B8 00 EF
        SJMP    EndCmd                          ;015E : 80 CA


这就是读部分的代码,应该是Megawin的工程师还没有完工吧。

另外,Megawin的ISP做Verify仅仅是校验一下CheckSum而已,所以隐患太大了。

使用特权

评论回复
16
cooperate| | 2009-3-23 17:07 | 只看该作者

LZ辛苦了

    刚好关注了段时间,刚拿了样片准备玩玩,LZ的分析很到位,欢迎继续,呵呵

使用特权

评论回复
17
McuPlayer|  楼主 | 2009-3-24 16:57 | 只看该作者

俺已经“江郎才尽”了

这是扔块砖头出去,然后守株待玉。
还在等...............

使用特权

评论回复
18
gtw| | 2009-3-24 18:12 | 只看该作者

哈哈,守株待玉

可惜对megawin不感兴趣了

使用特权

评论回复
19
菜花香| | 2009-3-24 21:58 | 只看该作者

我估计这位跟那个什么“Megawin”交情不浅吧?

呵呵,我估计这位跟那个什么“Megawin”交情不浅吧?
还说什么**成本多高,
我所知道的在华强北**1颗STC单片机大概也就几百块钱的样子吧。

使用特权

评论回复
20
gtw| | 2009-3-24 22:57 | 只看该作者

高人高论

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

338

主题

7307

帖子

26

粉丝