This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129ENCPDT:TM4C129ENCPDT:引脚 PL7和引脚 PB3上的边界扫描测试问题

Guru**** 2487425 points
Other Parts Discussed in Thread: TM4C129ENCPDT, SEGGER

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/729677/tm4c129encpdt-tm4c129encpdt-boundary-scan-test-problems-on-pin-pl7-and-pin-pb3

器件型号:TM4C129ENCPDT
主题中讨论的其他器件: SEGGER

您好!

 

我´m 在 PCBA 上的 TM4C129ENCPDT UC 上执行边界扫描测试。 ´m、2013年10月29日、我在 TI 主页(www.ti.com/.../toolssoftware)上使用 GOEEL ELECTRONIC 的"CASCON Galaxy 4.6.8c 1578"和 BSDL 模型。

 

我在控制 PL7和 PB3这两个引脚时遇到问题。

 

在我的电路中,PB3引脚输出信号与调节相反,我根本无法控制 PL7输出。 在 BSDL 模型中、这两个引脚都被描述为 INOUT 信号、并具有 OUTPUT3单元。 所有其它边界扫描引脚的运行方式与预期的一样。

 

n´t 对 TM4C129ENCPDT 芯片进行编程。 一位同事发现、对 TM4C129ENCPDT 进行编程后、PB3引脚的行为符合描述/预期(非反相)。 但仍然无法控制 PL7。

 

是否有人知道边界扫描模式下的 TM4C129ENCPDT、特别是 PL7和 PB3引脚以及使用 TI 主页上的 BSDL 模型?

 

提前感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有趣。 我认为问题是在空白器件上调用了 ROM 引导加载程序。 该引导加载程序将配置 USB 端口以查找 DFU (器件固件升级)。 当配置为用作 USB 时、进入 USB 的引脚绕过数字 IO、因此在 BSDL 扫描链上不是预期的那样。 当您在设备中有代码时、它是否会配置 USB 端口?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉耽误你的回答。
    n´t 是我提供的n´t μ s、所以我不知道 USB 端口配置。 但n´t 器件没有任何 USB 端口、因此我认为该端口未配置。
    ROM 引导加载程序有一个很好的提示。 当我使用自定义十六进制文件(引导加载程序+固件)对器件进行编程时、边界扫描测试也会起作用。
    无论如何、我需要一种方法对未编程的 uC 进行边界扫描测试。

    我´m 边界扫描模式中有一种方法来重新配置 ROM-Bootloader-configuration、以便使用引脚 PL7和 PB3的 BSCAN-GPIO 功能。
    同样、是否可以禁用 ROM 引导加载程序?

    谢谢您的高级员工?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    当器件启动时、可以完全禁用 ROM 引导加载程序、也可以仅由 GPIO 引脚匹配状态触发。 通过使用所需的设置提交到 BOOTCFG 寄存器、可以设置这两个寄存器。

    有关 BOOTCFG 及其提交的详细信息、请参阅第5.2.2.2、8.2.2.1和8.2.3.12节;有关 BOOTCFG 选项的更多信息、请参阅第682页的寄存器68:引导配置寄存器(BOOTCFG)、偏移量0x1D0。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    如果我在数据表中正确理解了这一点、那么在所有情况下、数据必须位于闪存存储器地址0x0000.0004处、以便可以禁用 ROM 引导加载程序?

    提前感谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    很抱歉、我列出了 BOOTCFG 寄存器的错误页码、它位于您的器件数据表的第682页。

    不是、您无法完全正确理解。 BOM 引导加载程序也可以通过其他方式禁用。 以下是运行的所有检查:

    读取 BOOTCFG 寄存器。 如果 EN 位被清零、那么执行 ROM 引导装载程序。

    2.在 ROM 引导装载程序中、将指定 GPIO 管脚的状态与指定的进行比较
    极性。 如果状态与指定的极性匹配、那么 ROM 被映射到地址0x0000.0000
    并且继续执行 ROM 引导加载程序。

    如果 EN 位被置位或者状态与指定的极性不匹配、则地址上的数据
    读取0x0000.0004、如果这个地址上的数据是0xFFFF.FFFF、那么 ROM 被映射到
    地址0x0000.0000并继续执行 ROM 引导加载程序。

    4、如果地址0x0000.0004处的数据不是0xFFFF.FFFF、堆栈指针(SP)将被装载
    从地址0x0000.0000处的 Flash 存储器加载程序计数器(PC)
    地址0x0000.0004。 用户应用程序开始执行。

    您可以提交到 BOOTCFG EN 位或 GPIO 引脚以检查极性、如果该检查失败、则不会执行 ROM 引导加载程序。

    只有当这两个检查都通过时、它才会查找闪存存储器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉,但我还不明白。
    我理解了第682页的第3点、如果 GPIO 条件失败、并且闪存地址0x0000.0004为0xFFFF.FFFF、那么 ROM 引导加载程序将继续执行。

    对我来说、684页上 EN 位的描述也不是很清楚。
    我理解如下:
    EN = 0:定义的端口引脚决定是否执行 ROM 引导加载程序。
    EN = 1:位置0x0000.0004处的闪存内容决定是否执行 ROM 引导加载程序。

    如果这是真的、我发现它与第682页的第1点相矛盾、即 EN = 0执行 ROM 引导加载程序。

    我已经尝试过多种引导配置、但无法引导 ROM 引导加载程序。

    当前 BOOTCFG 寄存器0x400F.E1D0的值为0xFFFF.00FE。
    我希望将 GPIO 引脚 PA0 (33)拉低以阻止 ROM 引导加载程序。 这不奏效。

    如果我理解正确、您需要执行第4.3.4.3章中描述的步骤来恢复锁定的微控制器、以恢复 BOOTCFG 寄存器的默认值?
    对我来说非常复杂。

    我认为必须有一种更巧妙的方法来防止引导加载程序引导。 我已经看到 Segger j-link 编程器可以触发模块复位、然后模块保持在"暂停"模式。
    我想 j-link 在第178页的"APINT"寄存器中写入"SYSRESREQ"、可能写入"VECTRESET"。
    我尝试将值0x05FA.0005写入 APINT 寄存器0xE000.ED0C。 我希望触发复位。 到目前为止还没有发生这种情况。 我也不知道如何使用中断优先级。
    有人能帮我解决这个问题吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将在新的主题中提问。 我想、为什么在 B 扫描中不能控制引脚 PL7和 PB3的问题已经回答。

    非常感谢