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.

[参考译文] CCS/TMS320F28069:运行 CLA 时出现问题

Guru**** 2589265 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/798610/ccs-tms320f28069-problem-in-operating-cla

器件型号:TMS320F28069

工具/软件:Code Composer Studio

大家好、团队、

我的客户在初始化 CLA 时遇到问题(遇到 ILLEGAL_ISR 错误)、请查找随附的基于 CLA 初始化函数代码 的 TI 示例和存储器映射。

如果您能发现他的错误、请您提供建议、请提前感谢  

e2e.ti.com/.../7282.CLA_5F00_Init.c

此致、

Shai

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

    Shai,

    当 C28x 尝试执行无效代码时、会发生一个 ILLEGAL_ISR。  ITRAP (ILLEGAL_ISR)通常是栈溢出或缓冲区溢出或内存未使用代码正确初始化的迹象。  以下是需要检查的一些事项:

    1. 要快速查看是否为堆栈、您可以使用已知值填充该区域、然后运行应用程序。 通过写入的地址、您将能够看到堆栈增长了多大。
    2. 确保代码不会太接近有效内存块的末尾(后面是无效内存)。 器件勘误表对此进行了说明。
    3. 在调用函数之前、请确保将任何正在加载到闪存中并从 RAM 运行的代码正确复制到 RAM 中。
    4. 确保 CPU 未预取到代码安全密码位置。   基本上不会在安全密码附近填充内存。
    5. 将返回指令插入 ILLEGAL_ISR。 在此指令上设置断点。  当 CPU 在这里停止时、请执行步骤以查看代码的来源。  这将提供问题所在的线索。
    6. 检查堆栈。 当您获取非法指令陷阱时、寄存器会自动入栈、包括返回地址。 通过查看栈上的返回地址值、您可以了解 ITRAP 发生的位置。  下面显示了采用 ILLEGAL_TRAP 时的堆栈内容。
    t:st0
    ACC
    P
    AR1:AR0
    DP:ST1
    DBGSTAT:IER
    RETURN ADDR
    EMPTY < SP points here (偶数或奇数地址) 

    此致
    Lori

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

    几天以来,我没有听到您的声音,因此我假设您能够解决您的问题。 如果情况并非如此,请单击“这无法解决我的问题”按钮,并使用更多信息回复此主题。

    如果此主题锁定、请单击"提出相关问题"按钮、然后在新主题中描述您的问题的当前状态以及您可能需要帮助我们帮助解决您的问题的任何其他详细信息。

    此致、
    Lori