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.

[参考译文] MCU-PLUS-SDK-AM273X:如果在 SBL 中使用 FreeRTOS、则无法引导应用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1197253/mcu-plus-sdk-am273x-fail-to-boot-app-if-using-freertos-in-sbl

主题中讨论的其他器件:MCU-PLUS-SDK-AM273X
  • 器件型号:MCU-PLUS-SDK-AM273X

您好!

我的客户修改了 SBL 以支持 FreeRTOS、但启动应用程序失败。  你对这个问题有什么想法吗?

我正在尝试重现问题。 我们仍然可以通过以下方式在 CCS 中调试 FreeRTOS SBL 吗?

(2)[FAQ] mcu-plus-SDK-AM243X:如何调试 SBL_QSPI (对于 am263和 am273)或 SBL_ospi (对于 am243)或通过 OSPI/QSPI 引导的应用程序? -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

谢谢。

Chris

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

    尊敬的 

    feie feie 说:
    我的客户修改了 SBL 来支持 FreeRTOS、但启动应用程序失败。  您对此问题有任何想法吗?

    引导加载程序文件不是为 FreeRTOS 驱动程序库构建的。 对 RTOS 不支持 SBL。

    feie feie 说:
    我们仍然可以通过以下方式调试 CCS 中的 FreeRTOS SBL 吗?

    是的、这可以用于相同的用途。

    此致、
    Aakash

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

    Aakash,

    引导加载程序文件不是为 FreeRTOS 驱动程序库构建的。

    我对 SBL 函数流程的理解是读取闪存上的应用映像并将其复制到 RAM 中。 更改中断矢量表、然后复位内核以从应用重新启动。

    在 Noos 或 FreeRTOS 上实施的这些函数有何差异?

    谢谢。  

     Chris

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

    尊敬的 

    我们 既不支持 FreeRTOS、也没有对流程进行测试。 现在预测任何问题还为时过早。 但什么 API 你面临的问题或是失败为你?

    此致、
    Aakash

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

    Aakash,

    这些天我做了更多的测试。 请在下面查找更多详细信息。

    1.我修改了 mcu_plus_sdk_am273x_08_04_00_17中的 FreeRTOS Empty 演示、以支持 SBL 功能。 请在下面找到我的测试项目。

    由于无法使用上述 SBL 引导应用并易于调试、我在上述项目中禁用了 QSPI 中的 DMA 功能。  

    2.在上述 SBL 下,如果应用较大,如毫米波 MCU 和 SDK 中的毫米波演示。 在对 app 的 MSS 代码的第二大段进行闪存读取期间、代码将运行异常。

    3.如果我使用像 hello 这样的小应用程序、Flash 读取工作正常。 但在闪存读取之后、代码将在 DebugP_log 中的信标挂起中挂起。

     SemaphoreP_PEND (&gDebugLogLockObj、SystemP_WAIT_FOREVER);

    您可以帮助检查我在有关 FreeRTOS 的本次 SBL 中可能错过的内容吗?

    谢谢。

    Chris

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

    尊敬的 

    感谢您提供这些详细信息。 让我来完成此过程并获取更多信息。 ETA:02/27/2023

    此致、
    Aakash

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

    Askash、

    有更新吗?

    谢谢。

    Chris

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

    您好,Chris Meng

    我们仍在研究此问题、因此预计会有延迟。 该专家不在办公室、很快就会回来与您联系。

    此致

    Sri Vidya

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

    尊敬的 

    我们正与 FreeRTOS 一起研究一个闪存示例、以预测是否存在任何与此相同的问题。

    此致、
    Aakash

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

    我们的产品即将量产、但 FreeRTOS 引导跳转到应用程序的功能仍被阻止。 请帮助提高这一问题的优先地位并帮助将其置于实际位置。 非常感谢。

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

    Aakash,

    此问题已存在很长时间。 请您提供一个估计的反馈日期?

    谢谢,

    Chris

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

    尊敬的 

    让我来讨论一下最高优先级的问题。 我预计在3月10日之前结束。

    此致、
    Aakash

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

    尊敬的 

    此处需要一些说明-

    设备中应用程序的存储器映射是什么? 是这样吗?

    我尝试了此功能、它对我有效(在 AM263x 上)。 您能否共享存储器映射、以便我也可以在 AM273x-EVM 上尝试相同的操作?

    此致、
    Aakash

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我尝试过此版本,它对我来说是有效的(在 AM263x 上)。 [/报价]

    你是否将  SBL 与我分享的 FreeRTOS 和 hello word 项目一起使用?

    您能否共享内存映射,以便我也可以在 AM273x-evm 上尝试相同的内存映射?

    你是指 SBL 与 FreeRTOS 的映射吗?

    谢谢。

    Chris

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

    Aakash,

    下面是毫米波演示的地图信息。

    R5f:

    DSP:

    应用映像文件:

    谢谢。

    Chris

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

    尊敬的 

    您是否使用了  SBL 与 FreeRTOS I shared 和 hello word 项目?

    可以。 我还必须禁用 EDMA。 不过、我将在内部讨论这一点。

    您的意思是 SBL 与 FreeRTOS 的映射吗?

    否 实际上、我想知道应用程序 在存储器以及 SBL QSPI 中的位置是什么、我将假设它位于200KB (最大值)的 MSS_L2的开始处。  

    此致、
    Aakash

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

    EDMA 的 QSPI 驱动程序存在问题、在8.5版本中已修复。

    否 实际上、我想知道应用程序 在存储器中的位置以及 SBL QSPI 的位置、我假设它位于200KB (最大值)的 MSS_L2起始位置。

    FreeRTOS 项目的 SBL 使用来自 defulat Noos SBL 的 cmd 文件。 映射文件与此类似。

    对于 app、我认为映射文件会提供您需要的信息。 如果您需要其他信息、请告知我。

    谢谢。

    Chris

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

    尊敬的 

    我想现在我已经清楚你正在尝试什么了。 我将在我的终端尝试此实验,但我想知道您为什么要在引导加载程序中集成操作系统?

    Br、
    Aakash  

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

    Aakash,

    客户需要在 SBL 中添加以太网支持。  

    谢谢。

    Chris

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

    尊敬的 

    NO-RTOS 在08.05版中也提供 LwIP 支持。 我认为、比起将引导加载程序代码转换到 Free-RTOS、这可能是更好的选择。 Bootloader 应该是引导主应用程序的启动代码、但 OS (嵌入式系统中)应该是永无休止的循环。

    您确定客户使用此路径是否可行?

    此致、
    Aakash

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

    Aakash,

    客户还遇到了 SBL 中的裸 Matel LWIP 驱动程序问题。

    请通过 FreeRTOS 问题帮助您解决本 SBL 问题。  我认为这对于以后需要在 SBL 中使用 FreeRTOS 的其他客户也很有帮助。

    谢谢。

    Chris

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

    Aakash,

    请尽快向我们通报进展情况。  

    谢谢。

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

    尊敬的 

    我们有一个与 FreeRTOS 配合使用的 SBL QSPI 的有效示例- tidrive.ext.ti.com/.../43231052-04f1-40d7-8d39-dddc93e40714

    请尝试相同步骤、如果 您需要任何其他帮助、请告诉我。

    此致、
    Aakash

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

    谢谢。我们会尽快验证。 我们想知道为什么 FreeRTOS SBL 以前引导失败。 它是否与 SBL 或应用程序的图像尺寸有关?

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

    尊敬的 

    尽管我无法找出共享应用程序中的问题的根本原因。 我想到的主要原因是 OS 的基本初始化需要稳定的 RTI 时钟、该时钟在启动期间或 PLL 配置之前不可用、这可能会导致失败。

    此致、
    Aakash

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

    项目文件不能直接使用,提示元数据不能解释。我 比较了与原始 SBL 项目的区别。 您提供的项目中的链接是 nortos.am273x.r5f.ti-arm-clang.release.lib)如.cproject(…是否错误提供了项目?谢谢。

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

    尊敬的 

    我已经更新了使用 CCS 构建的项目的链接- https://tidrive.ext.ti.com/u/r1mKD5rZiha9WYoC/dc5e3029-8bf7-4c2c-a5fe-c537ce49f201?l

    希望它有所帮助、

    Aakash

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

    您能否基于 MCU_PLUS_ SDK_ am273x_ 08_ 04_ 00_ 17来解决 FreeRTOS SBL 无法引导应用程序的问题? 我们的电路板目前处于08_05_00_24中网络功能仍然存在问题。谢谢。

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

    尊敬的 

    只需 在 CCS 中将 MCU_PLUS_SDK 更改为08_ 04_ 00_17即可。 SBL 应用程序是否存在 08_04_00_17上的任何其他问题?

    此致、
    Aakash

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

    我尝试在08_04_00_17中,只有两个字母的 St 被打印,然后挂起来。 您能否在08_04_ 00_17中进行测试? 谢谢。

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

    Aakash,

    请在下面找到当前调试状态。

    1. FreeRTOS SBL +hello world 项目: hello world 仍然挂起。

    我可以看到串行端口上的 SBL 输出、但没有 hello world 打印。 然后我连接了 R5F 并加载了 hello world 符号。

    然后在 CCS 中复位 CPU 并再次运行。 然后、我可以在串行终端中看到"Hello World"。  

    Hello world 应用程序映像似乎已正确复制到 ram。  

    您可以再次帮助吗?

    谢谢。

    Chris  

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

    Chris、您好!

    在添加了 FreeRTOS 的情况下、我发现 SDK 有两个问题。

    第一个问题: UART_flushTxFifo()在映像加载后被调用。

    UART_flushTxFifo()在 UART FIFO 不为空但没有超时的情况下调用 taskP_yield ()。

    TaskP_Yield ()调用 SVC,这会导致 SVC 异常。

    FreeRTOS SVC 异常处理程序通常会调用 FreeRTOS 调度程序。 但是、应用程序已加载、因此会调用应用程序 SVC 处理程序。 SVC 处理程序是一个无限循环并且代码挂起。

    第二个问题:在调用 Bootloader_runSelfCpu()之前中断处于活动状态

    RTI 计时器(OS tick) IRQ 和 EDMA IRQ 处于活动状态。

    这将导致通过 VIM/VIC 接口调用对 IRQ 处理程序的调用。

    IRQ 处理程序包含一个 SVC 调用、该调用会导致 SVC 异常。

    SVC 异常处理程序是应用 SVC 处理程序、因此代码挂起。

    可能有更巧妙的解决方案、但目前我已完成了以下操作:

    1. 注释掉 UART_flushTxFifo()
    2. 在调用 R5F 复位之前禁用和清除已启用的 IRQ 并全局禁用 IRQ。

    这似乎起作用。

    我在下面附上了我的 CCS 项目。 我为 AM273x 构建了代码、并使用了 MCU+SDK 08.05。 我在 AM273x EVM 修订版 C 上测试了代码

    此致、
    弗兰克

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

    我尝试了您提供的工程、但只有"正在启动 QSPI 引导加载程序..."。

    我想知道我们的0805 SDK 之间是否存在差异。

    我已经为我们的电路板提供了 syscfg。 我能否根据此 syscfg 重新编译并提供 timimage 映像? 我会再试一次。

    /**
    *这些参数在生成该文件时被使用。 它们将
    通过 GUI 或 CLI *在后续加载时自动应用。 有关如何覆盖这些参数的附加信息,请使用"--help"运行 CLI。
    *@cliArgs --device "AM273x"--package "ZCE"--part "Default"--context "r5fs0-0"--product "MCU_PLUS_SDK_AM273x.evmAM273x@08.05.00
    *@version{"tool":"1.14.0+2667"}
    */*
    
    
    导入用于此配置的模块。
    */
    常量闪存 = scripting.AddModule ("/board/flash/flash "、{}、false);
    const flash1 = flash.addInstance ();
    const bootloader = scripting.AddModule ("/drivers/bootloader/bootloader ",{}, false);
    const bootloader1 = bootloader.addInstance ();
    const EDMA = scripting.AddModule ("/drivers/edma/edma "、{}、false);
    const edma1 = eDMA.addInstance();
    const hsmclient = scripting.AddModule ("/drivers/hsmclient/hsmclient "、{}、false);
    const hsmclient1 = hsmclient.addInstance();
    const clock = scripting.AddModule ("/kernel/dpl/clock ");
    const debug_log = scripting.AddModule ("/kernel/dpl/debug_log ");
    const mpu_armv7 = scripting.AddModule ("mpu"/kernel/dpl/mpu_armv7、{}、false
    
    
    
    
    
    );const mpu_armv71 = mpu_armv7.addInstance ();const mpu_armu_armv72 = mpu_armus_armv7_arm (_armus_armcost_arm);cost_armU_armv7_armU_arm = addinstance_armv7**
    
    
    
    配置值。
    */
    bootloader1.$name ="CONFIG_BOOTLOADER0";
    bootloader1.appImageOffset ="0x000A0000";
    
    flash1.$name ="CONFIG_FLASH0";
    bootloader1.flashDriver = flash1;
    flash1.device ="custom_flash";
    flash1.fname ="XM25QH64C";
    flash1.flashManfId ="0x20";
    flash1.peripheralDriver.$name ="CONFIG_QSPI0";
    
    hsmclient1.$name ="CONFIG_HSMCLIENT0";
    
    debug_log.enableUartLog = true;
    debug_log.enableCssLog = false;
    debug_log.uartLog.$name ="CONFIG_UART0";
    debug_log.uartLog.intrEnable ="disable";
    debug_log.uartLog.mss_uart.tx.$assign ="ms_UARTA"
    ;debug_log.uartLog.ms_uart.rX.$assign ="ball.uartLog.uartLog.ms_uartLog.tx.$assign
    ="ball.w2";debug_log.uartLog.uartLog.edmaConfig"
    
    = edma1;edma1.$name
    ="CONFIG_EDMA0";
    flash1.peripheralDriver.edmaConfig = edma1;
    edma1.instance ="EDMA_MSS_A";
    edma1.edmaRmDmaCh[0].resourceType = scripting.forceWrite ("ownDmaCh");edma1.edmaRmDmaCh[0]
    。$name ="CONFIG_EDMA_RM0";
    edma1.edmaRmQdmaCh[0]。$name ="CONFIG_EDMA_RM1";
    edma1.edmaRmTcc[0]。$name ="CONFIG_EDMA_RM2";edma1.edmaRmParam[0].$name
    ="CONFIG_EDMA_RM3";
    edma1.edmaRmReservedDmaCh[0].$name ="CONFIG_EDMA_RM4";
    
    mpu_armv71.$name ="CONFIG_MPU_REGION0";
    MPU_armv71.properties
    ="器件";MPU_armv71.allowExecute = false;
    
    MPU_armv72.$name ="CONFIG_MPU_REGION1";MPU_armv72.size =
    15;
    
    MPU_armv73.$name ="CONFIG_MPU_Region2";MPU_armv73.baseAddr
    = 0x80000;MPU_armv73.size
    = 15;
    
    mpu_armv74.$name ="CONFIG_MPU_Region3";mpu_armv74.baseAddr
    = 0x10200000;
    mpu_armv74.size = 20;
    
    mpu_armv75.$name ="CONFIG_MPU_REGION4";
    MPU_armv75.baseAddr = 0x102E0000;
    MPU_armv75.size = 16;
    MPU_armv75.attributes ="NonCached";
    MPU_armv75.allowExecute = false;
    
    MPU_armv76.$name ="CONFIG_MPU_REGION5";
    MPU_armv76.baseAddr = 0xC3000000;
    MPU_armv76.size = 14;
    
    mpu_armv77.$name ="CONFIG_MPU_REGION6";
    mpu_armv77.size = 14;
    mpu_armv77.baseAddr = 0xC3800000;
    
    /**
    *用于未锁频引脚/外设的 Pinmux 解决方案。 这可确保在将来
    *版本的工具中对自动解算器进行的微小更改不会影响您最初看到的 pinmux。 可以完全删除这些行、以便
    *从头开始重新解算。
    */
    flash1.peripheralDriver.ms_qspi["0"].$conrectestSolution ="blue.c2";
    flash1.conrectalDriver.ms_qspi["1"].$conrectalDriver.ms_peripheralSolutionestSolution
    ="blue.d2"
    ;flash1.flash1.flashalDriver.ms_qspi["2k
    ="MSS_QSPI0";
    flash1.peripheralDriver.MSS_QSPI.clk.$consetSolution ="Ball.E1";flash1.peripheralDriver.MSS_QSPI.cs.$consetSolution
    ="Ball.F2"; 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Gmsy:

    我正在使用已安装的 SDK 08.05。 我尚未对其进行任何修改。

    能否基于此 syscfg 重新编译 tidimage 图像并提供它?

    我不明白。 您是否要求我重新编译?

    此致、
    弗兰克

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

    尊敬的 Gmsy:

    我收到以下 UART 日志:

    正在启动 QSPI 引导加载程序...
    [bootloader_profile]引导介质      :NOR SPI FLASH
    [bootloader_profile]引导介质时钟:80.000 MHz
    [bootloader_profile]引导映像大小 :64 KB
    [bootloader_profile] Cores Present   :
    r5f0-0
    [引导加载程序配置文件] System_init                     :       160us
    [引导加载程序配置文件] Drivers_open                    :        32us
    [Bootloader profile] Board_driversOpen               :      2558us
    [引导加载程序配置文件] CPU 负载                        :     58193us
    [BOOTLOADER_PROFILE] SBL 总耗时            :     60946us

    图像加载已完成,正在切换到应用程序...
    世界、您好!

    在这里、我正在使用我上面分享的 SBL-FreeRTOS 项目。 对于此应用、我将使用 FreeRTOS 版本的 hello world 项目: https://software-dl.ti.com/mcu-plus-sdk/esd/AM273X/08_05_00_24/exports/docs/api_guide_am273x/EXAMPLES_HELLO_WORLD.html

    我在下面附上了项目。

    此致、
    弗兰克

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

    Frank 和 Aakash、

    非常感谢您的友好帮助! 现在我可以很好地启动 FreeRTOS SBL (8.05)+ hello world 应用程序。

    对于8.04、我按照 Aakash 的建议将 UART 更改为轮询模式、并且效果也很好。

    此致、

    Chris

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

    Frank:

    客户在 FreeRTOS SBL 中添加了打开的以太网、然后无法再次启动应用程序。 以下是我对本期问题的建议。 您是否愿意查阅并发表您的评论?

    1.在 Bootloader_loadCpu (bootHandle、&bootImageInfo.cpuinfo[CSL_CORE_ID_R5FSS0_0])期间将 MSS 矢量表保存到变量中、而不将其复制到存储器中;

    2、在将 MSS 映像从闪存读取到存储器后、关闭驱动程序。

    3.禁用 HWI。

    4.将 MSS 矢量表复制到存储器中

    5.重置 MSS 内核

    谢谢。

    Chris

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

    Chris、您好!

    我再把它重新分配给 Aakash、因为他是我们的战靴专家。

    此致、
    弗兰克

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

    Chris、您好!

    1. 在 Bootloader_loadCpu (bootHandle、&bootImageInfo.cpuinfo[CSL_CORE_ID_R5FSS0_0])期间将 MSS 矢量表保存到变量中、而不是复制到存储器;

    您是否复制了软件的所有部分?

    4. 将 MSS 矢量表复制到存储器

    由于这是 MSS、因此地址假设为0x0。

    对我来说、流程很好。 您在这里的故障点是什么?

    此致、
    Aakash