搜索
bottom↓
回复: 22

ISP洞洞板下载器自制成功,大家来研究下编程协议吧~

[复制链接]

出0入0汤圆

发表于 2012-8-7 21:46:53 | 显示全部楼层 |阅读模式
资料来源:http://www.amobbs.com/thread-5490539-1-1.html

帖中的原理图缺少了去藕电容,至于加不加随你,反正我加了几个!

固件通过仿真器写入,上图




接着上读FLASH的逻辑图,这个SPI不知道是不是IO模拟SPI的,高电平脉宽0.25uS,低电平脉宽0.8uS-xuS(这个不稳定)



首先拉低复位脚,延时一段时间后,



发送指令进入编程模式,



第1个为指令码,第2个和第3个是地址,第4个和第5个是数据,数据排序为低字节在前面,高字节在后面



数据返回为循环上一个指令的末位字节,直到新指令才更新,



开始的时候时钟还行,



接着开始就惨不忍睹了!

写FLASH的逻辑图就不发了,今天就先到这,还没吃饭,回去吃饭去。

各位有兴趣的可以跟贴,但愿官方能早点发布编程协议。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-8-8 15:22:59 | 显示全部楼层
可以用Ida Pro 61打开hex配合逻辑分析仪进行分析

出0入0汤圆

 楼主| 发表于 2012-8-8 15:45:22 | 显示全部楼层
goodcode 发表于 2012-8-8 15:22
可以用Ida Pro 61打开hex配合逻辑分析仪进行分析

拜托,这个是太监版的SPI编程器(少了根使能线)
还有那个编程写入和读出的数据可以在下载软件上看到,
只要读取理解指令以及编程逻辑结构就可以解读出部分编程协议(做脱机编程器足够),

可惜这个编程方式无法简单的做多芯片同时编程(SPI不能共用)。

出0入0汤圆

发表于 2012-8-8 19:25:07 | 显示全部楼层
chengzepeng 发表于 2012-8-8 15:45
拜托,这个是太监版的SPI编程器(少了根使能线)
还有那个编程写入和读出的数据可以在下载软件上看到,
...

"太监版的SPI编程器" 啥意思? 少功能?

出0入0汤圆

 楼主| 发表于 2012-8-8 20:51:16 | 显示全部楼层
goodcode 发表于 2012-8-8 19:25
"太监版的SPI编程器" 啥意思? 少功能?

就是少了一根使能线,
一个常规的SPI就是MOSI,MISO,SCK,CSN,
这个编程器没有SPI的CSN片选,
所以不能简单的把多个芯片弄到一起去更换CSN进行同时交换编程。

出0入0汤圆

发表于 2012-8-8 23:31:02 | 显示全部楼层
RESET不是可以做片选嘛, 刚用洞洞板焊了块小板一会试试

出0入0汤圆

 楼主| 发表于 2012-8-9 16:16:08 | 显示全部楼层
本帖最后由 chengzepeng 于 2012-8-9 16:18 编辑
goodcode 发表于 2012-8-8 23:31
RESET不是可以做片选嘛, 刚用洞洞板焊了块小板一会试试


那个复位的不是使能脚,
在这个协议的用途是进入编程模式和禁止单片机运行而已,
正常的CSN是一串一次拉CSN的,
这样才能保证可靠的SPI通讯,
这个编程器是把复位脚一直下拉着直到写完毕释放再拉下读回去校验,
应该算是同步串口吧。

出0入0汤圆

发表于 2012-8-9 19:55:42 | 显示全部楼层
chengzepeng 发表于 2012-8-9 16:16
那个复位的不是使能脚,
在这个协议的用途是进入编程模式和禁止单片机运行而已,
正常的CSN是一串一次拉C ...

谢谢楼主的指教, 昨天弄完了逻辑分析仪看了一下确实是这样, 拉高后单片机就运行起来了.
另外楼主说的后面的时序也领教到了, Saleae的协议分析已经不能正确解析了

出0入0汤圆

 楼主| 发表于 2012-8-11 00:34:19 | 显示全部楼层
