IAR5.3的430的编译器出现下面警告和错误是什么原因?
Warning: Modules have been compiled with possibly incompatible settings: Module SelfAdapt uses unsigned plainchars, while module WaveSearch uses signed plain charsError: Incompatible runtime models. Module SelfAdapt specifies that '__data_model' must be 'large', but moduleCluster has the value 'medium'
在Debug时只有警告 在Ralease下有警告也有错误,有谁也遇到这样的情况 能解答一下么?
是不是调用了printf等函数,然后在设定里库尺寸没选对? bujie8010 发表于 2016-7-5 10:42
是不是调用了printf等函数,然后在设定里库尺寸没选对?
嗯调用了 这里设置Medium后错误没了 警告还是有 bujie8010 发表于 2016-7-5 10:42
是不是调用了printf等函数,然后在设定里库尺寸没选对?
要怎么选库尺寸? MSP430X架构下多了DATA的存取模式,好像是你的两个模块用了不同的char默认的类型导致的,你那两个模块的文件头里看看有没有unsigned char 定义成什么东西了? bujie8010 发表于 2016-7-5 11:10
MSP430X架构下多了DATA的存取模式,好像是你的两个模块用了不同的char默认的类型导致的,你那两个模块的文 ...
发现定义了
typedef signed char i8;
typedef signed short i16;
typedef signed int i32;
typedef unsigned char u8;
typedef unsigned shortu16;
typedef unsigned long u32;
typedef char CHAR;
但是还是不知道为什么? 第一次使用IAR,是一个同事离职留下的工程
这个mcu的cpu是20位地址的,传统msp430是16位的,所以你寻址超过64K就要用medium吧 bujie8010 发表于 2016-7-5 11:20
这个mcu的cpu是20位地址的,传统msp430是16位的,所以你寻址超过64K就要用medium吧 ...
嗯这个警告要怎么消除呢? typedef char CHAR;
估计就是char在不同模块做了不同定义(signed 和unsigned)吧,你把那两个模块的头文件都看看,有没有char的不同定义!
页:
[1]