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.

[参考译文] AM2434:QSPI 启动器

Guru**** 2398695 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1324145/am2434-qspi-bootloader

器件型号:AM2434
主题中讨论的其他器件:UNIFLASH

大家好!

我不熟悉引导加载程序的概念、请回答错误。

1.在《开发人员指南》中提供了

     在 MCU+SDK 中、在器件上电后、引导流程主要通过两步进行

  • ROM 引导、其中 ROM 引导加载程序引导次级引导加载程序或 SBL
  • SBL 引导 、次级引导加载程序在其中引导应用程序。

     根据选择的引导模式、RBL 将  从引导介质(OSPI 闪存、SD 卡或通过 UART)加载次级引导加载程序或 SBL。

2.在 SoC 初始化期间,我们使用 Uniflash 刷写 default_sbl_null.cfg

打开命令提示符并运行以下命令、将 SOC 初始化二进制文件刷写到 LP。

cd ${SDK_INSTALL_PATH}/tools/boot
python uart_uniflash.py -p COM -- cfg=sbl_prebuilt/am243x-lp/default_sbl_null.cfg 

现在、我的问题是在固件闪存期间是否使用了外部 QSPI 闪存。
基于我的假设、流程可能是固件:USB -> ROM -> SBL ->(QSPI 闪存)-> MSRAM (代码执行)。

在 CCS 中、对于从 SDK 导入的许多工程以及为某些工程配置的许多工程、未在 example.syscfg 中配置闪存板驱动程序。
这是否意味着引导加载程序未在其流程中使用外部 QSPI 闪存。

此外、如果我尝试使用 default_sbl_ospi.cfg 来初始化 SoC、则会收到错误

C:\ti\mcu_plus_sdk_am243x_09_00_00_35\tools\boot>python uart_uniflash.py -p COM23 --cfg=sbl_prebuild/am243x-lp/default_sbl_ospi.cfg

正在解析配置文件...
正在解析配置文件...错误。 1个错误。

[错误]在 sbl_prebuilt/am243x-lp/default_sbl_ospi.cfg 的第30行找到解析错误
[错误]文件未找到!!!

sefault_sbl_ospi.cfg 的第30行

-文件=../../examples/drivers/ipc/ipc_notify_echo/am243x-lp/system_freertos_nortos/ipc_notify_echo_system.release.appimage_xip -- operation=flash-xip

在上面的位置中没有名为  ipc_notify_echo_system.release.appimage_xip 的文件   

我还检查了 LP 是运行代码、如果 LP 在闪存后断电、或者处于释放或调试模式、它在加电后不运行。  

我想知道在引导时是否使用 QSPI 闪存。 此外、我还想将一些其他数据存储在 QSPI 闪存中、以及如何 分别存取和使用这两者。

谢谢你。

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

    尊敬的 

    有2种场景:引导器件和刷写器件。

    在刷写的情况下、SBL_UART_uniflash 或 SBL_UB_DFU_uniflash 会将 SBL 和应用程序映像刷写到闪存中。 在这种情况下、流程是-

    • UART 引导模式 ROM 使用 UART --> SBL Uniflash (也使用 UART 获取 SBL NULL 或 SBL OSPI 和应用程序映像)闪存到外部闪存中。
    • USB 引导模式   ROM 使用 USB --> SBL Uniflash (也使用 USB 获取 SBL NULL 或 SBL OSPI 和应用程序映像)闪存到外部闪存。

    现在、如果您检查 SBL OSPI、您将看到闪存配置可用于以最大速度进行初始化以便将应用程序从外部闪存提取到引导。

    如果是 SBL NULL、您只能找到器件初始化。 在该示例中未执行应用程序加载操作。 为了加快开发流程、可以通过 CCS (调试器)完成应用加载。

    关于 XIP 应用问题、如果没有任何从外部闪存执行的代码、可以选择在同一行中添加注释。

    我希望这对您有所帮助。

    此致、
    Aakash