使用CCS编译CC3200的代码时,是否有方法确保标准C库的编译具有最小大小的优化?
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.
要解决有关RTS代码大小的问题并避免调用函数,您需要构建自定义RTS库。 然后,在CCS项目中,从使用标准RTS库更改为使用自定义库。
您可以使用Mklib实用程序构建自定义RTS库 。 这是一个命令行工具。 在命令行shell中,导航到编译器安装的\lib目录。 这将是一个类似于...的位置
C:16.9 \ti\ccsv7\tools\compiler\ti-CGT-arm_LTS.4.LTS\lib
确保您的系统路径包括编译器安装的\bin目录。 然后发出类似于...的命令。
.\mklib --pattern=rtsv7M4_T_le_eabi.lib --name=rtsv7M4_T_le_eabi_small.lib --install_to_C:\path\to\my\CCS\project --Extra _options="--gen_func_Subsections=on --opt_of_speed=0" -parallel
我将逐行讨论此命令。 但是当你真正调用它时,所有的东西都必须在一行上。
第1行调用mklib实用程序。 第2行命名您当前使用的RTS库。 这是CC3200通常使用的库。 但这必须与您现在使用的任何功能相匹配。 第3行命名新的自定义库。 您可以随意命名它。 我使用了标准RTS库名称加上"_small"。 第4行说明了新库的放置位置。 我将它放在需要它的CCS项目的位置。 第5行列出了自定义生成选项。 --gen_func_Subsections=on将每个函数放在单独的部分中。 --opt_for speed=0告诉编译器在优化时始终选择大小。 请在 ARM编译器手册中阅读有关这些选项的更多信息。 第6行是可选的。 它将生成命令分布在如此多的线程中,通常使生成速度更快。
现在,自定义库是CCS内部版本中的另一个文件。 但您需要告诉CCS不要使用标准RTS库。 右键单击项目名称,然后选择“属性”。 然后使用下面的屏幕截图。
谢谢,此致,
-George