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.

[参考译文] TMS570LC4357:用于访问 TMS570LC4357中闪存的 FAPI API

Guru**** 2448780 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1068968/tms570lc4357-fapi-api-to-access-the-flash-memory-in-tms570lc4357

部件号:TMS570LC4357

您好,QJ Wang,

我正在尝试使用 FAPI API F021访问闪存  

编译后出现错误  

请帮助我解决此问题。

请提前感谢

桑托什

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

    您好,QJ Wang,

    如果它输入  了 Fapi_BlockErase API,它将断开调试并输入到下图中。

    FapiReturn = Fapi_BlockErase (0x003E0000,4);

    请支持以解决此问题。

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

    你好,桑托什,

    请将 Flash API 复制到 RAM。

    您可以使用以下代码将 Flash API 部分复制到 SRAM:

    外部未签名的 apiint LoadStart;
    外部无符号的 apiint LoadSize;
    外部无符号 apiint RunStart;

    主要()

    /*将闪存 API 复制到 SRAM*/
    Memcpy (&apiRunStart,&apiLoadStart,(UINT32) apiLoadSize);

    /*复制.const 部分*/
    //_copyAPI2RAM_(&constLoadStart,&constRunStart,&constLoadSize);
    memcpy (&constRunStart,&constLoadStart,(UINT32) constLoadSize);

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

    您好,QJ Wang,

    是的,复制上述功能后,我已解决了无匹配部分错误。

    但是,在步入  FapiReturn = Fapi_BlockErase (0x003E0000,4)后,函数将转至此以下错误  

    Bootloader 中的同一代码工作正常,但在应用程序中不工作。  

    我计划在从应用程序进入 bootloader 之前,先将一些数据信息共享给 bootloader。  

    因此,我需要将应用程序中的数据写入 Flash,然后需要用 bootloader 代码读取数据。

    请建议我如何在 应用程序端实施,以便在闪存中写入数据  

    请提前感谢。

    桑托什

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

    你好, 桑托什,

    没什么特别的 您可以使用与在 bootloader 中相同的方法。