amobbs.com 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
回复: 136

STC单片机ISP下载协议分析遇到难题

  [复制链接]
(321710739)

打赏出0元收入0元

发表于 2010-4-28 19:21:46 | 显示全部楼层 |阅读模式
虽然STC的资料和网站土了一点,但是单片机用起来还可以的。
由于下载软件STC-ISP界面十分丑陋,并且不稳定,经常下载失败,所以产生了分析下载协议,重新编写软件,以及制作脱机下载器的想法。
第一步当然是截取PC机和MCU之间的通讯内容分析,
经过几天几夜的奋斗,取得了一点成果,但仍有相当一部分内容无法研究明白,现在决定暂时停止了,将前期得出的一些结论_公布与此。
以下所有信息均是在STC12C5604上得出,与早年某些型号比较变化较大。
数据包格式:
包头 + 标识 + 数据包长度 + 命令 + 数据 + 校验和 + 包尾
包头为两个字节,0x46,0xb9
标识分两种,PC机发送给MCU的为0x6A,MCU回应给PC的是0x68,标识后面还有一个字节固定为0x00。
数据包长度为除包头外的数据包总长。
命令为一个字节。
数据可以有也可以无,最多时有100多个字节。
校验和为两字节,为包头之后,校验和之前所有字节相加的值。
包尾固定为0x16
举个例子说明:
PC机发送:46 B9 6A 00 0D 50 05 00 36 01 E6 04 01 ED 16
MCU回应: 46 B9 68 00 07 8F 00 FE 16

大体工作流程:
PC机以最低波特率(默认1200bps)连续不断发送字节流 0x7F 0x7F 0x7F......
MCU上电后检测到RXD引脚上的脉冲变化后,用定时器测量0脉冲的宽度,并且根据测量值将自身波特率设置为与PC机相同(1200bps),然后发送一包数据,包含脉冲宽度的测量值,MCU固件版本,型号,配置选项等。
PC机收到后,判断型号是否匹配,根据MCU回应的脉宽值计算出MCU的时钟频率,然后计算出MCU可用的最大波特率,然后向MCU发送设置新波特率的命令。
经过几次来回交互后
PC机发送芯片容量和要下载程序文件的大小,MCU收到后据此擦除片内Flash。
然后PC机以128个字节为单位,带有写入地址等信息发送至MCU,MCU收到后回应128个字节校验和,校验成功或失败。
最后有需要的话,PC机还要发送配置选项信息。
最后发送完成命令,MCU收到后立即复位运行用户程序,不再回应数据。


命令列表:
命令        说明                             MCU回应       
7F        引导MCU进入ISP并测量时钟        50        MCU选项信息
50        型号等                              8F        应答
8F        新波特率测试                   8F        测试应答
8E        正式修改波特率                   84        修改波特率应答
84        文件容量,擦除芯片              00        应答
00        下载程序                             00/30        应答校验和,成功或失败
30        重新下载程序                  00/30        应答校验和
69        型号等                             8D        应答
8D        设置选项                       50        应答选项
82        退出                             Reset       

由于篇幅有限,上面只是简单的一个流程。
目前所有的工作流程和命令都搞清楚了,不了解的是个别命令携带的数据所表示的意义。
例如,MCU回应自身选项数据内容为
16 BF 16 BF 16 BF 16 C0 16 C0 16 BF 16 BF 16 BF
60 47 00 E6 04 8E FF FF F7 FF FF FF BF FF FF FF
F7 FF 00 00 00 00 00 00 00 00
前16个字节为进行8次脉宽测量的结果,60 47表示固件版本为6.0G,E6 04表示单片机型号为5604,后面还有一些字节表示时钟选择,复位电压,看门狗等等,不一一详述。

再一个是设置波特率命令
携带数据 C0 F3 3F 1A 28 83
C0即二进制1100 0000其中两个1分别表示的是串口二倍速和定时器T1 12倍速,F3是波特率发生器T1的重装值,12M晶振,F3重装正好是57600波特率。中间的两个字节3F 1A至今未搞明白是什么含义,只知道1A这个值随波特率不同而变化,后面的28字节是个延时值,表示切换波特率后多长时间回应,83是IAP功能的定时参数,这个值与晶振有关,83这个值适合12M晶振时使用。

