Update dump.md

简单写下,后面再看时候好知道是咋回事~
This commit is contained in:
kicer
2021-06-03 10:03:48 +08:00
committed by GitHub
parent 14ffdec383
commit 89721b30a9

77
dump.md
View File

@@ -1,3 +1,80 @@
# 记录下调试过程
脑袋不好使,过一周就记不清楚了。趁着还有印象,做下调试记录吧。
## 缘起
原来一直用stm8s003这款芯片最多时候3颗003配合分工完成功能。
主控mcu各种IO口模拟多串口接收数据流交叉流动再配合自己搞的小调度内核写起程序来太爽了。
直到疫情来了各种芯片价格暴涨原来1块的的直接暴涨到10块而且缺货
好日子到头了只能考虑切换到国产MCU。
华大的这款看起来名字不错比ww产的有更好的发展预期就定它了。虽然现在国产MCU也缺货
## HC32F003C4PA
性能看起来不错,很契合手头产品的使用场景。
* 32Mhz Corex-M0
* 16K Flash
* 2K RAM
* 低功耗
* 10Byte Chip ID
* 12bit 1Msps SARADC
## 为什么是python
python有多好自不用说主要是主力开发工具是丐版MacBook Air一入苹果终身windows黑了。
话说之前主力系统是debian足够清淡了
国产这些MCU们还没意思到社区的力量。更多diy玩家的参与足够的热度流量来了销量也水到渠成。
类似乐鑫/合宙(*唉,都是最早参与的一批人,就是没有跟随其喝汤,属实可惜*),日子过得真香。
希望华大成为下一个,虽然看起来完全没有搞社区的意识、能力。
## 番外思考
借助于自己搞的那套小调度内核mcu甚至只有基本IO、串口、定时器功能就能完成大部分工作。
哪天能否自己封测个小mcu
8/20脚TSSOP封装2个串口2-4个定时器剩下全是基本IO。售价5毛不能再多了
那是不是能发财啦 :]
## 小目标
* **编译/下载**脱离windows环境依赖支持mac及linux系统
* python脚本串口烧录bin文件
* 离线烧录器,按键自动串口下载固件 (稍后一丢丢)
* 工程模版gcc编译
## 调试方法
首先hc系列支持串口下载高级点的mcu有mode引脚可以直接进入uart下载模式。
hc32f003呢启动时候uart应该是10ms内接收到0x18字节可以直接进入uart下载模式。
话说这种有很大风险如果相连的外设启动后不小心发了个0x18过来是不是就炸了
关键也没有文档说很清楚如何退出uart下载模式。先mark下@
arm-none-eabi-gcc是支持M0内核编译的加之华大提供了IAR/MDK的工程模版、启动文件
移植到mac/linux系统应该是没问题的。
先说下烧录固件这部分功能吧windows下有官方提供的HDSC ISP V2.07在线烧录工具,
连接好串口及RST引脚后使用逻辑分析仪抓串口数据包就ok了。
后来发现了文档[HC32F003系列的FLASH串行编程.pdf](https://github.com/kicer/hc32flash/tree/master/docs/HC32F003系列的FLASH串行编程.pdf),
显然是过期的,协议格式不一致,但是有很大参考价值。
后面发现ISP烧录工具是Mono .NET的借助ILSpy反汇编出来。
可以得到你想得到的一切~
当然理论上也是可以直接把反汇编后的代码再重新生成linux/mac上用的。
但.NET不是本人的菜自己写个python用起来会更爽
下载脚本借鉴了stm8flash、luatool工具的很多代码
芯片配置数据及ramcode都是从官方ISP软件中复制过来的没有精力验证。
遇到坑就填吧,反正有原始反汇编代码可以参考。
所以,就这么简单
## 调试过程
### bootloader启动
1. 复位RESET引脚约18ms
2. pc循环发送0x18 0xFF共10组