CodeWarrior for S12X版本从4.6升级到5.1
解决方案:
一、 解决位域问题:
1、打开工程参数选项:Edit ->Preferences
2、选择编译选项:Compiler for …->Options
3、指定编译时的MSB与LSB:
Code Generation -> Bit Field Byte Allocation之后选择MSB与LSB
4、保存后重新编译工程。
二、 解决内存对齐问题:
1、打开工程参数选项:Edit ->Preferences
2、选择编译选项:Compiler for …->Options
3、指定编译时的内存对齐方式:
Code Generation -> Bit Field Gap Limit
由于Codewarrior的历史版本升级原因对此处做了限制,部分文件将此值暂时性设置为“4294967295”。
经过调试设为“-1”即可,此时将按照16bit对齐。
如果不设置,5.1将按照默认8bit对齐。
4、保存后重新编译工程。