下载数据的命令就很简单了
00 00 00 00 00 00 80 (128HEX)
前面两个固定00 00,后面的 00 00 是写入地址,再后面的00 80是数据量大小。
(321709959)

打赏出0元收入0元

 楼主| 发表于 2010-4-28 19:34:46 | 显示全部楼层
这个过程_真是相当繁琐,使用串口监视软件抓取整个通讯过程,试验各种不同情况下的表现。
后来编写了一个模拟程序,与STC-ISP软件通讯,可以成功骗过STC软件,顺利的完成下载到一个不存在的MCU中。
不断尝试修改每个字节的每个位,来测试某个字节的具体含义。
虽然成功得出了某些信息,但还是有一些信息是无论如何也试不出来的。

暂时告一段落,实在进行不下去了,如果有人感兴趣的话,我这里还有更多的测试数据和结果。
(321709417)

打赏出0元收入0元

发表于 2010-4-28 19:43:48 | 显示全部楼层
把单片机的监控程序读出来分析要靠得住些.
(321709229)

打赏出0元收入0元

发表于 2010-4-28 19:46:56 | 显示全部楼层
mark一下。
(321708993)

打赏出0元收入0元

发表于 2010-4-28 19:50:52 | 显示全部楼层
MARK
(321708777)

打赏出0元收入0元

发表于 2010-4-28 19:54:28 | 显示全部楼层
关注中。。。希望楼主再接再历
(321708235)

打赏出0元收入0元

发表于 2010-4-28 20:03:30 | 显示全部楼层
关注中。。。
(321708225)

打赏出0元收入0元

发表于 2010-4-28 20:03:40 | 显示全部楼层
所有潜心研究技术的人我都很敬佩


路过  


纯支持一下
(321707536)

打赏出0元收入0元

发表于 2010-4-28 20:15:09 | 显示全部楼层
回复【7楼】gx123  
所有潜心研究技术的人我都很敬佩
路过  
纯支持一下
-----------------------------------------------------------------------

同支持!
我也用过STC,楼主很牛!
(321706532)

打赏出0元收入0元

发表于 2010-4-28 20:31:53 | 显示全部楼层
不是有一个STC 第三方下载软件 MCUISP 5.2 吗?
(321703678)

打赏出0元收入0元

 楼主| 发表于 2010-4-28 21:19:27 | 显示全部楼层
也想过读出内部ISP固件,不过现在STC已今非昔比,做了很多措施防止读出。
使用MOVC读取任何应用程序地址范围外的空间,均会导致复位。
使用IAP功能读取任何非data flash区地址,结果不是全00就是全FF。
(321703608)

打赏出0元收入0元

发表于 2010-4-28 21:20:37 | 显示全部楼层
关注中!
(321703522)

打赏出0元收入0元

发表于 2010-4-28 21:22:03 | 显示全部楼层
记得有人发过一个帖子讲不掉电下载stc单片机的方法,可以结合起来考虑一下
(321702810)

打赏出0元收入0元

 楼主| 发表于 2010-4-28 21:33:55 | 显示全部楼层
不掉电下载STC单片机,只需要在应用程序中软复位到ISP代码区执行就可以了。
(321701894)

打赏出0元收入0元

发表于 2010-4-28 21:49:11 | 显示全部楼层
不掉电下载非常简单的
void serial(void) interrupt 4 /*串口中断入口*/
{
        delay_ms(300);
        ISP_CONTR=0x60;
}

先初始化串口EA和ES等于1,加上上面一点点。。。。
(321700298)

打赏出0元收入0元

发表于 2010-4-28 22:15:47 | 显示全部楼层
楼主很有钻研的精神,值得学习.
(321658245)

打赏出0元收入0元

发表于 2010-4-29 09:56:40 | 显示全部楼层
楼主很厉害,我对楼主的模拟ISP通信程序很感兴趣,能不能发一份给我,万份感谢!我的E-mail:ccm_post@126.com
(321656043)

打赏出0元收入0元

发表于 2010-4-29 10:33:22 | 显示全部楼层
看这个吧,有完整ispcode的反asm


http://blog.ednchina.com/walnutcy/169688/message.aspx
(321655981)

打赏出0元收入0元

发表于 2010-4-29 10:34:24 | 显示全部楼层
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3215814&bbs_page_no=1&search_mode=2&search_text=ispcode&bbs_id=9999


