Content originally posted in LPCWare by aferrari on Tue Oct 06 02:16:13 MST 2015
The problem arises during the function write_register() that write a data on an external chip using a 16 bits data/address bus.
The chip is mapped on CS1.
As you can see in figure LPCXpresso_error_4.jpg, up to line 271 everything works well. Here you can see the access at the address 0x90008800 that lies in the CS1 address range.
When the line 271 is executed (by means the LPCXpresso "Step Over" function), two things happen (see figure LPCXpresso_error_5.jpg):
1) the external access seems to be executed correctly (CS1 and WE go low)
2) the error arises
Please note that the same write_register() function is executed dozens of times without any error before the error arises.
What do you think about the issue?
Regards,
Alberto Ferrari