LPC43XX I2C_CON_SI does not activate when used with ARM Compiler 6.21

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

LPC43XX I2C_CON_SI does not activate when used with ARM Compiler 6.21

Jump to solution
271 Views
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 Kudos
Reply
1 Solution
193 Views
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

View solution in original post

0 Kudos
Reply
2 Replies
222 Views
Harry_Zhang
NXP Employee
NXP Employee

Hi @lpestanas 

Can we reproduce this issue?

BR

Harry

0 Kudos
Reply
194 Views
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 Kudos
Reply