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.

[参考译文] LAUNCHXL-F280049C:如何将两个或多个闪存扇区合并到一个段中?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/972443/launchxl-f280049c-how-to-unite-two-or-more-flash-sectors-into-one-section

器件型号:LAUNCHXL-F280049C
主题中讨论的其他器件:BOOSTXL-K350QVG-S1TMS320F280049C

你(们)好

我尝试将 GRLIB 移植到 tms320F280049c MCU,以便将其与 BOOSTXL-K350QVG-S1 QVGA Display BoosterPackTm配合使用

编译工程我遇到了以下问题:字体和图像是在.econst 段中编译的、摘要获得的字节超过1000个

创建字体等其他数据段仅适用于一种字体、不适用于项目中的两种或多种字体。 (大小再次大于100)  

如何创建包含两个或多个闪存扇区的段?  


/*闪存扇区*/
/*组0 */
FLASH_BANK0_SEC0:origin = 0x080002、length = 0x000FFE //片上闪存*
FLASH_BANK0_SEC1:origin = 0x081000、length = 0x001000 //片上闪存*
FLASH_BANK0_sec2:origin = 0x082000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC3:origin = 0x083000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC4:origin = 0x084000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC5:origin = 0x085000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC6:origin = 0x086000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC7:origin = 0x087000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC8:origin = 0x088000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC9:origin = 0x089000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC10:origin = 0x08A000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC11:origin = 0x08B000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC12:origin = 0x08C000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC13:origin = 0x08D000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC14:origin = 0x08E000、length = 0x001000 //片上闪存*
FLASH_BANK0_SEC15:origin = 0x08F000、length = 0x001000 //片上闪存*

如何正确地将 (例如) FLASH_BANK0_SEC5、 FLASH_BANK0_SEC6和 FLASH_BANK0_SEC7合并到说明部分中:

.cio:>RAMLS0,page = 0

econst:> FLASH_BANK0_SEC5 | FLASH_BANK0_SEC6| FLASH_BANK0_SEC7、PAGE = 0、ALIGN (4)
grfonts:> flash_BANK0_SEC8 | flash_BANK0_SEC9,page = 0,align (4)
#endif

如上所述合并会产生错误  

/28004x_GRLIB_FLASH_lnk.cmd"、第99行:错误#10099-D:程序将无法放入可用内存中。 对于"grfonts"大小为0x10fe 页0的段、定位/分块放置失败。 可用存储器范围:
FLASH_BANK0_SEC8大小:0x1000未使用:0x1000最大孔:0x1000
FLASH_BANK0_SEC9大小:0x1000未使用:0x1000最大孔:0x1000
"./28004x_GRLIB_FLASH_lnk.cmd"、第98行:错误#10099-D:程序将不能放入可用内存中。 在".econst"大小为0x5295 PAGE 0的段中、放置对齐/分块失败。 可用存储器范围:
FLASH_BANK0_SEC5大小:0x1000未使用:0x1000最大孔:0x1000
FLASH_BANK0_SEC6大小:0x1000未使用:0x1000最大孔:0x1000
FLASH_BANK0_SEC7大小:0x1000未使用:0x1000最大孔:0x1000

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

    Gleb、

    您可以执行如下操作。

    grfonts:>> flash_BANK0_SEC8 | flash_BANK0_SEC9,page = 0,align (4)

    有关链接器命令文件的详细信息、请参阅以下链接。

    software-dl.ti.com/.../sdto_cgt_Linker-Command-File-Primer.html

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

    感谢您的快速重播

    您能否根据我的问题更具体:  

     我在 初始消息中发布的错误报告的部分:

    大于可用空穴 SO  >>语法的数组本身不能解决问题

    生成文件:  

    .cio:>RAMLS0,page = 0
    econst:>> flash_BANK0_SEC5 | flash_BANK0_SEC6| flash_BANK0_sec7| flash_BANK0_SEC8 | flash_BANK0_SEC9,page = 0,align (4)
    #endif

    编译器报告:  



    "./28004x_GRLIB_FLASH_lnk.cmd"、第98行:错误#10099-D:程序将不能放入可用内存中。 在".econst"大小为0x63a5的第0页中、放置对齐/分块失败。 可用存储器范围:

    FLASH_BANK0_SEC5大小:0x1000未使用:0x0最大孔:0x0
    >>编译失败
    Makefile:182:目标'grlib_porting_to C280049C.out'的配方失败
    FLASH_BANK0_SEC6大小:0x1000未使用:0x2ef 最大孔:0x2ec
    FLASH_BANK0_SEC7大小:0x1000未使用:0x1000最大孔:0x1000
    FLASH_BANK0_SEC8大小:0x1000未使用:0x1000最大孔:0x1000
    FLASH_BANK0_SEC9大小:0x1000未使用:0x1000最大孔:0x1000  <<<<<<<< 如何将最大孔增加到3000?

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

    分配给 Flash 专家以提供帮助。

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

    Gleb、

    您是否尝试将中的多个闪存扇区组合到链接器 cmd 文件中的单个存储器范围条目?   

    示例:

    FLASH_BANK0_SEC7:origin = 0x087000、length = 0x001000 //片上闪存*
    FLASH_BANK0_SEC8:origin = 0x088000、length = 0x001000 //片上闪存*
    FLASH_BANK0_SEC9:origin = 0x089000、length = 0x001000 //片上闪存*

    将上述内容替换为:

    FLASH_BANK0_SEC7_8_9: origin = 0x087000、length = 0x003000 //片上闪存*

    这有帮助吗?

    谢谢、此致、
    Vamsi

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

    我想到了这样的东西。

    假设这将有所帮助、明天将签入代码。  

    谢谢

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

    Gleb、

    好的、请尝试并告诉我们它是如何发展的。

    谢谢、此致、
    Vamsi

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

    非常感谢  

    问题已解决