这些个东西的相关讨论。
(321454278)

打赏出0元收入0元

发表于 2010-5-1 18:36:07 | 显示全部楼层
回复【1楼】health
-----------------------------------------------------------------------

大力支持一下。
不是有一个STC 第三方下载软件 MCUISP 5.2 吗?
这个软件的创作者,他一定有办法
(321454046)

打赏出0元收入0元

发表于 2010-5-1 18:39:59 | 显示全部楼层
回复【楼主位】health
-----------------------------------------------------------------------

楼主很厉害,我对楼主的模拟ISP通信程序很感兴趣,
能不能发一份给我,万份感谢!我的E-mail:zhml_zhml@163.com
(321451772)

打赏出0元收入0元

发表于 2010-5-1 19:17:53 | 显示全部楼层
嘿嘿,STC的下载软件界面那个难看啊……
(321449108)

打赏出0元收入0元

发表于 2010-5-1 20:02:17 | 显示全部楼层
楼主,我可以提供 STC12C56xx ISP 代码,不知对你会不会有帮助
(321403100)

打赏出0元收入0元

 楼主| 发表于 2010-5-2 08:49:05 | 显示全部楼层
回复【22楼】skoo  
-----------------------------------------------------------------------

很有需要啊,麻烦你发出来吧,十分感谢。
不过我同样感兴趣的是,你怎么读出来的代码。
(321402723)

打赏出0元收入0元

 楼主| 发表于 2010-5-2 08:55:22 | 显示全部楼层
回复【22楼】skoo  
-----------------------------------------------------------------------

很有需要啊,麻烦你发出来吧,十分感谢。
不过我同样感兴趣的是,你怎么读出来的代码。
(321402382)

打赏出0元收入0元

 楼主| 发表于 2010-5-2 09:01:03 | 显示全部楼层
回复【20楼】4555  
-----------------------------------------------------------------------
用手机上的,等以后再上传相关内容。
(321384937)

打赏出0元收入0元

发表于 2010-5-2 13:51:48 | 显示全部楼层
不就是一个STC的ispcode嘛。。。。据说,你只要做个逐字节读取STC的所有rom地址空间,就能把STC的ispcode读出来。
然后,用商业“并行编程器”,就能烧录进mpc89系列mcu,,,这样就可以用STC的pc软件,下载“特供”的mpc芯片了(实际就变成了STC芯片)。。。哈哈哈

关于如何“逐字节读取”没试过。。。。

可以参考:
“谈宏晶STC单片机的ISP功能 (芯片保密性)原创”
点击此处下载 ourdev_421583.rar(文件大小:145K) (原文件名:谈宏晶STC单片机的ISP功能(STC205x_540x实际只有2种ic).rar)
(321384921)

打赏出0元收入0元

发表于 2010-5-2 13:52:04 | 显示全部楼层
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3215814&bbs_page_no=1&bbs_id=1006
(321363600)

打赏出0元收入0元

 楼主| 发表于 2010-5-2 19:47:25 | 显示全部楼层
多少年前的东西就不要拿出来了,早就变了。
(320826711)

打赏出0元收入0元

发表于 2010-5-9 00:55:34 | 显示全部楼层
虽然STC的新IC不是MEGAWIN生产的,但是从ISP的触发等基本信息来看,STC的新产品只不过是在MEGAWIN的核心上修改过来的,楼主可以参考MEGGAWIN的一些资料,搞清楚ISP程序是怎么写出来的,应该比单纯的反向工程好做。
(320825082)

打赏出0元收入0元

发表于 2010-5-9 01:22:43 | 显示全部楼层
别试了,数据是加过密的.
(320820176)

打赏出0元收入0元

发表于 2010-5-9 02:44:29 | 显示全部楼层
真的可以读出来?不知道STC12C5A60S2系列的加密性能什么样,有什么方法可以读出里面的二进制数据
(320799685)

打赏出0元收入0元

发表于 2010-5-9 08:26:00 | 显示全部楼层
哈哈,学习!!
(320356951)

打赏出0元收入0元

发表于 2010-5-14 11:24:54 | 显示全部楼层
回复【楼主位】health
-----------------------------------------------------------------------

你好:
  我最近在做一个关于STC下载协议的课题,你能把你的分析结果及所用工具发给我一份么?
  非常感谢!