goodcode 发表于 2012-8-9 19:55
谢谢楼主的指教, 昨天弄完了逻辑分析仪看了一下确实是这样, 拉高后单片机就运行起来了.
另外楼主说的后面 ...

其实没乱,只是那个逻辑没写好而已,
常规SPI的逻辑很整齐,
这个编程器的逻辑很糟糕,完全类似模拟的SPI,
用逻辑分析仪看的数据是没错的,只是你看到的时序很乱而已,
组成结构是先用一个指令访问然后再换一个指令访问,
如果返回的相同就说明没错,
因为没有了CSN,所以只能一串一串的发,
危险性就是在数据线接触不良时会导致读写失败或者写了些不相关的。

出0入0汤圆

发表于 2012-8-11 20:22:29 | 显示全部楼层
目前能看到的上位机命令
FFFFFFFF USBASP_FUNC_CONNECT: .equ 1
FFFFFFFF USBASP_FUNC_ENABLEPROG: .equ 2
FFFFFFFF USBASP_FUNC_DISCONNECT: .equ 3
FFFFFFFF USBASP_FUNC_READGUID: .equ 5            ; USB function call identifiers
FFFFFFFF USBASP_FUNC_READFLASH: .equ 6
FFFFFFFF USBASP_FUNC_READFUSE: .equ 8
FFFFFFFF USBASP_FUNC_WRITEFLASH: .equ 0xB
FFFFFFFF USBASP_FUNC_0D:  .equ 0xD
FFFFFFFF USBASP_FUNC_21:  .equ 0x21
FFFFFFFF USBASP_FUNC_2A:  .equ 0x2A
FFFFFFFF USBASP_FUNC_WRITEEEPROM: .equ 0x5A
FFFFFFFF USBASP_FUNC_READEEPROM: .equ 0x5B
FFFFFFFF USBASP_FUNC_5C:  .equ 0x5C

命令中第2,3也是通过计算获得的
命令中的1应该是按bit来的

挺多命令觉得是多余的 实际肯定是有用 干嘛用的猜不到

出0入0汤圆

 楼主| 发表于 2012-8-11 22:51:47 | 显示全部楼层
goodcode 发表于 2012-8-11 20:22
目前能看到的上位机命令
FFFFFFFF USBASP_FUNC_CONNECT: .equ 1
FFFFFFFF USBASP_FUNC_ENABLEPROG: .equ 2

那个命令是截下载软件的吗?
我觉得最大问题就是SPI的时钟脉宽以及时序太不稳定了,
如果由我来写还不如收发一包后读写完毕后才接着下一包,
察看了手册的引脚配置发现这个下载器设计的并不是使用硬件SPI而是模拟SPI的。

出0入0汤圆

发表于 2012-8-12 00:24:23 | 显示全部楼层
使用软件模拟的 因为是同步的 时序"看着"乱点应该没事

L03AA:
        mov        r18,r24
        ldi        r25,k00
        ldi        r24,k00
L03AD:
;        --------- this is skippy
         sbrs        r18,b7
         rjmp        L03B1
;        --------- last may be skipped
; pc=0x3AF(0x75E)
;
        sbi        PORTC,b6
        rjmp        L03B2
;        -----------        jump on last line
L03B1:
        cbi        PORTC,b6
L03B2:
        lsl        r24
        sbi        PORTB,b2
;        --------- this is skippy
         sbic        PINA,b6
         ori        r24,k01
;        --------- last may be skipped
; pc=0x3B6(0x76C)
;
        cbi        PORTB,b2
        subi        r25,kFF
        cpi        r25,k08
         breq        L03BC
;        -----                branch on last line
        lsl        r18
        rjmp        L03AD
;        -----------        jump on last line
L03BC:
        ret

ispTransmit_sw 函数

上面的命令时上位机的命令 就是"request"

目前不能确定isp命令里那个是擦除命令

出0入0汤圆

 楼主| 发表于 2012-8-12 01:16:35 | 显示全部楼层
