将 TI 链接器命令文件与 Clang 一起使用
Using TI Linker Command File with Clang
使用 TI(德州仪器)编译器时,我可以通过简单的ADC12IFG = 50;
C++设置嵌入式微控制器的内存位置。 Clang 将此代码标记为错误:indirection requires pointer operand ('int' invalid)
。 因此,当我深入研究它时,TI 有一个头文件 msp430f5335.h,其中包含以下行:
#define SFR_16BIT(address) extern volatile unsigned int address
SFR_16BIT(ADC12IFG); /* ADC12+ Interrupt Flag */
然后有一个链接器命令文件 msp430f5335.cmd,其中包含以下行:
ADC12IFG = 0x070A;
所以看起来链接器命令文件指定了address
. 那么,是否有可能让 clang 分析工具识别链接器命令文件而不导致误报?
Clang 旨在与 GCC 兼容。
TI 的头文件 (msp430-gcc-support-files
) 使用以下机制来定义内存映射寄存器变量:
#define sfrw_(x,x_) extern volatile unsigned int x asm(#x_)
#define sfrw(x,x_) sfrw_(x,x_)
#define ADC12IFG_ 0x070A /* ADC12+ Interrupt Flag */
sfrw(ADC12IFG, ADC12IFG_);
(这不需要链接器命令文件。
相关文章:
- 如何将enable-if与模板参数和参数包一起使用
- 如何将PERF_AMPLE_READ与mmap一起使用
- 奇怪的结构&GCC&clang(void*返回类型)
- 与clang++一起使用的VS代码在构建良好的C++文件中显示错误
- 是否可以将 Clang-Tidy 与 QNX 一起使用?
- 如何将 Clang 静态分析器与 Cortex-M 项目一起使用?
- C 17可以与CUDA一起使用Clang
- 无法将libc++与clang++-5.0一起使用
- 可以与CMAKE-BUILD一起使用Clang静态分析仪(扫描构建)
- GCC 中的编译器错误,但在将 decltype 与具有尾随返回类型语法的模板化成员函数一起使用时没有 clang
- GCC vs Clang:将功能与-FPIC一起插入
- 将 boost/thread headers 与 clang++ (Windows) 一起使用时出现问题
- 将 TI 链接器命令文件与 Clang 一起使用
- 如何将Compiler实例和ASTConsumer与clang 3.6一起使用
- 在 ubuntu 12.04 上设置 Xerces 以与 cmake 和 clang 一起使用
- 不允许Clang格式与评论混在一起
- 将 clang 3.1 与初始值设定项列表一起使用
- Clang:将绑定或mem_fn与字符串::c_str和转换一起使用时出现问题
- 如何让c++ 0x / c++ 11风格的基于范围的for循环与clang一起工作
- c++ 11,枚举类,在c++中未定义引用,与clang++一起工作