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.

[参考译文] CCS/MSP432P401R:如何使用输入文件进行闪存编程

Guru**** 2595805 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/641071/ccs-msp432p401r-how-to-flash-programming-using-input-file

部件号:MSP432P401R

工具/软件:Code Composer Studio

你(们)好 我使用MSP432P401R示例执行了闪存编程。

现在,我 尝试将char数组[]从SRAM移动到闪存。

1. array[]在input.h文件中,所以我把 头文件包括在main.c中,我在那里 写了Flash编程代码。

但存在一个未定义"array"的错误...

是否应该始终在main.c中定义数组[]输入数据,在哪里进行闪存编程??

2.在闪存编程中,仅使用闪存组1,扇区  31.

有时,我想移动比闪存大小更大的数据...

我该怎么做??  

我可以  使用其他闪存扇区吗?  

谢谢。

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

    您好,

    1. array[]位于input.h文件中,所以我将 头文件包含在main.c中,我在那里 编写了Flash编程代码。[/QUOT]

     请将const关键字添加到 变量中(请不要 在头文件中声明它) ,例如:

    const int array []={0,1,2,3,4,5,6,7,8,9}; 

    限定为const的全局对象放置在.const部分中。 链接程序从ROM或闪存分配.const部分。

    [报价用户="yeonjoon Han ]2. 在闪存编程中,仅使用闪存组1,扇区 31。[/QUOT]

    MSP432P401x MCU上的闪存主存储器最高可达256 KB。 闪存主存储器由多达64个4 KB 扇区组成,最小擦除粒度为4 KB (1个扇区)。 主存储器可被视为两个独立的相同存储器,每个存储器的容量最高为128 KB ,允许在另一个存储器正在进行程序或擦除操作时从一个存储器同时读取或执行。

    yeonjoon Han 说:
    有时,我想移动比闪存大小更大的数据.....[/QUOT]

    比4 KB 大? 还是大于128 KB ? 请您更具体一点吗?

     谢谢!

       David

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

    感谢你的帮助。 还有几个问题。

    1.数据大于4 KB。

    数据大小几乎是32 KB ...我的意思是我可以 在 路上擦除其他扇区吗?

    我认为闪存主存储器中有一些重要数据,所以我不能将它们擦除。

    2.能否在其他功能中进行闪存编程,而不能在主功能中进行闪存编程?

    我要移动在int calculation(int a, int b ){...}中定义的“int matrix[50][50]" 闪存。

    所以我 在计算函数中写了闪存编程代码,但它不起作用... :(

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

    您好,

    yeonjoon Han 说:
    数据大小几乎是32 KB ...我的意思是我可以 在 路上擦除其他扇区吗?[/QUOT]

    当然,只需确保在 链接程序文件上分配足够的内存,因为您不想覆盖其他扇区。 请看一下此示例,了解一下内存组织

    http://dev.ti.com/tirex/content/simplelink_msp432_sdk_bluetooth_plugin_1_20_00_42/examples/rtos/MSP_EXP432P401R/bluetooth/oad_firmware_update/README.html

    另外 ,请确保在对闪存进行编程之前擦除闪存。

    [报价用户="yeonjoon Han ]2. 我是否可以在其他功能中进行闪存编程,而不是在主功能中?[/QUOT]

    是的,您可以。  我刚才提到的OAD示例附带了一个引导加载程序,因此您可以将其用作参考。  另外,我 只想确认您知道 这个flash_program_memory示例

    希望这能有所帮助。

     David