目前还不打算复制这个编程器的逻辑编程,
先预习下等待官方公布再下手,
不过我觉得不要抱太大希望,
这个编程模式的稳定性不大乐观,
那个仿真器的接口好像有点搞头,
不过逻辑太难逆向分析了!
ISP的话可以用AVR的M8来弄更稳定些,
在AVRASP的原有基础上加入这个编程,
最起码人家是硬件SPI。

出0入0汤圆

发表于 2012-8-12 03:46:39 | 显示全部楼层
解开协议搞个兼容USBasp硬件的应该不难, 甚至12t的51单片机也能进行isp编程
spi的时钟似乎跟avr不一样, 默认应该为16m的系统时钟可能速度能达到2m 对于USBasp中的速度设置也是用不到的

官方的固件没有用硬件spi的原因我猜 一个方便升级isp板, 另外一个是空出txd,rxd方便vusb与本身协议的调试 希望以后出的芯片不要是二选一的...

我没发现这个编程模式有什么不稳定的, 硬件上USBasp也是软usb 用的vusb

至于官方公布isp协议我猜最少要等到新型号的芯片发布的时候

出0入0汤圆

 楼主| 发表于 2012-8-12 04:32:37 | 显示全部楼层
goodcode 发表于 2012-8-12 03:46
解开协议搞个兼容USBasp硬件的应该不难, 甚至12t的51单片机也能进行isp编程
spi的时钟似乎跟avr不一样, 默 ...

软SPI太离谱的话在连接不稳定下很容易导致意外,
特别在编程时,失败了无所谓,但如果改写了其它相关重要的参数就悲剧了,
特别是厂家不公布的私有内部用ID之类。

出0入0汤圆

发表于 2012-8-13 22:24:52 | 显示全部楼层
楼主求联系方式。我们一起探讨这个问题

出0入0汤圆

发表于 2012-8-13 23:28:48 来自手机 | 显示全部楼层
看楼主描述协议应该和avr差不多,可能命令字不同

出0入0汤圆

发表于 2012-8-14 12:57:44 | 显示全部楼层
命令字, 地址字节的构建不一样 isp命令每次执行返回的是word 目前只分析完了读取部分

出0入0汤圆

 楼主| 发表于 2012-8-14 16:06:27 | 显示全部楼层
xwkm 发表于 2012-8-13 22:24
楼主求联系方式。我们一起探讨这个问题

可以在某企鹅搜我头像里面的拼音加我,

建议大家集中下有空的时间讨论下,

论坛的实时性不大好,

需要不停的刷新才能看到,

所以建议阿莫能开通一个临时讨论组比较好!

出0入0汤圆

发表于 2012-8-26 15:28:47 | 显示全部楼层
说明书:
LGT8F0XA 系列I/O 端口在复位阶段都默认为GPIO 功能,全部复位为输入状态,并关闭内部上拉电阻。需要用户注意
的是PB0 (只针对S/SOP28/24/20 封装) 在复位过程中作为ISP 的片选引脚,内部上拉是打开的。
那么可以一拖N

出0入0汤圆

发表于 2012-9-5 01:30:50 | 显示全部楼层
个人觉得没那么容易弄明白这个问题,就像三星的SAM8RCRI,如果编程器到处都是,一些企业就不会拿它做产品了(我的理解不知道对不对),所以我想,LGT应该不会公布ISP编程协议,

出0入0汤圆

 楼主| 发表于 2012-9-5 02:01:04 | 显示全部楼层
本帖最后由 chengzepeng 于 2012-9-5 02:02 编辑
liubin1109 发表于 2012-9-5 01:30 个人觉得没那么容易弄明白这个问题,就像三星的SAM8RCRI,如果编程器到处都是,一些企业就不会拿它做产品了 ...
咋一看还以为我什么时候又发帖了…原来头像相似啊,官方公不公开都无所谓了!只要有成品就可以逆向破解,有兴趣可以看下逻辑再对比下我写的那个说明就可以弄懂了,至于文笔的话就见谅了!我只有初中文化水平,动手还行,写文章就不大会了,直接聊天交流还是问题不大的!

出0入42汤圆

发表于 2012-9-5 09:18:33 | 显示全部楼层
官方已经回音。在成熟后,将JTAG和ISP整合,然后就会公布协议。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 06:25

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

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