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.

[参考译文] AM263P4:SBL OSPI 多核示例在使用最新的 SDK/SysConfig 构建时崩溃

Guru**** 2374090 points
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1530410/am263p4-sbl-ospi-multicore-example-crashes-when-built-with-latest-sdk-sysconfig

器件型号:AM263P4
Thread 中讨论的其他器件:UNIFLASHSYSCONFIG

工具/软件:

我们正在尝试使用 sbl_ospi_multiple_elf/am263px-cc 示例工程。  通过以下步骤、我们可以成功执行引导代码:

  1. 将  sbl_ospi_multiple_elf/am263px-cc 工程导入 CCS 版本 20.1.1.8
  2. 在进入 main() 函数后立即添加 loop_forever() 的行。
  3. 构建工程。
  4. 使用 UniFlash 将生成的 sbl_ospi_Modore_elf_am263px-cc_r5fss0-0_nortos_ti-arm-clang.ticimage 编程到器件中。
  5. 重启电源。
  6. 返回 CCS 中、运行调试会话并连接到 Cortex_R5_0 内核、而无需 GEL 文件。
  7. 加载 sbl_ospi_morple_elf_am263px-cc_r5fss0-0_nortos_ti-arm-clang.out 符号文件。
  8. 代码连接成功
  9. 将 LOOP 值更改为 0 以允许 main 函数继续。
  10. 逐步 执行并观察 main() 能够一直执行。

但是、任何更改(即使内容没有更改,但会导致重新保存 example.syscfg)都将导致生成的代码失败。 重现步骤:

  1. 将  sbl_ospi_multiple_elf/am263px-cc 工程导入 CCS 版本 20.1.1.8
  2. 在进入 main() 函数后立即添加 loop_forever() 的行。
  3. 打开 example.syscfg
  4. 将时钟实例更改为 RTI1、然后立即将其改回 RTI0。 这将强制保存 SysConfig 文件(即使没有进行实际更改)、并随后导致生成的源文件更新。
  5. 构建工程。
  6. 使用 UniFlash 将生成的 sbl_ospi_Modore_elf_am263px-cc_r5fss0-0_nortos_ti-arm-clang.ticimage 编程到器件中。
  7. 重启电源。
  8. 返回 CCS 中、运行调试会话并连接到 Cortex_R5_0 内核、而无需 GEL 文件。
  9. 加载  sbl_ospi_morple_elf_am263px-cc_r5fss0-0_nortos_ti-arm-clang.out 符号文件。
  10. 代码连接成功
  11. 将 LOOP 值更改为 0 以允许 main 函数继续。
  12. 逐步执行并观察代码将在 Board_driversOpen () 函数中崩溃。

我已经使用 AM263Px SDK 版本 10.01.00.31 和 10.02.00.15 尝试了此操作。 我还使用 SysConfig 版本 1.22.0、1.23.0 和 1.24.0 尝试了这一点。 都会产生相同的结果。  

最终结果是、如果不创建代码、我们就无法对 SysConfig 进行任何更改、该代码的失败方式与我们所做的更改无关。  

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

    您好 Nathan、

    您能否共享故障签名、它是在 OSPI 打开模式还是闪存打开模式下发生故障?

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

    它在 Board_flashOpen () 函数中失败。

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

    我能够确定问题的根本原因。  在 example.syscfg 文件中、用于 OSPI 的引脚设置为使用任意。 在最新版本的所用工具中、当这些引脚设置为任何引脚时选择的引脚不同。 结果是 SBL 尝试使用的 OSPI 引脚排列是非常错误的。