邮箱:wangguixi110@126.com
(319722961)

打赏出0元收入0元

发表于 2010-5-21 19:31:24 | 显示全部楼层
这里给出一个在Linux下烧写STC89C52RC的软件,开放源码

http://forum.ubuntu.org.cn/viewtopic.php?f=97&t=273790
(319715721)

打赏出0元收入0元

发表于 2010-5-21 21:32:04 | 显示全部楼层
mark
(314105698)

打赏出0元收入0元

发表于 2010-7-25 19:52:27 | 显示全部楼层
回复【楼主位】health
-----------------------------------------------------------------------

你好,看到你写的STC下载的资料,很感兴趣,现在产品中需要嵌入我们的产品中实现下载,方便提供更多的资料么,谢谢!

我在上海,目前在一个大型的德国公司研发中心工作,目前在中国很多产品都是降低成本,STC虽然不怎么样,但是目前看来还可以,所以在一些产品中使用了,不过我们的产品需要PC软件的控制,特别是有些需要进行程序升级,所以也在考虑STC的协议,只要能够实现特定型号、特定速率下的程序更新就可以了,不知兄台这边是否方便能够给于一些帮助?在此,多谢了!
同行多联系:QQ:5 6 2 4 0 4 7 3 9,20025120@126.com
(313969992)

打赏出0元收入0元

 楼主| 发表于 2010-7-27 09:34:13 | 显示全部楼层
没有更多资料了,因为难度太大,分析不下去了。
(313872679)

打赏出0元收入0元

发表于 2010-7-28 12:36:06 | 显示全部楼层
楼主,早就有兄弟自己编了个下载STC的上位机软件的,叫MCUISP,你可以和他聊聊...
(310584719)

打赏出0元收入0元

发表于 2010-9-4 13:55:26 | 显示全部楼层
回复【楼主位】health
-----------------------------------------------------------------------

有没有人从他的stc-isp下载软件来逆向工程的呢?
其实stc-isp的win下的软件逆向之后得到的东西应该更多。
(305336297)

打赏出0元收入0元

发表于 2010-11-4 07:49:08 | 显示全部楼层
回复【楼主位】health
-----------------------------------------------------------------------

兄台,不知你是如何编写的这个软件,有个问题向你请教一下,我用的STC12LE5612AD单片机,用串口调试助手截取的通信内容,都是固定在1200波特率下,然后用VC6.0进行模拟通信,当上位机不断发送7F到下位机,下位机可以返回一帧信息,上位机在向下发送,无论如何,下位机都无法响应了。程序没什么问题,不知其中有什么诀窍么?多谢指点

                                                                      邮箱:wangguixi110@126.com
(305057906)

打赏出0元收入0元

发表于 2010-11-7 13:08:59 | 显示全部楼层
收藏了。
(304262780)

打赏出0元收入0元

发表于 2010-11-16 18:01:05 | 显示全部楼层
要是有ISP代码就好研究了
(300811310)

打赏出0元收入0元

发表于 2010-12-26 16:45:35 | 显示全部楼层
回复【17楼】wkman  鱼片
看这个吧,有完整ispcode的反asm
http://blog.ednchina.com/walnutcy/169688/message.aspx
-----------------------------------------------------------------------

研究了这个反汇编代码,发现在偏移地址0x7fb(isp代码2k结尾)处DB  08H,02H,0F2H,34H代表了芯片的型号和Flash大小。
08H代表有4k flash
02H代表有1k EEPROM
0F2H,34H代表型号为STC12LE4052AD。
若要通过改这几个字节改变型号,别忘了改变那个对应的Flash和EEPROM容量大小值。否则能识别但写入不正常。
在偏移地址0xbf5处DB 00H,52H,34H,BEH,FCH,FFH,FFH,FFH,FFH,FFH,FFH,FFH储存的芯片配置信息
如0xbfc处的那个字节与开机看门狗自动启动有关。
前面四个字节DB 00H,52H,34H,BEH就是芯片的ID号,在上电时由isp程序载入RAM。
(300799655)

打赏出0元收入0元

