そういえばFreeRTOSの勉強をする前に、Zynqについても基本的なアドレスマップについてちゃんと調査したことがなかった。
Zynqのアドレスマップは、Xilinxの資料を調べると以下のようになっていた。
- Zynq-7000 All Programmable SoC Technical Reference Manual
ARMは基本的に0x0からブートすると聞いているので、0x0000_0000 - 0x0000_FFFF にはオンチップメモリが接続されている。また、DDR-SDRAMが接続されるのは0010_0000 - 3FFF_FFFFとなっている。
とすると、FreeRTOSのメモリマップはどうなっているかというと、前回のDemoプログラムのlscript.ldを開いてみると、
グラフィカルに表示されるなあ。すごい。
基本的にテキスト領域もDDR-SDRAMの領域に貼り付けられているようだ。リセットとか、ブートローダとかはどのようになっているのかちょっと分からないが、一応マッピングは行えている。