LPC546xxでEMCのCONFIGレジスタのEMビットを1に設定すると外部デバイスがビッグエンディアンだと判断します。
LPC546xxは、リトルエンディアンですので、アドレス0x000は最下位バイトを示しており、ビッグエンディアンのデバイスの最下位バイトのアドレス0x003に対してアクセスします。
それ以外のアドレスも同様にリトルエンディアンとビッグエンディアンとの間でアドレスが変換され、次のようにアクセスします。
uint8_t byteData;
byteData = *((uint32_t *)0x80000000); /* if EM = 1 (big-endian), EMC will read 8-bit data at 0x0003 even if memory width is 8 bit */
byteData = *((uint32_t *)0x80000001); /* if EM = 1 (big-endian), EMC will read 8-bit data at 0x0002 even if memory width is 8 bit */
byteData = *((uint32_t *)0x80000002); /* if EM = 1 (big-endian), EMC will read 8-bit data at 0x0001 even if memory width is 8 bit */
byteData = *((uint32_t *)0x80000003); /* if EM = 1 (big-endian), EMC will read 8-bit data at 0x0000 even if memory width is 8 bit */