My target is Atmel SAM4S series
Here is mapping table
internal Flash start address is 0x00400000 and internal ROM start address is 0x00800000
As I know, ARM chip always boot from address 0x00000000, and I can select boot from internal ROM or from internal Flash by controlling boot register.
But how arm chip load ROM / Flash data into 0x00000000 by my selection?
I found answer from YouTube
https://www.youtube.com/watch?v=3brOzLJmeek&list=PLRJhV4hUhIymmp5CCeIFPyxbknsdcXCc8&index=16&t=3s
Seems hardware will map internal flash/ROM by boot select.