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

ソリューションへジャンプ
275件の閲覧回数
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 解決策
197件の閲覧回数
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 返答(返信)
226件の閲覧回数
Harry_Zhang
NXP Employee
NXP Employee

Hi @lpestanas 

Can we reproduce this issue?

BR

Harry

0 件の賞賛
返信
198件の閲覧回数
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 件の賞賛
返信