发表于 2010-12-26 19:59:50 | 显示全部楼层
回复【44楼】victzhang
-----------------------------------------------------------------------
研究了这个反汇编代码,发现在偏移地址0x7fb(isp代码2k结尾)处db  08h,02h,0f2h,34h代表了芯片的型号和flash大小。
08h代表有4k flash
02h代表有1k eeprom
0f2h,34h代表型号为......
-----------------------------------------------------------------------
只是想到可以把所谓的st c12c0552、2051 改成st c12c5052AD,,,,哈!
(300789919)

打赏出0元收入0元

发表于 2010-12-26 22:42:06 | 显示全部楼层
应该可以改的。STC一个系列不同容量的单片机应该硬件都是一样,只是ispcode里的配置不同。你如果能够擦掉原来的ispcode,写入新的code就可以改型号
(300788863)

打赏出0元收入0元

发表于 2010-12-26 22:59:42 | 显示全部楼层
回复【22楼】skoo
楼主,我可以提供 STC12C56xx ISP 代码,不知对你会不会有帮助
-----------------------------------------------------------------------

56系列ISP代码能象4052那样读出来吗?
(295616402)

打赏出0元收入0元

发表于 2011-2-24 19:47:23 | 显示全部楼层
mark
(295456859)

打赏出0元收入0元

发表于 2011-2-26 16:06:26 | 显示全部楼层
mark
(295450154)

打赏出0元收入0元

发表于 2011-2-26 17:58:11 | 显示全部楼层
记号
(294665908)

打赏出0元收入0元

发表于 2011-3-7 19:48:57 | 显示全部楼层
mark
(291921470)

打赏出0元收入0元

发表于 2011-4-8 14:09:35 | 显示全部楼层
这个强悍
(290869990)

打赏出0元收入0元

发表于 2011-4-20 18:14:15 | 显示全部楼层
回复【22楼】skoo
楼主,我可以提供 stc12c56xx isp 代码,不知对你会不会有帮助
-----------------------------------------------------------------------
提供一下吧,呵,好久了椰。
(290868945)

打赏出0元收入0元

发表于 2011-4-20 18:31:40 | 显示全部楼层
mark
(290550304)

打赏出0元收入0元

发表于 2011-4-24 11:02:21 | 显示全部楼层
回复【楼主位】health  
-----------------------------------------------------------------------

不错
这个论坛确实和其他的论坛不一样,大家互动很高呀。充满信心!

支持开源 共分享
(285060230)

打赏出0元收入0元

发表于 2011-6-27 00:03:35 | 显示全部楼层
研究中
(285059977)

打赏出0元收入0元

发表于 2011-6-27 00:07:48 | 显示全部楼层
mark
(285057960)

打赏出0元收入0元

发表于 2011-6-27 00:41:25 | 显示全部楼层
这是很有用的研究,其实是同一个晶片,用程序人为的划出了不用同型号而已。
到时进低价的IC,完全可以写成高价多功能的IC
(280264673)

打赏出0元收入0元

发表于 2011-8-21 12:09:32 | 显示全部楼层
分析得很不错的资料,好像已经离成功不远了。
(280263771)

打赏出0元收入0元

发表于 2011-8-21 12:24:34 | 显示全部楼层
MARK
(273580385)

打赏出0元收入0元

发表于 2011-11-6 20:54:20 | 显示全部楼层
回复【1楼】health  
这个过程_真是相当繁琐,使用串口监视软件抓取整个通讯过程,试验各种不同情况下的表现。
后来编写了一个模拟程序,与stc-isp软件通讯,可以成功骗过stc软件,顺利的完成下载到一个不存在的mcu中。
不断尝试修改每个字节的每个位,来测试某个字节的具体含义。
虽然成功得出了某些信息,但还是有一些信息是无论如何也试不出来的。
暂时告一段落,实在进行不下去了,如果有人感兴趣的话,我这里还有更多的测试数据和结果。
-----------------------------------------------------------------------

能给我具体的步骤吗?正在写这个
(273512072)

打赏出0元收入0元

 楼主| 发表于 2011-11-7 15:52:53 | 显示全部楼层
可以用Free Serial Port Monitor这个软件,抓取指定串口上的通讯数据。
基本上就是PC机发送一个数据包的请求,然后MCU回应一个数据包的应答。
(273507350)

打赏出0元收入0元

