[En-Nut-Discussion] SVN Trunk Rev. 5422 breaks GPIO for LPC

Ole Reinhardt ole.reinhardt at embedded-it.de
Sun Oct 20 19:38:46 CEST 2013


Hi Uwe,

unfortunately you latest commit (r5422) breaks GPIO on the LPC.

My initial version implemented GpioPinSet by writing to the FIOSET
register for high values and FIOCLR for low values. You replaced it by
writing either 1 or 0 to the FIOSET register, which will not work as you
can only write ones to these registers, writing 0 won't modify the register.

According to the documentation it would be possible to directly write
the final value to the FIOPIN register. Due to a silicon bug this is
highly discouraged to do so, using the bit banding register access.

If you would write two values using bit band access to the FIOPIN
register directly one after the other, then the first access might get
missed.

Conclusion:

We have to stay with the access to FIOSET and FIOCLR register.

For now I reverted your last checkin in rev. 5423. Could you please
point out your initial intention?

Best regards,

Ole

-- 
kernel concepts GmbH            Tel: +49-271-771091-14
Sieghuetter Hauptweg 48         Mob: +49-177-7420433
D-57072 Siegen
http://www.embedded-it.de
http://www.kernelconcepts.de


More information about the En-Nut-Discussion mailing list