LPC43XX I2C_CON_SI does not activate when used with ARM Compiler 6.21

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

LPC43XX I2C_CON_SI does not activate when used with ARM Compiler 6.21

跳至解决方案
283 次查看
lpestanas
Contributor III

Hi NXP Team,

I have encountered an issue about the LPC43XX I2C Transfer. In ARM Compiler 5.06, the Single byte write and all other I2C transactions works fine MCU to MCU. But upon selecting the ARM Compiler 6.21, the I2C_CON_SI bit is no longer firing resulting the slave device sending NACK to the I2C Master. The Optimization was disabled and volatiles were placed along the memory-mapped I2C Peripheral declaration. Does anyone encounter this using ARM Compiler 6?

Thanks and Good Day,

Leo

0 项奖励
回复
1 解答
205 次查看
lpestanas
Contributor III
Hi Harry,

This was solved by putting "volatile" keyword on the structure declaration that post-processes the data from I2C Driver Registers. This problem can be examined between ARM Compiler 5.06 and ARM Compiler 6.21 using LPC4330FBD144 as our MCU. We mark this issue closed as of now.

Thanks and Good Day,
Leo

在原帖中查看解决方案

0 项奖励
回复
2 回复数
234 次查看
Harry_Zhang
NXP Employee
NXP Employee

Hi @lpestanas 

Can we reproduce this issue?

BR

Harry

0 项奖励
回复
206 次查看
lpestanas
Contributor III
Hi Harry,

This was solved by putting "volatile" keyword on the structure declaration that post-processes the data from I2C Driver Registers. This problem can be examined between ARM Compiler 5.06 and ARM Compiler 6.21 using LPC4330FBD144 as our MCU. We mark this issue closed as of now.

Thanks and Good Day,
Leo
0 项奖励
回复