All SDCC -
 
I have a question about an idata data type on an 8051 architecture:
 
For example:
static volatile unsigned char idata rxbuf[32];  // Uart receive buffer
 
On a 8-bit architecture where ISRs are used... do I need to protect accesses to this array to ensure that data is not corrupted?  Using the critical { } compiler directive for instance.
 
Or does interaction with this buffer not require this protection?
 
Thanks in advance for your help on this.
Jon Hallsten