硬汉嵌入式论坛

 找回密码
 立即注册
查看: 475|回复: 7
收起左侧

[其它] eclipse Openocd jlink可以添加自定义MCU的flash烧录调试吗?

[复制链接]

56

主题

131

回帖

299

积分

高级会员

积分
299
发表于 2023-12-22 15:52:05 | 显示全部楼层 |阅读模式
看到相关帖子是实现openocd+stlink烧录调试stm32,只是配置一个cfg文件就可以了。
通常用MDK调试时需要FLM文件,jlink里也是JLinkDevices.xml添加支持的设备,那openocd是在哪里实现了flash烧录算法呢?
如果自定义MCU用openocd+jlink方式,是不是jlink也必须要支持这个MCU才行?

求指点,谢谢!

回复

使用道具 举报

210

主题

1045

回帖

1685

积分

至尊会员

More we do, more we can do.

积分
1685
发表于 2023-12-22 23:29:15 | 显示全部楼层
可以添加,本身只支持主流的系列,需要自己实现Target.cfg
回复

使用道具 举报

1

主题

49

回帖

52

积分

初级会员

积分
52
发表于 2023-12-23 10:17:35 | 显示全部楼层
openocd+jlink 形式下,Jlink 就不能使用 Jlink 的官方驱动了
1. 需要先用zadig 将 jlink 驱动切换为 WinUSB(切换驱动后的 Jink 其实就是一个 USB 转 JTAG 工具)
2. 编写 openOCD 的 cfg 文件,让 OpenOCD 按照你想要的方式操作芯片即可
3. 对自定义芯片,默认的 OpenOCD 基本不会有 FLASH 编程算法,意味着你也需要编写自己芯片的 FLASH 编程算法

如果你搞过 RISC-V 就应该知道,RISC-V 芯片的 JTAG 调试通常就是自己编译 OpenOCD(含自己芯片的FLASH编程算法) + 编写自己的 cfg,不过 RISC-V 不用 Jlink(常用 FDTI 这个 USB 转 JTAG 芯片做的Probe)
回复

使用道具 举报

1

主题

49

回帖

52

积分

初级会员

积分
52
发表于 2023-12-23 10:17:53 | 显示全部楼层
openocd+jlink 形式下,Jlink 就不能使用 Jlink 的官方驱动了
1. 需要先用zadig 将 jlink 驱动切换为 WinUSB(切换驱动后的 Jink 其实就是一个 USB 转 JTAG 工具)
2. 编写 openOCD 的 cfg 文件,让 OpenOCD 按照你想要的方式操作芯片即可
3. 对自定义芯片,默认的 OpenOCD 基本不会有 FLASH 编程算法,意味着你也需要编写自己芯片的 FLASH 编程算法

如果你搞过 RISC-V 就应该知道,RISC-V 芯片的 JTAG 调试通常就是自己编译 OpenOCD(含自己芯片的FLASH编程算法) + 编写自己的 cfg,不过 RISC-V 不用 Jlink(常用 FDTI 这个 USB 转 JTAG 芯片做的Probe)
回复

使用道具 举报

56

主题

131

回帖

299

积分

高级会员

积分
299
 楼主| 发表于 2023-12-25 11:14:32 | 显示全部楼层
zcsexp 发表于 2023-12-23 10:17
openocd+jlink 形式下,Jlink 就不能使用 Jlink 的官方驱动了
1. 需要先用zadig 将 jlink 驱动切换为 WinU ...

尝试过zadig将jlink驱动切换为WinUSB,这样如果再换回MDK就不能使用了,挺麻烦的。

没有弄过RISC-V,FDTI是什么样的?

如果要编写自己芯片的flash编程算法,能提供一个模版参考吗?
回复

使用道具 举报

56

主题

131

回帖

299

积分

高级会员

积分
299
 楼主| 发表于 2023-12-25 14:03:21 | 显示全部楼层
emwin 发表于 2023-12-22 23:29
可以添加,本身只支持主流的系列,需要自己实现Target.cfg

有相关模版参考吗?或者相关资料
回复

使用道具 举报

1

主题

49

回帖

52

积分

初级会员

积分
52
发表于 2023-12-25 14:31:20 | 显示全部楼层
lindahnu 发表于 2023-12-25 11:14
尝试过zadig将jlink驱动切换为WinUSB,这样如果再换回MDK就不能使用了,挺麻烦的。

没有弄过RISC-V,F ...

1. zadig 切换驱动后,MDK 肯定是没法用的,需要再把驱动换回 Jlink 自己的驱动。
2. 在 Keil 的 Debug Setting 中,你肯定选择过 FLASH 下载算法,选择的算法就是对应的 PACK 包里的一个 xxx.FLM 的文件。其中每个下载算法在 Keil 的 PACK 包里就包含下载算法的源码,就是一个 Keil 项目,直接打开编译就可以生成对应的 xxx.FLM
1.png
回复

使用道具 举报

56

主题

131

回帖

299

积分

高级会员

积分
299
 楼主| 发表于 2023-12-25 15:41:20 | 显示全部楼层
本帖最后由 lindahnu 于 2023-12-25 19:09 编辑
zcsexp 发表于 2023-12-25 14:31
1. zadig 切换驱动后,MDK 肯定是没法用的,需要再把驱动换回 Jlink 自己的驱动。
2. 在 Keil 的 Debug  ...

谢谢,我知道FLM的有模版工程,我想知道的是基于openocd编写的示例,你有具体的示例吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-20 18:06 , Processed in 0.172874 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表