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.

[参考译文] MSP430F5438A:将闪存拆分为两个独立的应用

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1372388/msp430f5438a-split-flash-for-two-separate-application

器件型号:MSP430F5438A

工具与软件:

大家好!

我只想在闪存中找到两个应用程序。 (概念培训)

应用程序1:用长延迟使 LED 闪烁25次、然后跳转到应用程序2

应用程序2 :  用短暂的延迟使 LED 闪烁

随附了源代码和链接器文件。 配置为 o 只有 App2起作用。 App1不起作用。
这种情况的问题是什么?  

我只想实现这一点: 让第一个应用程序先运行、然后再运行第二个应用程序。

应用1 -源代码主函数  e2e.ti.com/.../blink_5F00_EX1.c   

应用2 -源代码主函数 e2e.ti.com/.../blink_5F00_EX2.c

应用 1 - 链接器命令文件  e2e.ti.com/.../lnk_5F00_msp430f5438a_5F00_EX1.cmd.c

应用2 - 链接器命令文件  e2e.ti.com/.../lnk_5F00_msp430f5438a_5F00_EX2.cmd.c

感谢您的关注。

Mehmet

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

    是否要将两个应用程序代码保留在闪存中并在不同条件下运行它们? 如果是、则需要拆分以下所有项目:

    1. RAM(我看到你 不拆分它)

    2.闪存(包括中断表,我看到你没有拆分它)  

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

    感谢您的回复 Gary Geo,

    我不想在不同条件下运行它们。

    我想要这样->  相同的充电电流 、App1首先运行、然后开始运行 App2 (感谢"MSP430_callAddress (0x6C00)")。   

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

    1、RAM
    两个应用程序不会同时运行。
    其中一个任务完成后、另一个任务开始工作。
    我不明白为什么我必须拆分 RAM?  

    2.闪存
    您能解释一下有关拆分中断表的更多信息吗?  
    哪些闪存区域适用于中断表?  


    感谢您的关注。
    Mehmet

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

    如果您每次需要运行 App1和 App2、为什么需要将它们拆分? 专为不同的人开发?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不明白为什么要拆分 RAM?

    如果 将它们混在一起、可能会在一段时间内出现堆栈问题。  

    哪些闪存区域适用于中断表?

    对于中断表、您可以将任何所需的闪存区域放入其中、您可以启用 RAM 中断并将中断从闪存复制到 RAM 中、以使其激活。

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

    事实上,我试图简化这个问题。

    App1 ->自定义引导加载程序
    App2 ->用户应用程序

    默认 BSL 调用机制不适合我们。
    我们需要每次下电上电时都必须有效的引导加载程序(即 BSL)。

    使用 IAR
    如果收到固件更新请求、引导加载程序将继续运行。
    如果未收到固件更新请求、引导加载程序将跳转到用户应用程序。

    我阅读了有关"主存储器引导加载程序"的文章。
    但它似乎太复杂了。


    在开始探讨引导加载程序问题之前、我尝试解决了一个更简单的问题。 我从一个简单的问题开始本主题

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以启用 RAM 中断并将中断从闪存复制到 RAM 以使其有效。

    我不明白不幸的是。。。  

    这是什么意思?

    -"启用 RAM"  

    -"将中断从闪存复制到 RAM"  

     它们将会做什么?


    谢谢。
     

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

    请参阅此应用手册

    https://www.ti.com/lit/an/slaa600e/slaa600e.pdf 

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

    我将仔细阅读这份文件。
    谢谢 Gary Gao。