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.

[参考译文] F29H850TU:CRC8(使用 CRC_run8BitAsm)卡滞

Guru**** 2445440 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1525439/f29h850tu-crc8-using-crc_run8bitasm-stuck

器件型号:F29H850TU

工具/软件:

您好专家、  

我正在使用 CRC_run8BitAsm 使用 CRC8、如  C29x DSP 的示例 CRC_8_Example 中所述。  

此示例在我的笔记本电脑上运行、但当我在代码中引入相同的示例时、我在运行它时遇到了一些问题。  

这是反汇编文件的比较、右侧是我的代码、左侧是 CRC8 示例。  




也许首先只是指导我、可能会出现什么问题。 我觉得有些东西是遗漏的,但我不能找到。 所有编译器和链接器标志都相同、源代码也相同。

提前感谢您

此致
Deep Ganatra
 

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

    您好:

    CRC 专家正在休假、预计下周将回来。 同时让我看看我能否提供帮助。

    您能否澄清一下出了什么问题、您现在看到的行为是什么? 我可以看出两个汇编函数之间的区别是、您的应用程序具有受保护的调用栈 、而示例代码没有。

    我相信您在应用程序代码中设置了 SSU 模式和区域、这会指示编译器将“ENTRY1.PROT || ENTRY2.PROT“作为受保护调用栈实现的一部分。 这将防止对当前代码例程进行任何非法访问、 并且如果设置错误(注册为填充访问)、则取决于它可能跳过函数调用的类型、或向错误聚合器发送触发 NMI 中断的信号。

    此致、

    Sen Wang

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

    您好 Sen、  

    它卡在该地址 0x20100000 处、 控制器一次又一次地重新启动。

    我知道、在闪存配置中、它会加载以下各部分

    // CRC_8 示例特定段
    很重要
     kernel_asm > SRAM_LPAx
     kernel_opt > SRAM_LPAx

    }


    当我使用.hex 文件而不是.out 文件刷写它时、通常没有正确刷写这些段。  

    这可能是示例中的一个错误?  

    我用这个解决了  

      kernel_asm  :{}load=flashrun=SRAM_LPAxtable (BINIT)、palign (8)
      kernel_opt  :{} load=flashrun=SRAM_LPAxtable (BINIT)palign(8)

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

    谢谢你这么多的收获!

    在闪存配置示例中、这绝对是一个错误。 kernel_asm 和 kernel_opt 应位于闪存中并在启动时加载到 RAM。 我将提交内部查询以解决此问题。

    此致、

    Sen Wang