Update dump.md
简单写下,后面再看时候好知道是咋回事~
This commit is contained in:
77
dump.md
77
dump.md
@@ -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组
|
||||
|
||||
Reference in New Issue
Block a user