在使用 clangd 进行代码提示时,如果遇到报错 Unknown argument: '-mthumb-interwork',这通常意味着 ...
-mthumb用于指定生成thumb指令集的代码,这是一个可选参数,默认情况下,arm-none-eabi-GCc会优先产生ARM指令集的代码。-mthumb-interwork允许编译器进行ARM指令和Thumb指令的相互调用,默认情况下,这个选项是未允许的。 其他选项(-std=xxx -Wall -On -g -gdwarf-2 -fdata-sections -ffunction-sections)-std=xxx用...
"-mthumb-interwork”编译选项生成的目标文件就是thumb的,但是可以被其他的ARM的目标文件交叉调用。 一般如果工程中需要一部分文件目标文件编译为ARM指令,一部分目标文件编译为Thumb指令时, 可以在这两部分的编译选项中都加入"-mthumb-interwork”选项,这样就可以在后面将这两部分链接为一个可执行文件,例如: arm-elf-g...
"-mthumb-interwork”编译选项生成的目标文件就是thumb的,但是可以被其他的ARM的目标文件交叉调用。 一般如果工程中需要一部分文件目标文件编译为ARM指令,一部分目标文件编译为Thumb指令时, 可以在这两部分的编译选项中都加入"-mthumb-interwork”选项,这样就可以在后面将这两部分链接为一个可执行文件,例如: arm-elf-g...
-mthumb-interwork 产生支持THUMB和ARM指令集间调用的代码。不使用此开关,在一个程序里就不能可靠地使用两个指令集。缺省情况下是“-mno-thumb-interwork”,因为使用“-mthumb-interwork”开关产生的代码稍微大一些。 -mtpcs-frame 对所有非叶函数都生成一个遵从Thumb程序调用标准的堆栈帧。(叶函数是不调用任何其它函...
1.-mthumb: 该选项指定生成Thumb指令集的代码,适用于Cortex-M3处理器。 2.-mcpu=cortex-m3: 显式指定目标CPU架构为Cortex-M3。 3.-mthumb-interwork: 此选项允许Thumb指令集和ARM指令集之间的互相调用,尽管在Cortex-M3中我们主要使用Thumb-2指令集,这一选项有助于确保代码的兼容性。
3 ARM架构专有的编译选项 -mthumb使编译器生成THUMB指令 -marm使编译器生成ARM指令 -mthumb-interwork使编译器生成支持ARM和Thumb指令集之间相互调用的代码,默认是-mno-thumb-interwork 审核编辑:汤梓红
-mthumb-interwork 这个编译选项则是支持编译出来的汇编语言可以支持ARM和THUMB指令集; -mno-thumb-interwork 缺省情况下是"-mno-thumb-interwork",因为指定了"-mthumb-interwork"产生的代码稍微大一些; -Wno-write-strings 会忽略掉C++ char* 转const char*的警告,这样并不会很安全; ...
使用-mthumb选项编译的代码可以在支持Thumb指令集的ARM处理器上运行。 5. -mthumb-interwork 这个选项用于指定在Thumb指令集和ARM指令集之间进行交叉调用时是否进行自动转换。默认情况下,编译器将在需要时自动插入指令来转换指令集,确保不同指令集之间的函数调用能够正确进行。可以使用-mno-thumb-interwork选项禁用自动转换...
-mthumb-interwork 这个编译选项则是支持编译出来的汇编语言可以支持ARM和THUMB指令集; -mno-thumb-interwork 缺省情况下是"-mno-thumb-interwork",因为指定了"-mthumb-interwork"产生的代码稍微大一些; -Wno-write-strings 会忽略掉C++ char* 转const char*的警告,这样并不会很安全; ...