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/AM5718:SBL 的.out 文件到图像转换中存在问题

Guru**** 2540720 points
Other Parts Discussed in Thread: AM5718

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/883274/ccs-am5718-problem-in-out-file-to-image-conversion-of-sbl

器件型号:AM5718

工具/软件:Code Composer Studio

你(们)好
我使用的是 AM5718,我的目标是从 SD 卡 RTOS 引导。 我转换了 SBL。 将文件输出到.bin、然后输出到.ti_bin(使用工具 tiimage.exe ),但电路板无法启动。我可以通过使用 JTAG 调试 SBL 文件进入应用程序,但无法使用相同的 SBL 文件进行启动。 我按照以下链接将.out 文件转换为图像。

链接:software-dl.ti.com/.../index_Foundational_Components.html

tiimage.exe 0x40331000 mmcsd sbl.bin sbl_ti.bin

此致

Sreehari M S

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

    您好、Sreenehari、

    您能否尝试以下操作:

    tiimage.exe 0x40300000 LE sbl.bin SBL.tiimage


    将 SBL.tiimage 重命名为 SD 卡并重命名为 MLO。

    此致、

    Rishabh

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

    大家好、我已经完成了您提到的命令、但它仍然不起作用 映射中提到的加载地址 SBL_MEM 是  

    链接器文件中提到的地址也是

    请查看

    此致、

    Sreehari M S  

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

    您好、Sreenehari、

    很可能是 SD 卡格式问题。 您需要使用 HP SD 卡格式工具(https://download.cnet.com/HP-USB-Disk-Storage-Format-Tool/3000-2094_4-10974082.html)来格式化 SD 卡。

    如果仍然无法正常工作、您可以尝试使用 img 文件 C:\ti_am5_610\processor_sdk_rtos_am57xx_6_01_00_08\prebuilt-sdcards\evmAM572x\sd_card_img\sd_card.img.gz 来制作可引导的 SD 卡。

    Ming

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

    您好、Ming、

     我遵循了您 的指示、但输出仍然相同、电路板无法启动。

    [引用 user="Ming Wei"]如果仍不起作用,可以尝试使用 img 文件 C:\ti_am5_610\processor_sdk_rtos_am57xx_6_01_00_08\prebuilt-sdcards\evmAM572x\sd_card_img\sd_card.img.gz 来制作可引导的 SD 卡。

    我从一开始就使用这种方法。 我可以从位置( C:\ti\pdk_am57xx_1_0_13\packages/ti\boot\sbl\binary\idkAM571x\mmcsd\bin)中提供的默认.out 文件进行引导、我认为它不是 SD 卡的问题。   

    请就如何进一步处理提供建议。

    此致、

    Sreehari M S  

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

    您好、Sreenehari、

    如果默认可引导映像适用于您、您需要重新构建 SBL (MLO)吗? 您只需为自己的应用程序更改 SD 卡上的应用程序、并在默认可引导映像中使用 MLO 即可。

    Ming

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

    您好、Ming、

     [引用 user="Ming Wei">您需要重新构建 SBL (MLO)吗? [/报价]

    我已经更改了定制板上的 DDR 配置、因此我需要更改默认 SBL、目前我正在尝试将默认 SBL 替换为定制 SBL。 在此之前、我需要确保它在 EVM 板上正常工作。

    此致、

    Sreehari M S

      

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

    您好、Sreenehari、

    从 SD 卡引导 SBL 与从 JTAG 执行 SBL 之间的唯一区别是 GEL 文件的使用。 请检查 GEL 文件中 SBL 中缺少的设置。

    Ming

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

    您好、Ming、

    我可以在 没有将 GEL 文件成功输入到应用程序映像的情况下运行 SBL。 我认为由于 GEL 文件、它无法启动。 是否可以 通过运行 makefile 来构建.out 文件。 请建议如何继续,谢谢

    此致、

    Sreehari M S

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

    您好、Sreenehari、

    是的、 您当然可以按照 http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#boot 第4.6.3.2.5节中的说明构建 SBL。 构建 AM57xx 的 SBL。

    在使用 SD 引导时、可以将 SBL 中的 UART_printf 添加到可能存在问题的引脚点。  

    Ming  

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

    您好、Ming、

    [引用 user="Ming Wei"]您当然可以 按照 http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#boot 中的说明构建 SBL

    我遵循了您提到的内容、但我认为问题在于输出文件的大小太大、超过800KB、程序执行在 SBL 中的 UART 打印处挂起、我认为这是由于内部存储器不足、 我刚刚在  SBL 中的 func_ptr ()行中注释了 UART printf 的部分及其成功输入的部分,并通过切换与下图类似的 LED 来确认。

    现在的问题是它没有进入应用程序(应用程序映像),请建议如何继续。

    此致、  

    Sreehari M S

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

    您好、Sreenehari、

    您是否检查了 func_ptr 的值? 它是否与您的应用程序入口点匹配? 如果是、您能否单步进入 func_ptr?

    在无法转到应用程序后、 如果您停止 CPU、它会在哪里停止(PC 值)?

    Ming

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

    您好、Ming、

    [引用用户="Ming Wei"]

    您是否检查了 func_ptr 的值? 它是否与您的应用程序入口点匹配? [/报价]

    我已经检查了与应用程序入口点匹配的 func ptr (启动地址0x80000294, 我的应用程序映像是您的默认测试映像,它来自位置:   C:\ti\processor_sdk_rtos_am57xx_6_01_00_08\prebuilt-sdcards\idkAM571x\sdk_card_img )。

    [引用用户="Ming Wei"]

    如果是、您能否单步进入 func_ptr? 在无法转到应用程序后   

    我可以按照您之前提到的步骤进入应用程序。 我将其与工作中的评估板进行了比较,注意到应用程序映像 始终悬挂在地址0X80000330 上,但此时在评估板中给出了:


     我注意到以下几点:

    •  SBL 时钟初始化后、应用程序中的时钟初始化在 while 循环中挂起。 它是通过在没有任何 GEL 文件的情况下运行应用程序来验证的。

    while (CSL_IPU_CM_CORE_AON_CM_IPU1_IPU1_CLKCTRL_REG_IDLEST_FUNC!= CSL_FEXT (ipuCmReg -> CM_IPU1_IPU1_CLKCTRL_REG)、                                                           IPU_CM_CORE_AON_CM_IPU1_IPU1_CLKCTRL_REG_IDLEST);

    我在您的时钟配置文件中评论了这一部分。  不确保打开此时钟是否有任何问题?

    • DDR 配置

    我的一个定制板只有两个 DDR 和  Board_DDR3Init();始终返回错误代码(-7)。 (使用3个 DDR 的定制板上 DDR3初始化没有问题)

    为了补偿这种变化、我需要在 DDR 配置中更改什么?

    此致,

    Sreehari M S

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

    您好、Sreenehari、

    在我的 Processor SDK RTOS 6.1.0的 Board_moduleClockInit()中,我们有:

    /*
       while (CSL_IPU_CM_CORE_AON_CM_IPU1_IPU1_CLKCTRL_REG_IDLEST_FUNC!=
          CSL_FEXT (ipuCmReg -> CM_IPU1_IPU1_CLKCTRL_REG、
           IPU_CM_CORE_AON_CM_IPU1_IPU1_CLKCTRL_REG_IDLEST);
    *

    所以我想说的是、对本课程进行评论是可以的。

    Ming

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

    您好、Sreenehari、

    有关 DDR 配置、请参阅以下文档:

    http://www.ti.com/lit/an/sprac36e/sprac36e.pdf

    http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/FAQ.html#useful-ddr-configuration-resources

    11.20.电路板支持

    Ming

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

    您好、Ming、

    [引用用户="Ming Wei"]

    有关 DDR 配置、请参阅以下文档:

    http://www.ti.com/lit/an/sprac36e/sprac36e.pdf

    [/报价]

    通过将 GEL 文件移植到 C 可以解决 DDR 问题。现在 、我能够引导您的默认测试应用、但无法在 EVM 和定制板中引导我的定制应用。 我认为这是由于图像转换,我点击了链接:

    http://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/index_Foundational_Components.html#am57x 

    • CD C:\ti\pdk_am57xx_1_0_13\packages
    • 运行 pdksetupenv.bat
    • CD C:\ti\pdk_am57xx_1_0_13\packages/ti\boot\sbl
    • gmake 示例板=idkAM571x SOC=AM571x  
    • 设置 tools_path=C:\ti\pdk_am57xx_1_0_13\packages/ti\boot\sbl\tools
    • 设置 bin_path=C:\AM571x_PJCT_script\binary_file
    • 设置 App_MPU_CPU0=C:\AM571x_PJCT_script\out_files\My_App.out
    • 设置 App_DSP1=
    • 设置 App_DSP2=
    • 设置 App_IPU1_CPU0=
    • 设置 App_IPU2_CPU0=
    • CD C:\ti\pdk_am57xx_1_0_13\packages/ti\boot\sbl\tools\scripts
    • 运行 AM57xImageGen.bat

     此外,我 还通过此链接执行了您的 postbuild 步骤:

    e2e.ti.com/.../866964

    并且已生成应用程序、但问题仍然与以下情况相同:

    请就如何进一步采取行动提供建议。

    此致、

    Sreehari M S  

     

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

    您好、Sreenehari、

    很高兴看到您已解决 SBL 问题。

    若要调试应用程序问题、请执行以下几个步骤:

    1.确保您的应用程序通过不带 GEL 文件的 JTAG 正常运行

    2.首次进入应用程序的 main()时在 UART 上打印

    3.确保任务大小和堆大小足够

    Ming

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

    您好、Ming、

    [引用用户="Ming Wei]3. 确保任务大小和堆大小足够

    非常感谢您提供的宝贵信息,问题在于堆大小,现在我们能够成功引导。

    此致,

    Sreehari M S