工具/软件:TI C/C++编译器
我有一个在没有任何运行时库支持的情况下编译的工程(需要节省一些闪存空间)。 编译时出现以下错误:
未定义的首次引用
符号
------ --------
_mspabi_srli_3 ./app.obj
错误#10234-D:未解析的符号仍然存在
浏览 ASM 文件后、源 C 文件中的以下行会产生错误:
返回(new_value >> 3);
添加 ABI 运行时库后、程序会编译、但代价是添加74字节代码来支持右移。 这看起来像是一个超频、尤其是在 ISR 中使用时、对于在我的情况下只需要6字节闪存来具有三个 RRA.W 汇编命令的器件。 相反、编译后的决定调用一个只需要6个字节用于调用和 RET 的运行时库。
是否有办法告诉 MSP430编译器不要依赖任何运行时库函数并就地实施正确的移位?