问题:
相信有人在使用ADS编译时,已经碰到并解决了这个问题,即编译器报错“S900 internal consistency check failed - please report” ,通常来说这个是属于编译器内部错误,而非代码语法异常,所以需要通过改变软件设置等。
环境:AURIX Development Studio1.7.2
解决方法:
方案一:
通过ADS设置界面, 关闭整个工程或部分文件夹的优化,即设置优化程度为0,如下图
方案二:
在触发报错的代码中,设置关掉优化, 即在对应c文件首行里写入#pragma 关键字,参考如下:
#pragma optimize 0
分析: 推测此问题是由于ADS软件编译内核对部分代码场景无法优化或存在问题, 导致了编译器直接报错,目前只能通过关优化或等待厂商后面优化编译器解决。