DIY STM32 ISP

发布: 2009-5-06 12:58 | 作者: 梅川酷子 | 来源: StmFans思蜕盟 OPELC 自由电子联盟

[i=s] 本帖最后由 梅川酷子 于 2009-5-6 14:04 编辑

STM32_ISP.rar
(2009-05-06 14:04:21, Size: 45.8 KB, Downloads: 117)


Snap1.jpg

jasonjee (2009-5-06 13:07:39)
梅川酷子 优质出品!

值得一顶!
梅川酷子 (2009-5-06 13:09:45)
TO   STM32 长度: 0001, 数据: 7F           发送连接命令
FROM STM32 长度: 0001, 数据: 79     ACK(应答)

TO   STM32 长度: 0002, 数据: 00 FF  Get命令(得到引导程序的版本以及其支持的命令集)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 0B         长度为12个字节
FROM STM32 长度: 0001, 数据: 20         版本为2.0
FROM STM32 长度: 0011, 数据: 00 01 02 11 21 31 43 63 73 82 92 支持的命令集
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03         长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03         长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E0 F7 读取0x1FFF F7E0开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 40 00  结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E2 F5
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 0A 00  结果为:
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03     长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03         长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E0 F7 读取0x1FFF F7E0开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 40 00  结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E2 F5读取0x1FFF F7E2开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 0A 00  结果为:
TO   STM32 长度: 0002, 数据: 00 FF  Get命令(得到引导程序的版本以及其支持的命令集)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 0B     长度为12个字节
FROM STM32 长度: 0001, 数据: 20     版本:2.0
FROM STM32 长度: 0011, 数据: 00 01 02 11 21 31 43 63 73 82 92 支持的命令集
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F8 08 10读取0x1FFF F808开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 03 FC  读取长度为4个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0004, 数据: FF 00 FF 00 结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F8 0C 14读取0x1FFF F80C开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 03 FC  读取长度为4个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0004, 数据: FF 00 FF 00 结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F8 00 18读取0x1FFF F8 00开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 03 FC  读取长度为4个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0004, 数据: A5 5A FF 00 结果为:
TO   STM32 长度: 0002, 数据: 11 EE   ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 08 00 00 00 08读取0x0800 0000开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 00 FF  读取长度为1个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 00         结果为:
TO   STM32 长度: 0002, 数据: 43 BC 擦除若干页  
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0003, 数据: 00 00 00 擦除数量+开始页号+校验字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
梅川酷子 (2009-5-06 13:12:54)
[i=s] 本帖最后由 梅川酷子 于 2009-5-6 13:15 编辑

system memory boot mode.pdf
(2009-05-06 13:15:38, Size: 271 KB, Downloads: 112)


TO   STM32 长度: 0001, 数据: 7F           发送连接命令
FROM STM32 长度: 0001, 数据: 79     ACK(应答)

TO   STM32 长度: 0002, 数据: 00 FF  Get命令(得到引导程序的版本以及其支持的命令集)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 0B         长度为12个字节
FROM STM32 长度: 0001, 数据: 20         版本为2.0
FROM STM32 长度: 0011, 数据: 00 01 02 11 21 31 43 63 73 82 92 支持的命令集
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03         长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03         长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E0 F7 读取0x1FFF F7E0开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 40 00  结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E2 F5
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 0A 00  结果为:
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03     长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 02 FD  Get ID命令(读取芯片ID)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 03         长度:4个字节
FROM STM32 长度: 0004, 数据: 06 41 00 41 芯片ID
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E0 F7 读取0x1FFF F7E0开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 40 00  结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F7 E2 F5读取0x1FFF F7E2开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 01 FE  读取长度为2个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0002, 数据: 0A 00  结果为:
TO   STM32 长度: 0002, 数据: 00 FF  Get命令(得到引导程序的版本以及其支持的命令集)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 0B     长度为12个字节
FROM STM32 长度: 0001, 数据: 20     版本:2.0
FROM STM32 长度: 0011, 数据: 00 01 02 11 21 31 43 63 73 82 92 支持的命令集
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F8 08 10读取0x1FFF F808开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 03 FC  读取长度为4个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0004, 数据: FF 00 FF 00 结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F8 0C 14读取0x1FFF F80C开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 03 FC  读取长度为4个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0004, 数据: FF 00 FF 00 结果为:
TO   STM32 长度: 0002, 数据: 11 EE  ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 1F FF F8 00 18读取0x1FFF F8 00开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 03 FC  读取长度为4个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0004, 数据: A5 5A FF 00 结果为:
TO   STM32 长度: 0002, 数据: 11 EE   ReadMemory命令(读某个地址开始的内容)
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0005, 数据: 08 00 00 00 08读取0x0800 0000开始的若干字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0002, 数据: 00 FF  读取长度为1个字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
FROM STM32 长度: 0001, 数据: 00         结果为:
TO   STM32 长度: 0002, 数据: 43 BC 擦除若干页  
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
TO   STM32 长度: 0003, 数据: 00 00 00 擦除数量+开始页号+校验字节
FROM STM32 长度: 0001, 数据: 79     ACK(应答)
long18751813 (2009-5-06 13:37:14)
顶                            顶
allblue (2009-5-06 16:46:56)
littleworm (2009-5-06 17:24:17)
顶楼主 很强大啊~~·
tuy0327 (2009-5-07 00:04:59)
兄弟,应用程序初始化失败,请点确定关闭应用程序。。。

但是还是顶楼主,尽快放出稳定版吧
tuy0327 (2009-5-07 00:07:56)
楼主的串口数据抓取的软件用的是什么?貌似很强大。。。
梅川酷子 (2009-5-07 09:08:38)
要装.net framwork 2.0才能运行哦,是用VB2008开发的。
tuy0327 (2009-5-07 09:18:50)
我靠,我以为是mfc的呢,还想请楼主提示下串口这块呢,VB的就算了,看不懂啊
gucheng (2009-5-19 10:38:49)
东西不错
110051001 (2009-5-20 23:26:59)
谢谢, 下来看看
Dylan123 (2009-5-21 14:24:47)
顶一个~~~~
guoyin (2009-5-25 20:37:57)
顶,楼主强呀!
mcuisp (2009-6-04 17:53:47)
不错,支持酷子兄弟。
lbxxx (2009-6-05 13:53:09)
裤子好帅,顶一个!!!
oet (2009-6-11 12:51:25)
这个能加一个“从指定地址下载”的功能吗?我想把汉字库下到flash里面
ddllxxrr (2009-6-15 08:07:30)
好唉,顶一下
梅川酷子 (2009-7-26 21:26:19)
最新更新下载:

STM32F_ISP.rar
(2009-07-26 21:26:19, Size: 96.7 KB, Downloads: 35)


梅川酷子 (2009-8-11 09:00:50)
更新,修正了一个删除HEX文件的BUG

STM32F_ISP.rar
(2009-08-11 09:00:50, Size: 54.6 KB, Downloads: 41)