Thread 中讨论的其他器件: SYSBIOS、 UNIFLASH
工具/软件:
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.
工具/软件:


尊敬的 Elena:
在应用程序代码运行之前、调试器或引导 ROM 通常会将某些 GPIO 引脚配置为用于 JTAG 或其他目的。 这可能导致上拉寄存器显示除干净复位预期值之外的值。 如果默认复位状态至关重要、请考虑使用自定义启动(例如,修改 codestart 分支或 RESET ISR)在任何 CCS 或 ROM 例程影响上拉电阻之前对其进行配置。
为了确保复位后上拉电阻、最可靠的方法是将 GPBPUD 显式设置为所需的值、作为引导加载程序或 SYSBIOS 所用初始化代码中的第一条指令。
此致、
Masoud
尊敬的 Elena:
当您通过 JTAG 从 CCS 刷写时、器件处于仿真引导状态。 在应用程序运行之前、引导 ROM 和调试连接可能会触摸几个引脚。 因此、即使数据表显示“复位后“禁用了上拉电阻、也可以在某些引脚上观察到电平。
CCS 可以在目标连接/复位时自动运行 GEL_init 脚本;这些脚本可以在 加载/擦除/编程之前、将 GPIO 寄存器 (GPxPUD/GPxDIR/GPxDAT) 写入到安全状态。 GEL 文件在.ccxml 文件中使用、如下所示:

以下是 .gel 文件的路径:
C:\ti\ccs<version>\ccs\ccs_base\emulation\gel
您可以强制方向/输出安全:相应地设置 GPxDIR/GPxSET/GPxCLEAR。
总体而言、在进行设计时、您应该了解引导 ROM/JTAG 使用哪些引脚以及哪些引脚是引导模式选择;如果可能、请将关键输出关闭这些引脚。
如果这样可以解决问题、请告诉我们。
此致、
Masoud
enable_unbonded_pullups_80_P_pin() 函数中、GPBPUD 寄存器被写入 0x1FFFF27F。 与我的测量结果 0xDFFFF27F 相匹配。 虽然最高 8 位存在差异、但并不影响、因为我使用的是 80 引脚器件。 



尊敬的 Elena:
GEL 中的探头与 QUAL 标签不是器件生命周期/质量等级;这只是 GEL 表对封装选项进行编码的方式、以便知道哪些引脚未键合。 F280034SPN (80 引脚 LQFP) 是生产器件;OTP 字段仅供 GEL 用于决定要连接哪个上拉电阻器。
在 GEL 中强制 GPxPUD = 0x1FFFFFFF 是否安全?
是的。 向 GPxPUD 写入 1s 会禁用内部上拉电阻(它不会驱动引脚)、因此在编程之前强制所有 1 是一种安全方法、可以防止在闪存/程序流期间 GEL 将 GPIO 拉高。 只需确保任何关键输出在启动期间不依赖于内部上拉电阻器。
具体关于 GPIO43、GPIO43 是此封装上的正常 GPIO(即,不是 JTAG 引脚)。 编程期间它变为高电平的原因是 GEL 的未绑定上拉写入、而不是引导 ROM 代码。
此致、
Masoud