发表于 2011-11-7 17:11:35 | 显示全部楼层
回复【66楼】health
可以用free serial port monitor这个软件,抓取指定串口上的通讯数据。
基本上就是pc机发送一个数据包的请求,然后mcu回应一个数据包的应答。
-----------------------------------------------------------------------

不是。吧协议具体给我下。我邮箱sa@kmlinux.tk
现在在linux 下面工作。没win机器。只能用残废的gSTC-ISP来下载。但是没法设置选项。
所以帮个忙告诉下大致流程个帧格式啦~
(270723687)

打赏出0元收入0元

发表于 2011-12-9 22:25:58 | 显示全部楼层
不错,我现在也在为升级烦恼.不能让客户去用stc的程序去升级吧,想加上我的vc程序中,就是缺少这个协议啊.关注
(270719502)

打赏出0元收入0元

发表于 2011-12-9 23:35:43 | 显示全部楼层
学习,对修改芯片ID感兴趣!
(270460028)

打赏出0元收入0元

发表于 2011-12-12 23:40:17 | 显示全部楼层
http://jian870824.blog.163.com/blog/static/131184047200992795644807/

这里有详细的协议,需要的兄弟可去看看
(270429119)

打赏出0元收入0元

发表于 2011-12-13 08:15:26 | 显示全部楼层
好资料
(264374461)

打赏出0元收入0元

发表于 2012-2-21 10:06:24 | 显示全部楼层
我也来分析分析一下
(264374343)

打赏出0元收入0元

发表于 2012-2-21 10:08:22 | 显示全部楼层
楼主的分析,已经在后面N楼的基础之上,所以所有后面提供的资料基本是意思不大
(264374094)

打赏出0元收入0元

发表于 2012-2-21 10:12:31 | 显示全部楼层
mark
(264373548)

打赏出0元收入0元

发表于 2012-2-21 10:21:37 | 显示全部楼层
加过密的,基本上已经破_解不了,除非拆开芯片用电压法
(261564670)

打赏出0元收入0元

发表于 2012-3-24 22:36:15 | 显示全部楼层
求非STC12LE4052AD的ISP下载监控流程序。
(259108637)

打赏出0元收入0元

发表于 2012-4-22 08:50:08 | 显示全部楼层
再一个是设置波特率命令
携带数据 C0 F3 3F 1A 28 83
C0即二进制1100 0000其中两个1分别表示的是串口二倍速和定时器T1 12倍速,F3是波特率发生器T1的重装值,12M晶振,F3重装正好是57600波特率。中间的两个字节3F 1A至今未搞明白是什么含义


波特率数据校验

3f + c0 = ff

f3 + (1a / 2) = 100
(259000282)

打赏出0元收入0元

发表于 2012-4-23 14:56:03 | 显示全部楼层
health 发表于 2010-4-28 21:19
也想过读出内部ISP固件,不过现在STC已今非昔比,做了很多措施防止读出。
使用MOVC读取任何应用程序地址范 ...

这也是 RESET STC12 好方法
(258926318)

打赏出0元收入0元

发表于 2012-4-24 11:28:47 | 显示全部楼层
与STC-ISP软件通讯,可以成功骗过STC软件,顺利的完成下载到一个不存在的MCU中。


不知有没有试过成功下载一个IC
(258728824)

打赏出0元收入0元

发表于 2012-4-26 18:20:21 | 显示全部楼层
我使用的是串口监视精灵,可以监控串口的各种参数和数据。经过测试,把stcisp里设置的单片机的设置参数对应的位置弄清楚了,只是我只有stc12c5a60s2这一个型号,无法测试型号,单片机型号对应的字节及代表的单片机型号弄出来没,如果有的话,希望楼主给发一份资料,我的邮箱tlp.totop%foxmail.com(%改@),谢谢!
(258727025)

打赏出0元收入0元

发表于 2012-4-26 18:50:20 | 显示全部楼层
厉害,不知楼主成功没有。
(258712504)

打赏出0元收入0元

发表于 2012-4-26 22:52:21 | 显示全部楼层
通过使用单片机模拟,使用stcisp v4.83的 “检查固件版本及固件”的功能,单片机程序中使用循环扫描,基本上测试出了stc的系列及其代码。
(258706944)

打赏出0元收入0元

发表于 2012-4-27 00:25:01 | 显示全部楼层
LZ啊、直接用IAP系列的就行了啊、别折磨自己了、
(258279133)

