v0.1.2, init
This commit is contained in:
126
dump.md
Normal file
126
dump.md
Normal file
@@ -0,0 +1,126 @@
|
||||
### bootloader启动
|
||||
1. 复位RESET引脚约18ms
|
||||
2. pc循环发送0x18 0xFF共10组
|
||||
3. mcu应答0x11共9组
|
||||
4. 检查mcu状态
|
||||
> 01 FC 0B 00 00 02 00 00 00 0A
|
||||
< 01 02 EE FF ED (加密)
|
||||
< 01 02 FF FF FE (未加密)
|
||||
5. 加密则执行解密动作(擦除FLASH上内容)
|
||||
> B5 34 84 52 BF
|
||||
< 01
|
||||
6. 准备下载ramcode
|
||||
> 00 00 00 00 20 A4 07 00 00 CB
|
||||
< 01
|
||||
7. 开始下载ramcode
|
||||
> B8 0A ... 9F
|
||||
< 01
|
||||
8. 启动ramcode
|
||||
> C0 00 00 00 00 00 00 00 00 C0
|
||||
< happybaby 00 00
|
||||
|
||||
|
||||
### ramcode启动
|
||||
启动后mcu端发送字符串 *happybaby*
|
||||
> 68 61 70 70 79 62 61 62 79 00 00
|
||||
|
||||
0. 修改通信用波特率
|
||||
- 修改成9600bps (00 00 80 25)
|
||||
> 49 01 00 00 00 00 04 00 80 25 00 00 F3
|
||||
- 修改成115200bps (00 01 C2 00)
|
||||
> 49 01 00 00 00 00 04 00 00 C2 01 00 11
|
||||
- 应答
|
||||
< 49 00 00 00 00 00 00 00 49
|
||||
|
||||
1. 请求0x20字节数据 (指定波特率)
|
||||
> 49 05 00 00 00 00 20 00 6E
|
||||
< 49 00 00 00 00 00 20 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF EF 38
|
||||
|
||||
2. 校验错误
|
||||
> 49 05 00 00 00 00 20 00 5E
|
||||
< 49 01 00 00 00 00 00 00 4A
|
||||
|
||||
3. 请求0x10字节数据
|
||||
> 49 05 00 00 00 00 10 00 5E
|
||||
< 49 00 00 00 00 00 10 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE 48
|
||||
|
||||
4. 请求0x0200字节数据
|
||||
> 49 05 00 00 00 00 00 02 50
|
||||
> 49 05 00 02 00 00 00 02 52
|
||||
> ...
|
||||
> 49 05 00 3C 00 00 00 02 8C
|
||||
> 49 05 00 3E 00 00 00 02 8E
|
||||
|
||||
5. 空白检测
|
||||
> 49 07 00 00 00 00 04 00 00 40 00 00 94
|
||||
< 49 00 00 00 00 00 01 00 01 4B
|
||||
> 49 07 00 00 00 00 04 00 00 02 00 00 56
|
||||
< 49 00 0F 00 00 00 01 00 00 59
|
||||
|
||||
6. 整片擦除
|
||||
> 49 02 00 00 00 00 00 00 4B
|
||||
|
||||
7. 页擦除(1sector=512Bytes)
|
||||
> 49 03 00 00 00 00 00 00 4C
|
||||
< 49 00 00 00 00 00 00 00 49
|
||||
> 49 03 00 02 00 00 00 00 4E
|
||||
< 49 00 00 02 00 00 00 00 4B
|
||||
> ...
|
||||
> 49 03 00 3E 00 00 00 00 8A
|
||||
> 49 00 00 3E 00 00 00 00 87
|
||||
|
||||
8. 编程
|
||||
> 49 04 00 00 00 00 20 00 <data> CHK
|
||||
< 49 00 00 00 00 00 00 00 49
|
||||
|
||||
9. 校验,所有数据的累加和取最后两个字节
|
||||
> 49 06 00 00 00 00 04 00 20 00 00 00 73
|
||||
< 49 00 00 00 00 00 02 00 CF 1F 39
|
||||
> 49 06 00 00 00 00 04 00 00 40 00 00 93
|
||||
< 49 00 00 00 00 00 02 00 00 C0 0B
|
||||
|
||||
|
||||
#### 读取FLASH数据
|
||||
> 49 05 A0 A1 A2 A3 L0 L1 CHK
|
||||
< 49 00 A0 A1 A2 A3 L0 L1 <data> CHK
|
||||
* 49 05: 协议头
|
||||
* A3..0: 起始地址
|
||||
* L1..0: 字节长度
|
||||
* data: FLASH数据
|
||||
|
||||
#### 按页擦除FLASH数据
|
||||
> 49 03 A0 A1 A2 A3 00 00 CHK
|
||||
< 49 00 A0 A1 A2 A3 00 00 CHK
|
||||
* 49 03: 协议头
|
||||
* A3..0: 起始地址
|
||||
|
||||
#### 整片擦除FLASH数据,耗时约40ms
|
||||
> 49 02 00 00 00 00 00 00 4B
|
||||
< 49 00 00 00 00 00 00 00 49
|
||||
* 49 02: 协议头
|
||||
|
||||
|
||||
#### 空白检测
|
||||
> 49 07 00 00 00 00 04 00 A0 A1 A2 A3 CHK
|
||||
< 49 C1 C0 00 00 00 01 00 00 CHK
|
||||
* 49 07: 协议头
|
||||
* C1..0: 检测值
|
||||
* A3..0: 字节长度
|
||||
|
||||
#### 校验
|
||||
> 49 06 00 00 00 00 04 00 L0 L1 L2 L3 CHK
|
||||
< 49 00 00 00 00 00 02 00 S1 S0 CHK
|
||||
* 49 06: 协议头
|
||||
* S1..0: 校验和
|
||||
* L3..0: 字节长度
|
||||
|
||||
#### 编程
|
||||
> 49 04 A0 A1 A2 A3 L0 L1 <data> CHK
|
||||
< 49 00 A0 A1 A2 A3 00 00 CHK
|
||||
* 49 04: 协议头
|
||||
* A3..0: 起始地址
|
||||
* L1..0: 字节长度,最大支持0x40字节
|
||||
|
||||
#### 加密
|
||||
> 49 09 00 00 00 00 00 00 52
|
||||
< 49 00 00 00 00 00 00 00 49
|
||||
Reference in New Issue
Block a user