Author Topic: LPC23XX ports - strange behaviour  (Read 9327 times)

Offline mark

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 3236
    • View Profile
    • uTasker
LPC23XX ports - strange behaviour
« on: October 20, 2007, 11:25:11 PM »
Hi All

I have a strange effect with the Fast IOs on the LPC2378.

When my test program is running normally everthing is fine - FIOs are blinking a RUN LED and showing moving text on an LCD.

I can stop the code with JTAG debugger and restart with out any problems..
until I have a memory window open which is displaying the FIO registers (from 0x3fffc000). When the code is paused , the debugger updates the block of memory and this cause the ports to stop operating correctly.

Specifically the values read from 0x3fffc000, 0x3fffc010, 0x3fffc020 etc. show 0x400000df, and change often to 0x600000df (these are DIR and MASK addresses - the mask register was never changed by the code). Afterwards the ports don't respond when the program continues. Sometimes I can correct the situation by closing the memory window and forcing the code to write 0x00000000 to the MASK resisters (eg by manipulating register values to force this rather than a normal port write). Afterwards the ports then function correctly again.

If the port registers are never displayed in the debugger I never have any problems.

Has any one else experienced such behaviour or can explain how the debugger can disturb the ports by reading the register values?

Regards

Mark