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.

--cinit_compression=rle配置不起作用呢

Other Parts Discussed in Thread: TMS570LS0432

你好,大牛

CCS9.3

TMS570LS0432芯片

在CMD文件做如标题的配置,为什么不起作用? 查看map文件 compression = zero_init是怎么回事? 有的项目 是没有问题的,查看map文件compression = rle,请问这是哪里出了问题呢?

  • 为了能更好地回复您的问题,需要收集以下信息:

    user5164545 说:
    查看map文件 compression = zero_init是怎么回事?

    能否给出相关的详细语句?类似下面这样?

    __TI_cinit_table @ 0000f548 records: 2, size/record: 8, table size: 16
    	.data: load addr=0000f3d8, load size=00000158 bytes, run addr=08001800, run size=00000508 bytes, compression=rle
    	.bss: load addr=0000f540, load size=00000008 bytes, run addr=08001d08, run size=000000a0 bytes, compression=zero_init

    user5164545 说:
    在CMD文件做如标题的配置,为什么不起作用?

    不起作用时有什么错误或警告提示吗?另外使用的CCS以及编译器版本是多少?

  • CCS9.3
    编译器18.12.4
    LINKER GENERATED COPY TABLES

    __TI_cinit_table @ 0000332c records: 1, size/record: 8, table size: 8
    .bss: load addr=00003320, load size=00000008 bytes, run addr=08000028, run size=0000140f bytes, compression=zero_init


    LINKER GENERATED HANDLER TABLE

    __TI_handler_table @ 00003328 records: 1, size/record: 4, table size: 4
    index: 0, handler: __TI_zero_init
  • 谢谢您的反馈,我会在确认后给您回复。
  • 如之前我给出的

    __TI_cinit_table @ 0000f548 records: 2, size/record: 8, table size: 16
    .data: load addr=0000f3d8, load size=00000158 bytes, run addr=08001800, run size=00000508 bytes, compression=rle
    .bss: load addr=0000f540, load size=00000008 bytes, run addr=08001d08, run size=000000a0 bytes, compression=zero_init

    其中:

    • .bss -- Used for uninitialized objects (global variables).
    • .data -- Used for initialized non-const objects (global variables).

    对于.data是可以compress的。

    而对于.bss,当--zero_init = on时,链接器将在表中创建一个条目,将所有未初始化的变量初始化为零。如果--zero_init = off,则不会创建该表条目。--zero_init = on是默认设置。所以就不会显示 compression=rle
  • 是的,可是我怎么做才能让.data 出现compression=rle,为什么我的map文件中没有这个?

  • 您是这样设置的吗?您的map文件中.data是如何显示的?

  • 你好,我的ccs里没有Linktime Optimization 这页,但在Runtime Environment里有同样的选项,选了rle也不行的。在CMD 文件中 --cinit_compression = rle,也没有起作用。我的.data没有上述描述,只有.bss描述。 .data那也是空的未初始化的。不知道怎么回事。
  • 若是可以的话,请您私信一下您的工程,我们来具体看一下,谢谢
  • 代码太大,公司有保密要求,不好发送呢。 不知道有没有肯能当面请教一下?

  • 我会和您通过私信来联系。
  • 关于--cinit_compression=rle的问题,已经在线下解决,该贴已结。