Hi Alice,
Please see the link below:
https://www.embeddedrelated.com/showthread/lpc2000/56296-2.php
According to the information in the link, it seems like "boot rom remapping" issue.
When we read first 512 byte, we should disabling memory mapping sequence by bootrom, using "Memory Mapping Control Register (MEMMAP - 0x400F C040)", and re-enabling right after the complete read.
Note that the data bytes are slightly different against my case, but I think last 3 bytes are not used, so the actual data is exactly same.
Link : 0`DA/\`$!`6!P1P``0,`/0%V[
My case: 0`DA/\`$!`6!P1P``0,`/0```
Now, my questions are:
1. Is the conclusion in the link correct?
2. If the conclusion is correct, would you please tell me what does "0`DA/\`$!`6!P1P``0,`/0%V[" mean.
The link said that the "0`DA/\`$!`6!P1P``0,`/0%V[" is set "1" to bit0 for 0x400F C040, but how does this data bytes translated into control MEMMAP resiter?, I need to understand more in detail.
3. Why LPC 4078 can read first 512 bytes without disable/enable memory mapping?
Both 176x and 407x has memory mapping control register, and the boot sequence is seems like same.