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/CCStudio:CCS 确认

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/946338/ccs-ccstudio-ccs-confirmation

器件型号:CCStudio

工具/软件:Code Composer Studio

您好、先生、

我想知道如何找出在 sRAM>.data>.data:$01$(bmi160_support.obj)中使用如此多空间的情况

您能帮我澄清一下吗?

谢谢。

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

    要了解发生了什么、我需要复制它。  我不需要整个项目、只需要与一个文件相关的详细信息。  对于源文件 bmi160_support.c、 请按照文章 如何提交编译器测试用例中的说明进行操作。

    谢谢、此致、

    乔治

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

    尊敬的 乔治:

    感谢你的答复。

    用于 simple_peripheral 项目的编译器版本为 TI v18.12.6。 LTS。

    没有发生重要的编译问题。

    我只想知道是否有一种方法可以管理 SRAM 存储器、更具体地说是通过.data:$01$$(bmi160_support.obj)来管理 SRAM 存储器、

    由于它是大多数 SRAM 存储器使用的文件、并且看起来有点不寻常。

    e2e.ti.com/.../bmi160_5F00_support.zip

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

    感谢您的测试案例。  我知道发生了什么。  但很难描述。

    编译器会执行优化、最终减少使用的存储器数量。  许多全局数据变量、结构和数组一起收集到.data 段中的单个对象中。  除其他外、这减少了对恒定表条目的需求。  描述常量表以及此优化使其变小的原因超出了论坛帖子中所涵盖内容的范围。

    您注意到的效果是、这一个目标文件的.data 段非常大。  如果不进行此优化、许多这些全局变量将位于.bss 段中。  尽管.data 和.bss 段的大小受此优化的影响、但这两个段的组合大小变化非常小。

    谢谢、此致、

    乔治

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

    尊敬的 乔治:

    谢谢你。

    是否无法找到使用此目标文件中存储器的变量?

    这将允许我管理变量并优化 SRAM 空间。

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

    添加构建选项--src_interlist。  这会导致编译器不删除自动生成的汇编语言文件。  此文件与源文件具有相同的名称、扩展名更改为.asm。  搜索它以查找类似...的评论

    ;以下变量将被组合在一起,以共享一
    个公用的;基址。 源交叉列出中的引用如下:
    "1$.accel_off_y"、"K$1->accel_off_y"、"C$1->accel_off_y"、"&1$+1"、 和"C$1+1"。
    ;--offset--size----variable--;
    
    
    0 1extern char accel_off_x
    ; 1 1extern char accel_off_y
    ; 2. 1extern char accel_off_z
    ; 4. 2extern short gyro_off_x
    ; 6. 2extern short gyro_off_y
    ; 8. 2extern short gyro_off_z
    ; 12. 4静态结构 I2C_Config_* i2cHandle
    ; 16. 4extern struct gyro_sleep_setting gyr_setting
    ; 20. 6extern struct bmi160_gyro_t gyroxyz
    ; 26 6extern struct bmi160_accel_t accelxyz
    ; 32 12extern struct bmi160_mag_xyz_s32_t magxyz
    ; 44. 20extern struct bmi160_t s_bmi160
    ; 64 28个外部联合$fake18 bmi160Sem
    ; 92 28extern Union $fake18 displaySem
    ; 120 36静态结构 ti_sysbios_KNL_Clock_Structt myClock
    ; 156. 80extern struct ti_sysbios_KNL_Task_Structrout displayTask
    ; 236 80extern struct ti_sysbios_KNL_Task_StructBmiTask
    ; 316 300extern short buf_Thomas[50][3]
    ; 616) 512extern unsigned char displayTaskStack[512]
    ; 1128. 1012extern unsigned char bmiTaskStack[1012]
    ; 2140 3660外部结构 bmi160_fifo_data_header_t header_data
    ;
    

    谢谢、此致、

    乔治