文章目录
前言
-
1)上一节中,我们知道 parse_config_file() 函数会边解析配置文件,边执行其中的命令,那么接下来我们将主要学习一下 OpenOCD 配置文件中涉及到的命令。
-
2)我们知道,要编写一个 OpenOCD 驱动,除了要实现烧录算法外,还要编写关于 MCU 的配置文件。OpenOCD 主要有 3 类配置文件(具体内容见官方文档第 6 节 配置文件参考),这里我们简单看一下。
-
3)interface:指定调试器的适配器驱动。
- (1)该驱动实现 OpenOCD 为调试器们定义的统一接口,将来自 OpenOCD 的操作,转换为调试器的操作。
- (2)常用的调试器都有对应的驱动,如 jlink、st-link、cmsis-dap、ftdi 等。
- (3)当你根据公有(或私有)的调试协议设计出了自已的调试器,就需要在此为其添加一个驱动。如沁恒 WCHLink 的调试器适配驱动为 wlinke。
- (4)可以通过以下命令来查看一下 OpenOCD 支持调试器的适配器驱动:
grep -rn "adapter driver " | awk -F ':' '{print $3}' | uniq -u adapter driver ftdi adapter driver cmsis-dap adapter driver jlink adapter driver rlink adapter driver st-link adapter driver hla adapter driver ulink ...... -
4)board:指定开发板特定的初始化项。比如,同样的 MCU 内核,但 SRAM 和 FLASH 的大小、起始地址可能不同,此时可以在 board 配置文件中指定这些不同项。不过大部分情况下,只是在该配置文件中指定引用的 interfact 和 target 配置文件及其它选项,然后在烧录时指定该配置文件。
-
5)target:指定 MCU 中需要交由 OpenOCD 控制的测试访问端口(Test Access Port, TAP)。
-
6)还有一些其它的配置文件,用于指定一些公共的调用过程,芯片信息等。本文主要是对配置文件中用到的命令(如下图)进行解析,以在命令行运行如下命令的结果为准:
openocd -d3 -f board/airm2m_air001.cfg -d3 也作 --debug-level=3。即指定输出日志级别。 -f 也作 --file。这里指定开发板为合宙 air001 芯片。 -
7)参考链接:


最低0.47元/天 解锁文章
905

被折叠的 条评论
为什么被折叠?



