OpenOCD 代码学习(3)adapter 与 transport

前言

  • 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)参考链接:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值