打赏出0元收入0元

发表于 2012-5-1 23:15:12 | 显示全部楼层
我测试到的型号:

D206:-->STC10F06
D208:-->STC10F08
D20A:-->STC10F10
D236:-->IAP10F06
D246:-->STC10F06X
D248:-->STC10F08X
D266:-->STC10F06XE
D276:-->IAP10F06XE
D26E:-->STC10L06XE
E604 -->12C5604
E204 -->STC11F04

...............................
(258245092)

打赏出0元收入0元

发表于 2012-5-2 08:42:33 | 显示全部楼层
fsaok 发表于 2012-5-1 23:15
我测试到的型号:

D206:-->STC10F06

这个有点用处。

stc12cx052系列:从0552~5052,实际都是8kflash的 mpc82e52芯片,不区分3.3v和5v,,,,

能否把内部ic号找一下?

理论上买最便宜的0552,可以刷成82e52,,,哈哈。
(258244248)

打赏出0元收入0元

发表于 2012-5-2 08:56:37 | 显示全部楼层
mark 一下
(258237496)

打赏出0元收入0元

发表于 2012-5-2 10:49:09 | 显示全部楼层
怎么刷?
ic的差价多少?
(258214948)

打赏出0元收入0元

发表于 2012-5-2 17:04:57 | 显示全部楼层
学习了
(258214575)

打赏出0元收入0元

发表于 2012-5-2 17:11:10 | 显示全部楼层
fsaok 发表于 2012-5-2 10:49
怎么刷?
ic的差价多少?

用并行编程器,刷就可以了。

我用megawin提供的编程器,把mpc82e54(16k flash实际对应:stc12c5412AD系列),刷入stc12LE4052AD的ispcode可用,,,,降级了,,,

(256408427)

打赏出0元收入0元

发表于 2012-5-23 14:53:38 | 显示全部楼层
fsaok 发表于 2012-5-1 23:15
我测试到的型号:

D206:-->STC10F06

我的测试结果更多,我使用的方法是上面说的,使用程序扫描,所以型号更多。两个字节,一个表示系列,一个表示容量。先说系列:
F4: stc89F54
F3: stc12C54
F2: STC12C4052
F1: STC89C54RD+
F0: STC89C53RC
E6:   STC12C5604
E2: STC11F04
E1: STC12C5204
E0: STC12C5404
D4: STC15f04
D3:   STC11F08
D2:   STC10F04
D1:   STC12C5A08X
58:   STC89LE58AD
56:   STC89LE516AD
54:   STC89LE54AD
52:   STC89LE52AD

型号可以针对一个系列,再使用扫描获取,不过我没有再试了,只是使用stc12c5a系列(D1)的试了下。
在这个系列里,一个字节表示具体型号byte
bit7                :          0 LE        1 C
bit6-bit5        :          11 S2        10 AD        01 CCP        00 X
bit4-bit1        :        if(byte == 0xff) 容量:62K;else        容量=2<<((byte+1)&0x1e);  
bit0                :        1 IAP        0 STC

如:D1 FE: STC12C5A60S2
(256408311)

打赏出0元收入0元

发表于 2012-5-23 14:55:34 | 显示全部楼层
本帖最后由 tlptotop 于 2012-5-23 15:05 编辑
fsaok 发表于 2012-4-22 08:50
波特率数据校验

3f + c0 = ff


很好奇,你这个是这么总结出来的?
我测试了,还真是这样。

不知你研究到什么程度了,我刚弄到上位机发送"7f",下位机返回各项参数这。能从参数中获取stcisp软件上显示的各项信息,但能有很多字节搞不清楚,不过如果做下载程序的话,感觉那些字节对下载没有影响。同一型号,不同固件版本的单片机,竟然返回的数据格式都不一致。详见我的帖子:http://bbs.mydigit.cn/read.php?tid=416861
搜狗截图_2012-05-23_11-21-59.png
(256071058)

打赏出0元收入0元

发表于 2012-5-27 12:36:27 | 显示全部楼层
看来我当初放弃研究这个是正确的
(255626266)

打赏出0元收入0元

发表于 2012-6-1 16:09:39 | 显示全部楼层
以上的资料足以写出一个针对某一具体型号stc单片机的下载软件。
(255625161)

打赏出0元收入0元

