ZHCUAV8W january 1998 – march 2023 66AK2E05 , 66AK2H06 , 66AK2H12 , 66AK2H14 , AM1705 , AM1707 , AM1802 , AM1806 , AM1808 , AM1810 , AM5K2E04 , OMAP-L132 , OMAP-L137 , OMAP-L138 , SM470R1B1M-HT , TMS470R1A288 , TMS470R1A384 , TMS470R1A64 , TMS470R1B1M , TMS470R1B512 , TMS470R1B768
這些選項專用于 ARM 工具集。有關更多信息,請參閱參考的章節(jié)。節(jié) 2.3.11中列出了 ARM 專用匯編器選項。
ARM 編譯器現(xiàn)在僅支持使用 ELF 目標文件格式和 DWARF 調(diào)試格式的嵌入式應用程序二進制接口 (EABI) ABI。如果希望支持傳統(tǒng)的COFF ABI,請使用 ARM v5.2 代碼生成工具,并參閱 SPNU151J 和 SPNU118J 以查看相關文檔。
| --code_state={16|32} | 生成 16 位 Thumb 代碼。默認情況下生成 32 位代碼。當選擇支持 Cortex-R4、Cortex-M0、Cortex-M3 或 Cortex-A8 架構時,--code_state 選項會生成 Thumb-2 代碼。有關 16 位與 32 位代碼中的間接調(diào)用的詳細信息,請參閱節(jié) 6.11.2.2。 | |
| --common={on|off} | 當為on(默認設置)時,未初始化的文件范圍變量作為通用符號發(fā)出。當為off 時,不會創(chuàng)建通用符號。允許創(chuàng)建通用符號的好處是生成的代碼可以刪除未使用的變量,否則會增加 .bss 段的大小。(大于 32 字節(jié)的未初始化變量通過放置在可以在鏈接時省略的單獨子段中被單獨地優(yōu)化。)如果變量已分配到 .bss 以外的段或相對于另一個通用符號被定義,則變量不能作為通用符號。 | |
| --embedded_constants={on|off} | 默認情況下,編譯器會在函數(shù)中嵌入常量。這些常量可以包括文字、地址、字符串等。如果希望阻止從僅包含可執(zhí)行代碼的內(nèi)存區(qū)域中讀取,這將是一個問題。為了能夠生成“僅執(zhí)行的代碼”,編譯器提供了 --embedded_constants=[on|off] 選項。如果未指定此選項,則假設為on。該選項在以下器件上可用:Cortex-A8、Cortex-M3、Cortex-M4 和 Cortex-R4。 | |
| --endian={ big | little } | 為編譯的代碼指定大端或小端格式。默認情況下使用大端格式。 | |
| --enum_type={int|packed} | 指定枚舉類型的基礎類型。默認為 packed,這會使基礎枚舉類型成為適應枚舉常量的最小整數(shù)類型。使用 --enum_type=int 會導致基礎類型始終為 int。值超出 int 范圍的枚舉常量會生成錯誤。 | |
| --float_support={ vfpv2 | vfpv3 | vfpv3d16 | fpv4spd16 | none } | 為各種版本和庫生成矢量浮點 (VFP) 協(xié)處理器指令。請參閱節(jié) 2.14。 | |
| --global_register={r5|r6|r9} | 禁止編譯器使用 rx=[5|6|9]。在命令行上只能使用一個 --global_register 選項;如果指定了多個這樣的選項,則只有最后一個選項生效。 | |
| -md | 禁用雙狀態(tài)互通支持。請參閱節(jié) 6.11.1。 | |
| -mv={4|5e|6|6M0|7A8|7M3 |7M4|7R4|7R5} | 選擇處理器版本:ARM V4 (ARM7)、ARM V5e (ARM9E)、ARM V6 (ARM11)、ARM V6M0 (Cortex-M0)、ARM V7A8 (Cortex-A8)、ARM V7M3 (Cortex-M3)、ARM V7M4 (Cortex-M4)、ARM V7R4 (Cortex-R4) 或 ARM V7R5 (Cortex-R5)。默認為 ARM V4。 | |
| --neon | 編譯器可以使用第 7 版 ARM 架構的 Neon 擴展中提供的 SIMD 指令來生成代碼。優(yōu)化器嘗試對源代碼進行矢量化,以利用這些 SIMD 指令。為了生成矢量化 SIMD Neon 代碼,請使用 -mv=7A8 選項選擇第 7 版架構,并使用 --neon 選項啟用 Neon 指令支持。 優(yōu)化器用于對源代碼進行矢量化。盡管建議使用 3 級 (--opt_level=3) 和 --opt_for_speed 選項,但還是需要 至少2 級優(yōu)化(--opt_level=2 或 O2)。 |
|
| --pending_instantiations=# | 指定在任何給定時間內(nèi)可能正在進行的模板實例化的數(shù)量。使用 0 指定一個不受限制的數(shù)字。 | |
| --plain_char={signed|unsigned} | 指定如何處理 C/C++ 普通字符變量。默認為無符號。 | |
| --ramfunc={on|off} | 如果設置為 on,則指定所有函數(shù)都應放置在位于RAM 中的 .TI.ramfunc 段中。如果設置為 off,則只有具有 ramfunc 函數(shù)屬性的函數(shù)才會以此種方式被處理。請參閱節(jié) 5.17.2。 較新的 TI 鏈接器命令文件通過在 .TI.ramfunc 段中放置函數(shù)來自動支持 --ramfunc 選項。如果鏈接器命令文件不包含 .TI.ramfunc 段的段規(guī)格,則可以修改鏈接器命令文件以將此段放在 RAM 中。有關段放置位置的詳細信息,請參閱《ARM 匯編語言工具用戶指南》。 |
|
| --silicon_version | 選擇指令集版本。選項是:
使用 --silicon_version=7M4 選項自動設置 --float_support=fpv4spd16 選項。如需禁用硬件浮點支持,請使用 --float_support=none 選項。 |
|
| --unaligned_access={on|off} | 通知編譯器目標器件支持未對齊的內(nèi)存訪問。通常,數(shù)據(jù)與其大小邊界對齊。例如,32 位數(shù)據(jù)在 32 位邊界上對齊,16 位數(shù)據(jù)在 16 位邊界上對齊,8 位數(shù)據(jù)在 8 位邊界上對齊。如果此選項設置為 on,則告知編譯器為落在未對齊邊界上的數(shù)據(jù)(16 位邊界上的 32 位數(shù)據(jù))生成加載和存儲指令是合法的??赡馨l(fā)生未對齊數(shù)據(jù)訪問的情況包括調(diào)用 memcpy() 和訪問打包的結構體。默認情況下,所有 Cortex 器件都啟用此選項。 | |
| --use_dead_funcs_list[=fname] | 將文件中列出的每個函數(shù)放在單獨的段中。如果指定了函數(shù),將其放在fname 段中。不建議在 Code Composer Studio IDE 中使用此選項和 --generate_dead_funcs_list,相反,請考慮使用 --opt_level=4、--program_level_compile 和/或 --gen_func_subsections。 | |
| --wchar_t={32|16} | 設置 C/C++ 類型 wchar_t 的大?。ㄒ晕粸閱挝唬?。默認情況下,編譯器生成 16 位 wchar_t。16 位 wchar_t 對象與 32 位 wchar_t 對象不兼容;如果將這兩個對象組合在一起,則會產(chǎn)生錯誤。 | |