2

我是 OpenOCD 的新手,有没有人尝试使用 Olimex OpenOCD 将程序 hex 文件(来自 Kiel 说)实际闪存到 ARM CORTEX M0(通用)中。

我需要设置脚本文件以获取 hex 文件的每个字以在 MCU 闪存中执行 mww(内存写入字)吗?任何人都可以提供一个示例。我用蟒蛇。

我打开建议。

我使用 Windows PC。

4

3 回答 3

1

我所知道的所有 Cortex M0 都没有 JTAG,但只有 SWD 支持。SWD 在 OpenOCD 中尚不可用 - 它仍在开发中。

另一个注意事项:写入闪存的方法因每个供应商/芯片而异。

于 2011-09-12T20:24:55.187 回答
1

当然,特别是什么平台?一些谷歌搜索会找到确切的顺序。闪存解锁、擦除、编程等。

例如本页的第 6 节。

http://pygmy.utoh.org/riscy/cortex/led-lpc17xx.html

我试图弄清楚我是在哪个板上做的,但这些几乎都是我遵循的命令,而且效果很好。可能是leaflabs maple mini。步骤是一样的。为了避免这些步骤或编写脚本等,我最终做的是写了几行引导加载程序,如果 ram+0 = 0x12345678 和 ram+4 = 0x87654321 然后分支到 ram+8 否则无限循环。然后使用 jtag 将程序加载到带有两个字的 ram 和 0x08 字节的入口点到 ram 中是微不足道的,按下重置并运行程序。在冷启动时,它会进入无限循环。我花了一天的时间在一个更大的基于 arm 的系统上,使用 jtag 将所有内容加载到 ram 中,这样它就很舒服了。您可以在 openocd 中编写脚本,然后只需键入 openocd 命令即可进行闪存加载。

于 2011-09-13T00:57:44.083 回答
0

为路过的人更新...

如果您只是尝试将闪存程序(例如上传您自己的代码)到您的微控制器,则不必使用 mww。

前段时间,OpenOCD 有一个(“内置”)便利脚本,可以用于编程,这个“命令”被称为“程序”。这是“程序”命令文档中的一个示例:

openocd -f interface/ftdi/jtag-lock-pick_tiny_2.cfg -f board/stm32f3discovery.cfg -c "program filename.elf verify reset"

- 用你的板替换“stm32f3discovery”。如果您使用不同的适配器,请将接口替换为适当的配置文件。

于 2014-11-23T16:15:10.783 回答