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.

[参考译文] LAUNCXL-F2.8027万F:如何将闪存的一部分设置为永久

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/576688/launchxl-f28027f-how-to-set-a-part-of-flash-to-be-persistent

部件号:LAUNCHTXL-F2.8027万F
线程中讨论的其他部件: BOOSTXL-DRV8305EVMcontrolSUITE

您好,


您好,

LAUNCHTXL-F2.8027万F + BOOSTXL-DRV8305EVM,

是否有如何使64k闪存的一部分持久化的示例?

我参加过这些论坛,但没有得到明确的答复。

 我们非常感谢您提供任何帮助/建议。

谢谢!

Asha

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

    您可以在链接程序命令文件中定义它。 我们有许多应用手册来说明如何将扇区闪存设置为永久存储数据或模拟EEPROM,您可以参阅应用手册(SPRAB69)和SPRU514I关于链接器命令文件的第4章。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    我们的目标是保存一些字节(32到64),以便在开机时检索。 这些是一些可调参数。
    因此,无需从调试器中手动复制并将其保存到user.h文件,而是可以从闪存中的某个位置保存和检索。

    我还看了应用说明APRB69和SPRU5141

    我已经查看了论坛上的2个链接:
    1. e2e.ti.com/.../5.5179万
    processors.wiki.ti.com/.../FAQs
    章节4.4
    已下载“EEPROM Emulation with the TMS320F28xxx (sprab69) and the associated code (zip)(使用TMS320F28xxx (sprab69)的EEPROM仿真和相关代码(zip),并查看了代码,但对感到困惑
    选择:F2801x,F2801,F2802等,但F2.8027万F无

    我尝试遵循C:\ti\controlSUITE\libs\utilities\flash_api\2802x\v201a\example_ccsv5\ example_Flash2802x_api.c中的代码

    我的问题是选择哪个部门:

    #IF (FLASH_F2.8027万 || FLASH_F2.8025万 || FLASH_F2.8023万)
    扇区[4]={
    (UINT16 *) 0x3F6000,(UINT16 *) 0x3F7FFF,
    (UINT16 *) 0x3F4000,(UINT16 *) 0x3F5FFF,
    (UINT16 *) 0x3F2000,(UINT16 *) 0x3F3FFF,
    (UINT16 *) 0x3F0000,(UINT16 *) 0x3F1FFF,
    };

    因此,查看下面的地图文件时,我有几个问题:
    1. 如果我只有64K的闪存,proj_panther.out如何从闪存运行? 我不确定是否遵循此操作,因为它的大小如果是70 KB。
    二. 我似乎只能使用FLASHB_D或D_FLASHA来模拟EEPROM,但其中一部分正在使用,如以下映射文件所示。 这是真的吗?
    3. 还有其他选择吗?

    我们非常感谢您提供任何帮助/建议。
    谢谢!
    Asha
    ===================================================================================================================

    我正在查看我的构建映射文件proj_panther.map以及proj_panther.out和proj_panther.obj的大小

    Proj_panther.out = 70 KB ,而proj_panther.out为415 KB
    ===================================================================================================================
    此时将显示proj_panther.map

    输出文件名:<proj_panther.out>
    入口点符号:"code_start"地址:003f7ff6


    内存配置

    名称 原点长度 已使用 未使用的属性填充
    ---------------- ----------------- ------------------- ----------------- ----------------- --------
    第0页:
    P_RAML0 0.008万00 000009800万00980 000006689.8亿68 000003186.8万00318 RWIX0.0318万 RWIX
    OTP 003d780万 00040万 0000万 0000.04万 RWIX
    FLASHB_D 003f0万 0000.6万 0.0003万f26 000020da2600.002万da RWIX
    D_FLASHA 003f6000 00001f80 000000868万00086 00001efa0.0086万 00001efa RWIX0.0001万 RWIX
    CSM_RSVD 003f7f8000万 0000007600万 0000000万 0000.0076万 RWIX
    开始 003f7ff600万 0000000.2万 0000.0002万 00000000 RWIX
    CSM_PWL_P0 003f7ff800万 0000000.8万 0000万 00000008 RWIX
    IQTABLES 003fe00000000 00000b5万 0000万 0万b50 RWIX
    IQTABLES2 003feb500000008c 0万 0.0008万c RWIX
    IQTABLES3 003febdc 0万aa 0万 000000aa RWIX
    ROM 003ff27c 0万d44 000000004.4万00000 00000d440万 00000d44 RWIX0万 RWIX
    重置 003fffc0万 0000000.2万 0000万 00000002 RWIX
    引导程序 003fffc20000003e 0万 0.0003万e RWIX

    第1页:
    RAMM0_M1 0万00 000006000万00600 0000055f0.06万 0000055f 000000a10.0055万 000000a1 RWIX0万 RWIX
    D_RAML0 0.0089万80 000006808万00680 000000006.8亿00 000006800万00680 RWIX0.068万 RWIX
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    我找不到云杉5141
    谢谢!
    Asha
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这是有问题的文档: www.ti.com/.../spru514 l .pdf

    Sean
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Sean,
    我最终找到并扫描了第4章。
    我只想确认以下内容,即在重新启动时,array test_persistent[]保存启动时运行时间的值:
    如果在F2.8027万F.cmd文件中,我添加了"myPersistent:>D_RAML0 Page=1"
    然后在我的*。c文件中添加
    "unit16_t test_persistent[4];
    #pragma data_section(test_persistent,"myPersistent");"

    然后在运行时更新test_persistent[]数组。 开机时,test_persistent[]数组是否保留了运行时间的值?

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

    您必须保留1个闪存扇区以存储可调参数,并找到一种方法将所有其他代码/数据存储在剩余的闪存扇区中。

    此致,
    Manoj
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因为这是旧线程。 如果我在接下来的3天内没有看到任何活动。 我将结束这一发言。