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.

[参考译文] TMS570LS0432:从引导加载程序调用函数或跳转到应用。

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1395877/tms570ls0432-calling-function-or-jump-to-application-from-bootloader

器件型号:TMS570LS0432

工具与软件:

我在 Flash 中同时有两个不同的应用程序,它们都有自己的子函数,我可以调用或运行这些 应用程序之一。

我遇到的问题是、如果我给 应用程序的起始地址、它将进入预取条目或 undef 条目。如果我给_c_int100函数地址也是同样的问题。那么、我如何高速缓存跳转应用程序、或者如果我只是想在他们的应用程序中使用该函数、这是否可行?

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

    尊敬的 Sai Teja:

    根据这些信息、很难准确给出问题的根本原因。

    这一信息是不够的。

    如果可能、通过私人聊天提供您的代码、这将非常容易调试并找出根本原因。

    或者、至少让我们设置一个实时调试会话、以便您可以共享屏幕并解释问题、我将提供我的建议。

    ——
    谢谢、此致、
    Jagadish。

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

    我们可以写入内存库0、但它正在进入预取

    /* USER CODE BEGIN (0) */
    #include "bl_flash.h"
    /* USER CODE END */
     
    /* Include Files */
     
    #include "sys_common.h"
     
    /* USER CODE BEGIN (1) */
    /* USER CODE END */
     
    /** @fn void main(void)
    *   @brief Application main function
    *   @note This function is empty by default.
    *
    *   This function is called after startup.
    *   The user can use this function to implement the application.
    */
     
    /* USER CODE BEGIN (2) */
    #define SIZE 16
    uint8_t dataToProgram[SIZE] =   {4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15};
     
    #define BANK0   0
    #define STARAT_ADDRESS  0x0000C000 /////0x00014DA0
     
    extern unsigned int apiLoadStart;
    extern unsigned int apiLoadSize;
    extern unsigned int apiRunStart;
     
     
    extern unsigned int constLoadStart;
    extern unsigned int constLoadSize;
    extern unsigned int constRunStart;
    /* USER CODE END */
     
    int main(void)
    {
    /* USER CODE BEGIN (3) */
     
        /* Copy the flash APIs to SRAM*/
            //_copyAPI2RAM_(&apiLoadStart, &apiRunStart, &apiLoadSize);
          //  memcpy(&apiRunStart, &apiLoadStart, (uint32)&apiLoadSize);
     
            /* Copy the .const section */
            //_copyAPI2RAM_(&constLoadStart, &constRunStart, &constLoadSize);
          //  memcpy(&constRunStart, &constLoadStart, (uint32)&constLoadSize);
     
            Fapi_Init(BANK0, BANK0);
           // Fapi_BlockErase(STARAT_ADDRESS, SIZE);
            Fapi_BlockProgram(STARAT_ADDRESS, (uint32_t)dataToProgram, SIZE);
          //  Fapi_BlockErase(STARAT_ADDRESS, SIZE);
          //  Fapi_BlockProgram(STARAT_ADDRESS, (uint32_t)dataToProgram, SIZE);
     
            while(1)
            {
     
            }
    /* USER CODE END */
     
       // return 0;
    }
     
     
    /* USER CODE BEGIN (4) */
    /* USER CODE END */
      输入我将分享屏幕快照.

    请帮助、如何删除此错误。

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

    尊敬的 Sai Teja:

    感谢屏幕截图和代码、

    在 TI 印度、我们将迎来连续的假日、我将尝试根据您的代码在我的 RM46上创建演示、并且我将很快提供更新。

    ——
    谢谢、此致、
    Jagadish。

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

    好的、谢谢

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

    尊敬的 Sai Teja:

    为解决此问题的进一步延迟深表歉意、上周我休假了几天、随后是一个周末。

    请确认您是否仍然停留在此问题上?

    如果您有任何进展、也请告诉我。

    ——
    谢谢、此致、
    Jagadish。

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

    我们已经解决了闪存写入和擦除操作,工作正常,

    在跳转到应用地址或位置时、我们需要进一步的帮助   

    谢谢、此致  

    Jagadish gundavarapu

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

    尊敬的 Sai Teja:

    很遗憾、我在您的屏幕截图或您共享的代码中看不到任何与应用程序跳转相关的代码。

    如果您需要代码跳转参考、请参阅下面链接中的 CAN 引导加载程序示例或 UART 示例。 这些示例都是经过良好测试的示例、请将其作为参考并执行相同的步骤:

    SafetyMCU_bootloader«bootloader - Hercules_examples/Hercules_examples -适用于 Hercules 处理器的软件示例(TI.com)

    (+)[常见问题解答] TMS570LC4357:适用于 Hercules 控制器的示例和演示(例如 TMS570x、RM57x 和 RM46x 等)-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

    ——
    谢谢、此致、
    Jagadish。