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.

[参考译文] LP-AM243:将 XIP 用于单核应用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465288/lp-am243-using-xip-for-singlecore-application

器件型号:LP-AM243
主题中讨论的其他器件:SysConfigUNIFLASHTMDS243EVM

工具与软件:

您好!

我尝试从 AM243 LP 开发套件上的闪存存储器运行代码、因为它 超过了 RAM 容量。 但当我尝试按 API doc https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/BOOTFLOW_XIP.html 代码设置项目时、甚至像 LED 闪烁示例那样简单的代码都无法运行。  

对于 CCS、我使用12.8伏和 SDK: mcu_plus_sdk_am243x_10_01_00_32

以下是我正在使用的设置:

这里是我将用于闪存的 cfg

在我的设置或者了解  应该如何执行 XIP 时是否有任何错误?  

谢谢  

此致、

1月

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

    您好、Jan:

    感谢您的提问。

    我已获取您的意见并进行处理。 请等待一段时间再回来。

    此致、

    Tushar

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

    您好、Jan:

    您能否确认、您是否正确执行了所有步骤?

    您是否在 MSRAM 存储器中保留了主符号?

    您是否还保留了 -llibsysbm.a (.text)?

    请参阅下图。

    此致、

    Tushar

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

    Tushar、您好!

    是的、我按照这些步骤进行了操作、但我不确定是否正确完成了所有操作。

    对于.text、由于我不使用调试函数、所以在闪存中 、当我尝试将其移动到 MSRAM 时、没有任何变化。

    对于主符号、我没有找到任何有关它的信息、因此我只是猜测。 据我所知、它应该位于 MSRAM 中、因为只有.text A .rodata 位于闪存中。 这里是来自映射文件的数据、我可以 在其中看到启动位于 MSRAM 中

     

    从.out 文件中、我可以看到代码部分是为 MSRAM 定义的

     我是否可以执行任何步骤来完全 确定是否已正确设置它?

    谢谢。

    此致、

    1月

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

    您好、Jan:

    您能与我们分享 example.syscfg 文件吗?

    另外、请告诉我们您要尝试运行哪个示例?

    此致、

    Tushar

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

    Tushar、您好!

    这是整个项目、我将使用闪存脚本对其进行测试。

    e2e.ti.com/.../gpio_5F00_led_5F00_blink.zip

    此致、

    1月

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

    您好、Jan:

    感谢您分享上述项目。

    我将尝试在最后重现此问题并进行更新。

    此致、

    Tushar

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

    您好、Jan:

    我已找到问题的根本原因。 出现此问题的原因是您尚未在 example.syscfg 文件中设置正确的配置。

    我可以看到.text.main 没有分配给 MSRAM 存储器。 此外、MPU 区域也未被标记为缓存。

    我要附加以下具有工作变更的工程。 请参阅以下工程。

    Project - gpio_led_blink_am243x-lp_r5fss0-0_nortos_ti-arm-clang.zip

    此致、

    Tushar

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

    您好、Jan:

    除了上述更改之外、您还需要启用 OSPI DAC 模式。 要启用 DAC 模式、请执行以下步骤。

    在位于${MCU+SDK}\source\sysconfig\drivers\.meta\ospi\ospi\ospi_am243x.syscfg.js soc 的 ospi_am243x.syscfg.js 文件中进行以下更改。 请参阅下图。

    进行更改后、 使用以下命令重新编译驱动程序和 SBL 示例。

    cd ${MCU+SDK}/source/drivers
    
    gmake -s -f makefile.am243x.r5f.ti-arm-clang PROFILE=debug clean
    gmake -s -f makefile.am243x.r5f.ti-arm-clang clean
    gmake -s -f makefile.am243x.r5f.ti-arm-clang PROFILE=debug
    gmake -s -f makefile.am243x.r5f.ti-arm-clang 
    
    cd ${MCU+SDK}
    
    
    gmake -s sbl clean
    gmake -s sbl PROFILE=debug clean
    gmake -s sbl
    gmake -s sbl PROFILE=debug

    完成上述更改后、重新编译上面提供的示例应用。 然后、它应该能够正常工作。

    请告知我们上述解决方案是否有效。

    此致、

    Tushar

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

    Tushar、您好!

    在运行 gmake 时遇到一些问题、因为其路径为"C:/ti/ccs1281/ccs/utils/cygwin/rm "错误。

    在我的文件系统中、ccs1280不是1281、我无法找到更改此路径的方法。 是否有办法对其进行更改?

    此致、

    1月

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

    您好、Jan:

    您可以在位于${MCU+SDK}的 imports.mak 文件中更改 CCS 的路径。

    此致、

    Tushar

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

    Tushar、您好!

    我已经对 示例进行了尝试、可以从 CCS 中运行、但当我尝试将示例与 SBL 搭配使用时、系统不会在电源循环后启动程序。 我在我共享的项目中的 FlashingTool 文件中使用 sbl_ospi.cfg、但在使用您共享的命令重新编译 SDK 后使用新的 SBL 文件。

    此致、

    1月

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

    您好、Jan:

    为 EVM 供电后、您是否能够查看完整的 SBL 日志?

    您可以从 SBL 发送日志吗?

    此致、

    Tushar

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

    Tushar、您好!

    这来自2次下电上电   

    当我在没有 XIP 的情况下使用它从 RAM 运行时、它工作正常。

    此致、

    1月

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

    您好、Jan:

    上述错误是否来自 SBL OSPI 示例的 main.c 文件?

    如果我不使用 XIP 从 RAM 运行它、它可以正常运行。

    您是否想说通过 SysConfig 将所有代码保存在 MSRAM 中?

    SoC 引导时、您能否发送完整的日志?

    此致、

    Tushar

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

    Tushar、您好!

    上述错误是否来自 SBL OSPI 示例的 main.c 文件?

    上述错误来自 sbl_ospi.debug.hs_fs.tiimage、路径为文件 SDK\tools\boot\sbl_prebuild\am243x-lp  

    您是不是想说所有代码何时通过 SysConfig 保存在 MSRAM 中?

    SoC 启动时能否发送完整日志?

    这就是我从 UART 得到的全部信息、有没有其他方法可以获取更详细的日志?

    此致、

    1月

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

    您好、Jan:

    您的 SBL 示例代码本身似乎会出现故障。 您能否确认您是否在 SBL 示例中进行了任何更改?

    在 Drivers_open()调用后似乎失败。 您能否调试 SBL 示例?

      有关调试 SBL 的详细信息、请参阅 faq-am62x-am64x-faq-debuging-sbl-boot-in-rtos-sdk。

    此致、

    Tushar

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

    Tushar、您好!

    很抱歉耽误你的时间。

    我已经尝试 从 https://www.ti.com/tool/SDK-AM243X 重新安装 MCU-PLUS-SDK 、以确保具有默认文件、并尝试以类似的结果再次运行您的示例。 当我尝试调试 SBL 时、我在 sciclient.c 中的第661行获得了堆栈

    在这个被调用的函数中、我得到这个:

    当我尝试跳过此函数时、drivers_open 不会出现任何错误、但我得到此行:

    现在我得到以下日志:

     

    当我尝试从 mcu_plus_sdk_am243x_10_01_00_32\examples\kernel\DPL\XIP_benchmark 中使用 XIP 示例时、我会得到以下错误:

    . 使用 CCS 版本12.8.0.00012和 SysConfig 版本1.22.0时、我可能有什么问题吗?  

    编辑:  

    下面是我的 SBL 示例工程(如果它有助于解决此问题)

    e2e.ti.com/.../4812.sbl_5F00_ospi_5F00_am243x_2D00_lp_5F00_r5fss0_2D00_0_5F00_nortos_5F00_ti_2D00_arm_2D00_clang.zip

    此致、

    1月

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

    Tushar、您好!

    我尝试获取新版本的 CCS 并根据 software-dl.ti.com/.../GETTING_STARTED.html 配置设置

    当我尝试运行您的命令和示例时、我仍然必须更改导入路径、即使所有内容都安装到默认路径中也是如此。 这种行为是否正常? 这里是我的 Imports.mak 如果它可能是一些问题在那里

    e2e.ti.com/.../0728.imports.zip

    这是我的 TI 根文件

    此致、

    1月

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

    您好、Jan:

    您能否与我们分享您正在使用的 sbl_ospi.cfg 文件?

    此致、

    Tushar

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

    Tushar、您好!

    我在这里显示了整个 SBL 项目

    [报价 userid="639466" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465288/lp-am243-using-xip-for-singlecore-application/5635969 #5635969"]

    下面是我的 SBL 示例工程(如果它有助于解决此问题)

    4812.sbl_ospi_am243x-lp_r5fss0-0_nortos_ti-arm-clang.zip

    [报价]

    此致、

    1月

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

    您好、Jan:

    感谢您分享上述项目。 我将检查它。

    我要求提供 sbl_ospi.cfg 文件、而不是 SBL 项目。 您能否共享配置文件?

    我将为您提供我的 SBL 二进制文件和 cfg 文件、您可以在结束时对它们进行检查并将结果更新。

    此致、

    Tushar

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

    您好、Jan:  

    请参阅以下文件。

    SBL 二进制- sbl_ospi.release.hs_fs.tiimage

    OSPI Cfg - default_sbl_ospi.cfg

    此致、

    Tushar

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

    Tushar、您好!

    [报价 userid="16414" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1465288/lp-am243-using-xip-for-singlecore-application/5637239 #5637239"]我请求使用 sbl_ospi.cfg 文件而不是 SBL 项目。 您能否共享配置文件?[/QUOT]

    抱歉我误解了这里的 cfg 文件

     e2e.ti.com/.../sbl_5F00_ospi.cfg

    此致、

    1月

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

    您好、Jan:

    我已经检查了您的 cfg 文件、它看起来正常。

    您可以一次性查看我上面提供的文件吗?

    此致、

    Tushar

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

    Tushar、您好!

    我曾尝试使用您的引导加载程序、但从 UART 获得了这个、但 LED 仍不闪烁:

     

    当我尝试通过调试连接到 MCU 时、转到了 Hwip_user_undefined_handler_c 我将进行更多的调试并分享结果。  

    此致、

    1月

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

    您好、Jan:

    SBL 示例现在可以正常工作。 您是否在 GPIO 示例中进行了任何更改?

    您是否正在运行我的 GPIO 示例并且仍然面临这个问题? 因为在我使用相同的二进制文件结束时、我可以看到 LED 在闪烁。

    此致、

    Tushar

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

    Tushar、您好!

    我正在使用这个没有改动的示例 、我使用第一个函数调用(System_init)获得了 Hwip_user_undefined_handler_c。

    您能否与我分享 sbl_uart_uniflash? 它现在只是一个 bin、我正在使用从下载的 SDK 下载的文件、不是您与我共享的文件。

    此致、

    1月

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

    您好、Jan:

    UART uniflash 在这里不太可能会产生问题。  

    UART_uniflash - sbl_uart_uniflash.release.hs_fs.tiimage

    您能否也查看不同的 EVM?

    此致、

    Tushar

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

    Tushar、您好!

    我没有第二个 LP 套件尝试相同的二进制或不同的硬件。 但我曾尝试在 TMDS243EVM 上使用 XIP。 它使用不同的二进制文件、但引导加载程序无法正常工作时会遇到相同的问题

    此致、

    1月

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

    您好、Jan:

    在我分享的项目中、可能还有预编译的二进制文件、这也对我有用。 您是否可以在不重新编译的情况下在 GPIO 示例的 Debug 文件夹中尝试这些二进制文件?

    我可以看到、借助上面提供的 SBL 二进制文件、您可以运行 SBL、而您的应用程序未在运行。

    您可以尝试 调试 XIP 应用中提到的步骤 来调试 GPIO 应用吗?

    我将从明天到下周的星期五离开办公室。 因此、对该线程的响应将会延迟。 感谢您的耐心。

    此致、

    Tushar

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

    Tushar、您好!

    我在未重新编译的情况下尝试了上传二进制文件。 至于对我之前发布的 GPIO 应用程序  进行调试、我在其中获得了项目中的第一个函数调用 Hwip_user_undefined_handler_c。

    此致、

    1月

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

    Tushar、您好!

    我在第二个 LP 套件上尝试的效果相同。 要加载应用程序、请执行以下步骤:

    设置 UART 引导模式

    加载二进制文件:

    然后切换到 SPI 引导模式:  

    这是引导日志、我得到:

     

    当我尝试在两块电路板上进行调试 时,当我尝试进入 System_init ()时,我得到了 Hwip_user_undefined_handler_c ;

    这是阻塞循环后的第一个函数、 我无法找到任何 可能导致该行为的信息。

    以下是我在这里分享的二进制和闪存工具我使用:

    e2e.ti.com/.../flash.zip

     如果可能是故障系列、这些是我将使用的板 ID

    此致、

    1月

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

    您好、Jan:

    感谢您的耐心。

    我已经检查上述文件、示例不工作。 我将提供以下 zip、其中示例按预期运行。

    请检查以下内容并更新结果。

    文件- flash_ti.zip

    此致、

    Tushar

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

    Tushar、您好!

    我只将部分代码移至 XIP、从而解决了此 XIP 问题。 感谢您的帮助与耐心。

    此致、

    1月

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

    您好、Jan:

    感谢以上确认。

    关闭螺纹。

    此致、

    Tushar