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.

[参考译文] RTOS/PROCESSOR-SDK-AM335X:应用程序无法从 SD 卡启动

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/672344/rtos-processor-sdk-am335x-application-fails-to-start-from-sd-card

器件型号:PROCESSOR-SDK-AM335X

工具/软件:TI-RTOS

您好!

我正在尝试从 SD 卡运行我的应用程序。 当我通过 JTAG 运行调试以启动应用程序时、我会运行此脚本 AM335x_PRU_ICSS.gel。 复制与 C 类似的每个代码后、我必须将此代码转换为 C:

GEL_MemoryFill (0x4a300000、0、16*1024、0x0、0xC);
GEL_MemoryFill (0x4a310000、0、12*1024、0x0、0xC);

我该怎么做? 请帮帮我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试了 memset、但它没有帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Rafal、

    您是否已从.out 文件创建应用程序映像并按照此处的说明从 SD 卡引导?
    processors.wiki.ti.com/.../Processor_SDK_RTOS_Creating_a_SD_Card_with_Windows

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

    是的、我甚至使用了 enable_PRU=yes 选项。 我的应用中唯一缺少 的内容是 GEL_MemoryFill (0x4a300000、0、16*1024、0x0、0xC); 和  
    GEL_MemoryFill (0x4a310000、0、12*1024、0x0、0xC); 我需要在这个地址下面写一些东西,但我不知道 GEL_MemoryFill 到底做什么,因为它是扩散的,而是记忆集。 您能将其转换为"C"。 或者、我可能需要创建扩散 MLO 文件

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    本期我使用此链接并在 Linux processors.wiki.ti.com/.../Processor_SDK_RTOS_create_SD_card_script 下创建了 SD 卡
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我的问题没有解决办法吗? 一切都可以正常工作、但我需要执行 GEL_MemoryFill (0x4a300000、0、16*1024、0x0、0xC); 和 GEL_MemoryFill (0x4a310000、0、12*1024、0x0、0xC); 我的代码中有这个、但我无法将其转换为 C。您能帮我吗?

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

    Rafal、

    请参阅位于 C:\ti\pdk_am335x_1_0_9\packages/ti\starterware\bootloader\src\AM335x\ sbl_am335x_platform.c 的 SBL 代码、添加以下 代码、您可以将以下代码添加到其应用程序中或修改 SBL。

    静态空 PRU_ICSS_PRCM_Enable (void)
    {
    const void * prussPruDramBase =(void *) SOC_PRU_ICSS_DATA_ram0;
    const void * prussSharedDramBase =(void *) SOC_PRU_ICSS_Shared_RAM;
    PRU_ICSS_PRCM_Reset ();
    *((unsigned int*)(SOC_CM_PER_regs+0xE8))|= 0x2;
    PRU_ICSS_PRCM_Reset ();
    memset(((void *)prussPruDramBase, 0,(16*1024);
    memset ((void *) prussSharedDramBase、0、(12*1024));
    }
    
    静态 void PRU_ICSS_PRCM_Reset (void)
    {
    *((unsigned int*) SOC_PRM_PER_regs)|= 0x2;
    *((unsigned int*) SOC_PRM_PER_regs)&= 0xFFFFFFFD;
    } 

    Lali

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