iceant 发表于 2023-3-3 09:58

如何实现OpenOCD 烧录 N32G45x 的芯片固件

查阅了一下资料,最接近 N32G457VEL 芯片的是 STM32F1x 系列的,于是使用 stm32f1x.c 作为基础进行修改,增加了 0x511 作为 N32G45x 系列芯片的 device_id,配置 page_size=2048, max_flash_size_in_kb = 512(N32G45x 好像没有 Flash Size Regiser 无法直接获取flash大小,最好在 openocd 脚本中自己指定 FLASH_SIZE)
重新编译openocd, 但是一直无法完成 program 的过程,有哪位搞过这个吗?谢谢,请多指导

iceant 发表于 2023-3-3 10:00

另外,代码里面有一个 stm32x_info->ppage_size 的参数,不知道用途,如何确定这个参数的值呢?

iceant 发表于 2023-3-3 11:58

搞定了,经过测试擦除、保护等操作都是正常的,只有写入失败了,查看手册,n32g45x 只支持uint32_t 写入,不支持 uint16_t写入,找到问题就好办了,从 stm32f1x.c 拷贝一份生成代码生成 n32g45x.c, 然后修改 stm32_write_block 方法,改成 4字节写入就可以了

icecut 发表于 2023-3-3 17:39

厉害. ice系列

iceant 发表于 2023-3-3 17:56

icecut 发表于 2023-3-3 17:39
厉害. ice系列

哈哈,你好 ICE..
最近折腾 CMake + OpenOCD,终于都走通了, gcc, clang, armcc 都搞定了,不再需要 keil 的 ide了,vscode 或者 clion 挺好

icecut 发表于 2023-3-3 19:27

iceant 发表于 2023-3-3 17:56
哈哈,你好 ICE..
最近折腾 CMake + OpenOCD,终于都走通了, gcc, clang, armcc 都搞定了,不再需要 kei ...

看样咱们的想法很一致啊. 你要不要搞个文档分享一下? 不过我还没搞定过.

iceant 发表于 2023-3-8 17:26

已经完美支持n32g45x flash 和 debug,代码如下
https://github.com/iceant/openocd

- 支持异步写入,速度很快,比一开始使用的字拷贝方式提升不少
- 支持 IAP/APP 分别刷入不同的区域


使用例子
set FLASH_SIZE 0x70000
set BASEADDR 0x08010000
adapter driver cmsis-dap
transport select swd
source
adapter speed 10000

zpwang 发表于 2023-4-2 19:35

正好我也遇到openocd 调试的问题,参考一下,谢谢!

walker2048 发表于 2023-4-2 20:15

感谢大佬的OpenOCD代码,学习到了

dspmana 发表于 2023-4-4 20:32

这个为什么不使用keil直接烧录呢?

plsbackup 发表于 2023-4-4 21:14

可以用来调试stm32吗               

rosemoore 发表于 2023-4-4 21:30

OpenOCD为嵌入式目标系统提供一个调试,在线编程和JTAG边界扫描测试的工具。

pixhw 发表于 2023-4-4 21:51

用openocd做操作端?            

alvpeg 发表于 2023-4-4 22:27

如何修改openocd.cfg配置文件

i1mcu 发表于 2023-4-7 09:49

Openocd+dap烧flash失败

albertaabbot 发表于 2023-4-7 18:18

我用的是IAR 5.11 + OpenOCD调试 下载程序

phoenixwhite 发表于 2023-4-7 18:27

参考 开源项目OPENOCD               

abotomson 发表于 2023-4-7 18:31

如何编译Windows下的OpenOCD

pmp 发表于 2023-4-7 18:37

OpenOCD这 个软件是做什么的?

gygp 发表于 2023-4-7 22:29

怎么用openocd往板子里面烧入编译过的程序
页: [1] 2
查看完整版本: 如何实现OpenOCD 烧录 N32G45x 的芯片固件