发表于 2012-6-1 16:28:04 | 显示全部楼层
本帖最后由 BXAK 于 2012-6-1 16:31 编辑
gamethink 发表于 2012-5-27 12:55
我这里也用大量的STC芯片,烧录极度麻烦,目前还找不到所谓的脱机烧录!
也尝试过研究怎么ISP,后来就放弃 ...


有STC脱机烧录工具,也有使用资料(STC官网左上角),好像是200元,
但网上没有制作资料没法DIY

wave0.jpg
(255306443)

打赏出0元收入0元

发表于 2012-6-5 09:00:02 | 显示全部楼层
留个记号,防止以后找不着
(255304180)

打赏出0元收入0元

发表于 2012-6-5 09:37:45 | 显示全部楼层
tlptotop 发表于 2012-5-23 14:53
我的测试结果更多,我使用的方法是上面说的,使用程序扫描,所以型号更多。两个字节,一个表示系列,一个 ...

大家看看zlg公司的 smartPRO系列通用编程器,他们已经可以支持包括最新的STC15系列在内的95%的STC芯片了

听说也是分析原厂烧录算法做出来的

谁能联系内部研发人员,咨询咨询
(255283683)

打赏出0元收入0元

发表于 2012-6-5 15:19:22 | 显示全部楼层
okmjia 发表于 2012-6-5 09:37
大家看看zlg公司的 smartPRO系列通用编程器,他们已经可以支持包括最新的STC15系列在内的95%的STC芯片了
...

zlg公司的 smartPRO系列通用编程器,他们已经可以支持包括最新的STC15系列在内的95%的STC芯片了


更新的软件,是并行编程,还是伪装成串口编程?
(255276062)

打赏出0元收入0元

发表于 2012-6-5 17:26:23 | 显示全部楼层
本帖最后由 tlptotop 于 2012-6-5 17:37 编辑
okmjia 发表于 2012-6-5 09:37
大家看看zlg公司的 smartPRO系列通用编程器,他们已经可以支持包括最新的STC15系列在内的95%的STC芯片了
...


我已经做了一个下载软件,不过目前缺乏测试,只支持stc12x5A系列的芯片。测试程序发在http://bbs.mydigit.cn/read.php?tid=416861
测试版下载地址:http://1000eb.com/9tys  目前支持参数设置和程序下载,支持各种波特率,不过现在只支持bin格式的程序文件。

QQ截图20120601184412.jpg
我在上面说过,目前网上能找的的资料足够做一个下载软件了。
现在支持stc(全部或部分单片机)下载的程序有: stcisp  、 mcuisp、 gSTC、 伟纳电子的、再加个周立功, 噢,还有我做的这个ToStc。
(255271063)

打赏出0元收入0元

发表于 2012-6-5 18:49:42 | 显示全部楼层
to okmjia  

恰好手上有x5的编程器n久吃灰的,,,,去下载了最新zlg的程序,没有支持stc新的mcu!

(255203777)

打赏出0元收入0元

发表于 2012-6-6 13:31:08 | 显示全部楼层
呵呵。。研究透了。。。就怕这芯片以后没人用了,就白研究了
(255013120)

打赏出0元收入0元

发表于 2012-6-8 18:28:45 | 显示全部楼层
okmjia 发表于 2012-6-5 09:37
大家看看zlg公司的 smartPRO系列通用编程器,他们已经可以支持包括最新的STC15系列在内的95%的STC芯片了
...

smart pro 没有支持新的stc芯片啊???
x5-stc1.JPG
(253916160)

打赏出0元收入0元

发表于 2012-6-21 11:11:25 | 显示全部楼层
花了2块5 下下来的。共享给大家了。呵呵。 STC单片机集成下载器的设计与实现.pdf (563.26 KB)
(253812806)

打赏出0元收入0元

发表于 2012-6-22 15:53:59 | 显示全部楼层
现在还有人在研究吗
(253810949)

打赏出0元收入0元

 楼主| 发表于 2012-6-22 16:24:56 | 显示全部楼层
mcu_mouse 发表于 2012-6-21 11:11
花了2块5 下下来的。共享给大家了。呵呵。

看了一下,基本就是我顶楼发的内容。
还真有人拿去当论文发表了。
回帖提示: 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号-1 )

GMT+8, 2020-7-8 07:27

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表