【问题标题】:JTAG instruction register length, IR_LENJTAG指令寄存器长度,IR_LEN
【发布时间】:2017-08-12 12:10:48
【问题描述】:

我需要为JTAGenum Jtag 枚举实用程序指定用户配置设置。 特别是在这部分

// Target specific, check your documentation or guess 
#define SCAN_LEN                 1890 // used for IR enum. bigger the better
#define IR_LEN                   5
// IR registers must be IR_LEN wide:
#define IR_IDCODE                "01100" // always 011
#define IR_SAMPLE                "10100" // always 101
#define IR_PRELOAD IR_SAMPLE

在用户manual 中指出,IR_LEN 定义了 JTAG 指令寄存器的长度。 "If you change this you should also add ‘0’s to each of the corresponding IR_** instruction definitions."

目标 CPU 的 JTAG 指令寄存器 (IR) 长度为 4 位。 所以我设置 IR_LEN = 4。

不清楚我是否也应该更改 #define IR_IDCODE#define IR_PRELOAD 值,以及应该在哪里添加提到“每个相应的 IR_** 指令定义的‘0’。”

【问题讨论】:

  • 谁投票给这个题外话的用法问题是错误的。在这种情况下,JTAG 是一个关键的开发工具,通常用于加载和调试嵌入式软件,而开发工具问题是通常使用问题政策的明确主题例外。

标签: debugging arduino arm embedded jtag


【解决方案1】:

您的起点的寄存器长度为 5,并显示五个位代码。

根据您引用的指令,在将其用于具有 4 位寄存器的设备时,您应该将这些代码缩短为 4 位,方法是删除每个代码的最后一个零。

#define IR_LEN                   4
// IR registers must be IR_LEN wide:
#define IR_IDCODE                "0110" // always 011
#define IR_SAMPLE                "1010" // always 101

【讨论】:

    猜你喜欢
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多