主题中讨论的其他器件: HALCOGEN
您好!
我有一个从 TI 论坛上发送的脚本(.gel)中提取的代码、用于启用 TI。
但有时(并非总是!) 当运行下面显示的代码行时、我有一个数据中止异常(同步外部中止)。
发生这种情况时、如果我只关闭然后再打开开发的电源。 电路板、它都开始工作完美(即无例外且启用了 CTI)。
引起激发的代码为:
*(int *) 0xaa07fb0 = 0xc5acce55; //解锁对 CTI 的写入*/
有什么想法可以作为此问题的根源?
谢谢、
Marcio
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.
您好!
我有一个从 TI 论坛上发送的脚本(.gel)中提取的代码、用于启用 TI。
但有时(并非总是!) 当运行下面显示的代码行时、我有一个数据中止异常(同步外部中止)。
发生这种情况时、如果我只关闭然后再打开开发的电源。 电路板、它都开始工作完美(即无例外且启用了 CTI)。
引起激发的代码为:
*(int *) 0xaa07fb0 = 0xc5acce55; //解锁对 CTI 的写入*/
有什么想法可以作为此问题的根源?
谢谢、
Marcio
你好、Chuck、
上周我还在、这就是为什么我花了一段时间来回答问题的原因。
下面是我之前提到的脚本的帖子链接:
https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/517887/1882641#1882641
它是一个.gel 脚本。 由于我不使用 Code Composer Studio (CCS)、所以我只使用代码在 TMS 初始化期间启用了 CTI。
此致、
Marcio
您好、Marcio、
抱歉、我对您的问题感到困惑。 为了确保 MPU 被 nRST/WARM 复位来复位至其缺省状态。 默认情况下、应在任何代码配置和启用前禁用它。
如果您接收到此数据访问的间歇中止、我目前没有很好的解释。 您能否提供有关发生中止的重置的调试连接状态的更多详细信息?
我的理论与器件中的调试信号传播以及执行热复位时有关、 调试连接不会丢失/复位、但当您执行硬复位(POR)时、这意味着在不存在调试信号的情况下启用 CTI、而不是在出现调试信号的情况下启用 CTI。
你好、Chuck、
调试通过 JTAG 连接完成。 调试连接永远不会丢失。 在调试器中、我在执行热复位或 POR 时看不到任何差异。
但是、问题似乎与 CTI 本身的激活无关。 它似乎与对地址 0xaa07fb0的写入相关、 因为此时发生异常。 (即在执行任何命令以实际启用 CTI 之前)
我甚至不能确定这个问题是由 MPU 引起的、因为我有 一个同步外部中止、MPU 只能生成3种类型的故障:后台、权限和对齐。
因此、即使启用了 MPU、如果地址0xaa07fb0的存储器区域未映射到 MPU 区域、我也会遇到后台故障。 情况并非如此。
在写入存储器地址时、会导致同步外部中止的原因是什么? 不会通过热复位清除的东西。 但会通过 POR 清除。
谢谢、
Marcio
您好、Etienne、
[引述 USER="ETIENE ALEFINS"]为什么 HDK 会将 JTAG SRST 连接到热复位功能、而不是冷复位功能? 我的效果是无法远程执行冷复位:我们需要通过物理方式连接到电路板才能执行冷复位。
[/报价]
是建议和预期的连接。 通常情况下、EVM 放在您旁边的工作台上、而不是放在远程位置。 当然、如果您希望每次在调试器中选择系统复位时都进行上电复位、则可以对电路板进行小幅修改以启用此配置。