ZHCU876Z July 2001 – October 2023 SM320F28335-EP
下表列出了更改文档编号格式前对此文档做出的改动。左列标识了本文档出现该特定改动的首个版本。
添加内容的版本 | 章节 | 位置 | 添加/修改/删除 |
---|---|---|---|
SPRU514T | 使用编译器 | 节 2.3.4 | 通过使用带有寄存器操作数的 RPT,内联的 memcpy 调用现在支持 255 以上个字。因此,可支持内联最多 65535 个字的 memcpy。但是,使用 --rpt_threshold 指定的最大值仍然是 256。 |
SPRU514T | 使用编译器, 运行时环境 |
节 2.3.4 和节 7.6 | 阐明了 TMU1 支持仅适用于 EABI。 |
SPRU514T | 使用编译器, CLA 编译器 |
节 2.3、节 10.1.1和节 10.2.2 | 为 CLA 编译器添加了 --cla_signed_compare_workaround 选项。为 CLA 编译器添加了比较内在函数。 |
SPRU514T | 链接 | 节 4.3.5 | 阐明了如果只有链接器在运行,则需要 --rom_model 或 --ram_model,但如果编译器在同一命令行中的 C/C++ 文件上运行,则 --rom_model 是默认选项。 |
SPRU514T | C/C++ 语言 | 节 6.9.21 | #pragma once 现记录在头文件中使用。 |
SPRU514T | C/C++ 语言 | 节 6.15.4、节 10.2.1和节 10.2.4 | 链接器现在提供有关阻止 CLA 和 C28 代码之间访问和交互的某些问题的诊断信息。 |
SPRU514T | 运行时环境 | 节 7.6.3 | 更正了与 __atan、__cos 和 __sin TMU 内在函数等效的汇编指令。 |
SPRU514T | 运行时环境 | 节 7.6.4 | 阐明了快速整数除法需要 EABI 和 FPU32 或 FPU64。更改了将 64 位值除以 32 位值的快速整数除法内在函数返回的类型。此外,优化了由这些内在函数执行的汇编。 |
SPRU514T | 运行时环境 | 节 7.10.4.1 | 阐明了只有在使用 --rom_model 链接器选项时,才发生零初始化,使用 --ram_model 选项时则不发生。 |
SPRU514S | -- 全文 -- | 更改了由编译器创建的目标文件的默认文件扩展名,以防止在 C 和 C++ 文件具有相同名称时发生冲突。从 C 源文件生成的目标文件具有 .c.obj 扩展名。从 C++ 源文件生成的目标文件具有 .cpp.obj 扩展名。 | |
SPRU514S | 使用编译器, 优化 |
节 2.3 和节 3.14 | 添加了 --isr_save_vcu_regs 编译器选项。 |
SPRU514S | CLA 编译器 | 节 10.2.1 和节 10.2.4 | 添加了有关 CLA 和 C28x 代码共享变量的声明以及 C28x 和 CLA 代码之间的函数调用的信息。 |
SPRU514R.1 | 使用编译器, 运行时环境 |
节 2.3.4、节 7.6.4和节 7.8.2 | 添加了有关内置整数除法和模运算符(/ 和 %)以及内在函数的快速整数除法的信息。 |
SPRU514R.1 | 运行时环境 | 节 7.1.7 | Clarify bit-field alignment rules. |
SPRU514R.1 | 运行时环境 | 节 7.6.2 | 添加了特定于 FPU64 的内在函数以及有关 FPU64 的 COFF 与 EABI 使用的信息。 |
SPRU514R.1 | CLA 编译器 | 节 10.2 | 阐明了对整数型使用的建议。 |
SPRU514R | -- 全文 -- | 添加了有关 EABI 支持的更多文档。其中包括标记仅支持 COFF 或 EABI 的功能。在必要时将示例标记为 COFF 特定示例。 | |
SPRU514R | 使用编译器 | 节 2.3 | 添加了 EABI 的命令行选项,包括 --cinit_compression、--copy_compression、--extern_c_can_throw、--retain、--unused_section_elimination 和 --zero_init。 |
SPRU514R | 使用编译器 | 节 2.3.1 | 添加了 --emit_references:file 链接器选项。 |
SPRU514R | 使用编译器 | 节 2.3.4 | 添加了 --silicon_errata_fpu1_workaround 选项。 |
SPRU514R | 使用编译器 | 节 2.5.1 | 记录了支持 C 标准宏命令,例如 __STDC_VERSION__。 |
SPRU514R | 使用编译器 | 节 2.11.1 | 添加了有关可能未内联内在函数的情况的信息。 |
SPRU514R | 使用编译器, C/C++ 语言 |
节 2.13、节 6.11 | 添加了有关受支持的应用二进制接口 (ABI) 的信息。 |
SPRU514R | 链接 C/C++ 代码, 运行时环境 |
节 4.3.6、节 7.1.1 | 添加了 EABI 特定段,例如 .bss、.const、.sysmem 和 .init_array。还添加了 .args、.ppdata 和 .ppinfo 段。 |
SPRU514R | C/C++ 语言 | 节 6.3 | 添加了有关 double 和 wchar_t 数据类型的 EABI 特定信息。 |
SPRU514R | C/C++ 语言 | 节 6.9 | 添加了 LOCATION、NOINIT、PERSISTENT 和 WEAK pragma。 |
SPRU514R | C/C++ 语言 | 节 6.12 | 添加了有关命名空间的 EABI 特定信息。 |
SPRU514R | C/C++ 语言 | 节 6.14.1 | 更新了 C99 不受支持的运行时函数列表。 |
SPRU514R | C/C++ 语言 | 节 6.15.2 | 添加了 aligned、calls、naked 和 weak 函数属性的文档。 |
SPRU514R | C/C++ 语言 | 节 6.15.4 | 添加了 location、noinit、persistent 和 weak 变量属性的文档。 |
SPRU514R | 运行时环境 | 节 7.2.1 | 添加了 FPU64 寄存器。 |
SPRU514R | 运行时环境 | 节 7.6 | 更正了对由 TMU 内在函数(例如 __sin() 和 __cos())返回的值的描述。 |
SPRU514R | 运行时环境 | 节 7.10.4 | 添加了有关 EABI 变量自动初始化的信息。 |
SPRU514R | 运行时支持函数 | 节 8.1.8 | 添加了特定于 EABI 的运行时库命名规则。 |
SPRU514R | 运行时支持函数 | DEV_lseek 主题 | 更正了 DEV_lseek 函数的语法记录。 |
SPRU514Q | 简介, 使用编译器, C/C++ 语言 |
节 1.3、节 2.3、节 6.1和节 6.14.2 | 添加了对 C11 的支持。 |
SPRU514Q | 使用编译器 | 节 2.3.4 | 添加了对 EABI 的支持。COFF ABI 是默认值。 |
SPRU514Q | 使用编译器 | 节 2.3.1 | 添加了 --ecc=on 链接器选项,支持生成 ECC。请注意,ECC 生成功能现在默认关闭。 |
SPRU514Q | 使用编译器 | 节 2.3.4 和节 7.6 | 通过 --float_support=fpu64 添加了对 64 类 FPU 的支持。 |
SPRU514Q | 使用编译器, 运行时环境 |
节 2.3.4 和节 7.6 | 通过 --idiv_support 添加了对快速整数除法的支持。 |
SPRU514Q | 使用编译器, C/C++ 语言 |
节 2.3.4 和节 7.6 | 通过 --tmu_support=tmu1 添加了对 TMU 的进一步支持。 |
SPRU514Q | 使用编译器 | 节 2.3.4 | 通过 --vcu_support=vcrc 添加了对循环冗余校验的支持。 |
SPRU514Q | 使用编译器 | 节 2.5.1 | __TI_STRICT_ANSI_MODE__ 和 __TI_STRICT_FP_MODE__ 宏命令定义为在条件为 false 时为 0。 |
SPRU514Q | 使用编译器, C/C++ 语言 |
节 2.11 和节 6.9 | 修订了有关内联函数扩展的段及子段,以包括新的 pragma 并更改了编译器关于内联哪些函数的决策。添加了 FORCEINLINE、FORCEINLINE_RECURSIVE 和 NOINLINE pragma。 |
SPRU514Q | 优化, C/C++ 语言 |
节 3.11 和节 6.15.4 | 添加了 blocked 和 noblocked 属性以实现更好的数据页 (DP) 指针加载优化。不再推荐使用 --disable_dp_load_opt 选项。 |
SPRU514Q | C/C++ 语言 | 节 6.2 | 从例外列表中删除了几个 C++ 功能,因为有多个版本已支持这些功能。 |
SPRU514Q | C/C++ 语言 | 节 6.3.3 和节 7.6 | 添加了将 32 位浮点值声明为 float 而不是 double 的建议。(两者目前都是 32 位。)修改了内在函数语法描述以对 32 位值使用"float"。 |
SPRU514Q | C/C++ 语言 | 节 6.4 | 添加了有关字符集和文件编码的信息。 |
SPRU514Q | C/C++ 语言 | 节 6.15.2 和节 6.15.4 | 添加了 "retain" 作为函数属性和变量属性。 |
SPRU514Q | C/C++ 语言 | 节 6.15.6 | 阐明了 __builtin_sqrt() 和 __builtin_sqrtf() 函数的可用性。 |
SPRU514Q | CLA 编译器 | 节 10.2 | 更正了 __mswapf 内在函数的语法。 |
SPRU514P | C/C++ 语言 | 节 6.15 | 编译器现在支持多个 Clang __has_ 宏命令扩展。 |
SPRU514P | C/C++ 语言 | 节 6.15.1 | 现在支持包装器头文件 GCC 扩展 (#include_next)。 |
SPRU514O | C/C++ 语言 | 节 6.5.1 | 阐明了由常量关键字设置的常量数据存储的例外情况。 |
SPRU514N | 优化 | 节 3.7.1.4 | 更正了处理配置文件数据的命令中的错误。 |
SPRU514M | 使用编译器 C/C++ 语言和 CLA 编译器 |
节 2.3、节 2.3.4、节 2.5.1、节 6.9.15和节 10.2 | 记录了对 CLA 版本 2 和 CLA v2 背景任务的支持。 |
SPRU514M | 使用编译器, C/C++ 语言 |
节 2.3.3 | 修改为指明:即使使用 CHECK_MISRA pragma 也需要 --check_misra 选项。 |
SPRU514M | 使用编译器 | 节 2.3.5 | 删除了不再受支持的 --symdebug:coff 选项。 |
SPRU514M | 使用编译器 | 节 2.10 | 更正了文档以描述 ---gen_preprocessor_listing 选项。名称 --gen_parser_listing 不正确。 |
SPRU514M | 优化 | 节 3.11 | 提供了有关数据页分块的信息。 |
SPRU514L | 优化 | 节 3.7.3 | 更正了 _TI_start_pprof_collection() 和 _TI_stop_pprof_collection() 的函数名称。 |
SPRU514L | CLA 编译器 | 节 10.2 | 提供了有关 __msetflg 内在函数的附加信息和示例。 |
SPRU514K | 使用编译器 | -- | 几个编译器选项已被弃用、删除或重命名。编译器仍然接受一些已弃用的选项,但不建议使用它们。 |
SPRU514J | 使用编译器 | 节 2.3 和节 4.2.2 | 添加了 --gen_data_subsections 选项。 |
SPRU514J | 使用编译器 | 节 2.3.5 | 添加了 --symdebug:dwarf_version 编译器选项。此选项设置使用的 DWARF 调试格式版本。 |
SPRU514J | 优化 | 节 3.7 和节 3.8 | 描述了反馈导向优化。该技术可用于代码覆盖分析。 |
SPRU514J | C/C++ 语言 | 节 6.9.1 | 添加了 CALLS pragma 以指定一组可从指定调用函数间接调用的函数。使用此 pragma 能够将此类间接调用包含在函数的 inclusive 栈大小的计算中。 |
SPRU514J | C/C++ 语言 | 节 6.15.7 | 添加了一个 byte_peripheral 类型属性和一个内在函数来访问字节外围数据。 |
SPRU514J | 运行时环境 | 节 7.6 | 添加了内在函数以执行无符号整数除法。新的内在函数是 __euclidean_div_i32byu32()、__rpt_subcul() 和 __subcul()。 |
SPRU514J | 运行时环境 | 节 7.10.1 | 提供了额外的引导挂钩函数。这些可以定制以在系统初始化期间使用。 |
SPRU514I | 使用编译器 | 表 2-7 | 添加了 --cla_default 选项。此选项会使扩展名为 .c 的文件作为 CLA 文件被处理。 |
SPRU514I | 使用编译器 | 节 2.3.4 | 添加了 --ramfunc 选项。如果设置此选项,则将所有函数放在 RAM 中。 |
SPRU514I | 使用编译器 | -- | 弃用了 --no_fast_branch 选项。 |
SPRU514I | C/C++ 语言 | 节 6.14.1 | 现在支持 C99 数学函数,包括浮点数学函数的 float 和 long double 版本。 |
SPRU514I | C/C++ 语言 | 节 6.15.2 | 添加了 ramfunc 函数属性。它规定了一个函数应该放置在 RAM 中。 |
SPRU514I | 运行时环境 | 节 7.3.2 | 在寄存器列表中添加了 XAR6 并更正了放置返回结构地址的位置。 |
SPRU514I | 运行时环境 | 节 7.6 | 添加了 __eallow 和 __edis 内在函数。 |
SPRU514I | CLA 编译器 | 节 10.2.4 | CLA 编译器现在支持大多数 GCC 扩展。 |
SPRU514H | 引言 | 节 1.3 | 添加了对 C99 和 C++03 的支持。 |
SPRU514H | 使用编译器 | 表 2-7 | 添加了对 C99 和 C++03 的支持。弃用了 -gcc 选项。--relaxed_ansi 现在是默认选项。 |
SPRU514H | 使用编译器 | 节 2.3.3 | 添加了 --advice:performance 选项。 |
SPRU514H | 使用编译器 | 节 2.3.4 | 不再支持 --silicon_version=27 选项。 |
SPRU514G | 使用编译器 | 节 2.3.4 | 添加了 --tmu_support=tmu0 选项。此选项还会影响 --float_support 和 --fp_mode=relaxed 选项的行为。 |
SPRU514G | 使用编译器 | 节 2.3.4 | 通过 --cla_support=cla1 添加了对 1 类 CLA 的支持。 |
SPRU514G | 使用编译器 | 节 2.3.4 | 通过 --vcu_support=vcu2 添加了对 2 类 VCU 的支持。 |
SPRU514H | 使用编译器 | 节 2.3.11 | 添加了有关 --flash_prefetch_warn 选项的信息。 |
SPRU514H | 使用编译器 | 节 2.5.1 | 添加了几个未记录的预定义宏名称。 |
SPRU514H | 使用编译器 | 节 2.5.3 | 记录了对 #warning 和 #warn 预处理器指令的支持。 |
SPRU514H | 使用编译器 | 节 2.6 | 添加了有关向 main() 传递参数的技术的段。 |
SPRU514H | 使用编译器 | 节 2.11 | 记录了 inline 关键字现在在除 C89 严格 ANSI 模式之外的所有模式中都启用。 |
SPRU514H | C/C++ 语言 | 节 6.3 | C28x 上指针类型的大小现在是 32 位而不是 22 位。弃用了 near 和 far 关键字。不再支持小型存储器型号;唯一的存储器型号使用 32 位指针。不再使用 .bss、.const, 和 .sysmem 段;使用 .ebss、.econst 和 .esysmem 段。(出于性能原因,假设符号地址小于 22 位。) |
SPRU514H | C/C++ 语言 | 节 6.1.1 | 添加了记录实现定义行为的段。 |
SPRU514H | C/C++ 语言 | 节 6.3.1 | 添加了有关枚举类型大小的文档。 |
SPRU514H | C/C++ 语言 | 节 6.9.15、节 6.9.22和节 6.15.2 | 为 INTERRUPT 和 RETAIN pragma 添加了 C++ 语法。还从 #pragma 语法规范中删除了不必要的分号。现在还支持 GCC 中断和别名函数属性。 |
SPRU514H | C/C++ 语言 | 节 6.9.11 和节 6.9.12 | 添加了 FUNC_ALWAYS_INLINE 和 FUNC_CANNOT_INLINE pragma。 |
SPRU514H | C/C++ 语言 | 节 6.9.7 | 添加了 diag_push 和 diag_pop 诊断消息 pragma。 |
SPRU514H | C/C++ 语言 | 节 6.14、节 6.14.1和节 6.14.3 | 添加了对 C99 和 C++03 的支持。--relaxed_ansi 现在是默认选项,--strict_ansi 是另一个选项;标准违反严格性的“正常模式”不再可用。 |
SPRU514H | 运行时环境 | 节 7.4 | 添加了对汇编语言工具用户指南中有关在 C 和 C++ 语言中访问链接器符号一节的引用。 |
SPRU514G | 运行时环境 | 表 7-6 和表 7-8 | 添加了用于 TMU 指令以及使用放置在高于通常的 22 位地址范围的数据的 32 位地址读取和写入存储器的内在函数。 |
SPRU514H | 运行时支持函数 | 节 8.1.3 | rtssrc.zip 文件中不再提供 RTS 源代码。相反,它位于编译器安装程序 lib/src 子目录内的单独文件中。 |
SPRU514H | C++ 名称还原器 | 节 9.1 | 更正了有关名称还原器选项的信息。 |
SPRU514H | CLA 编译器 | 节 10.1 | CLA 代码现在支持非递归函数调用和两个以上的函数参数。简化了 CLA 暂存区管理;不再需要在链接器命令文件中指定暂存区的大小。编译器现在支持 CLA 中断的中断属性和 INTERRUPT pragma。 |