Edited at

Zybo > Chronicles blog 49 > AMPの使用 > 7. OCMによるCore同士の通信 > 4つのOCM領域の配置

More than 1 year has passed since last update.

MicroZed Chronicles リスト http://adiuvoengineering.com/?page_id=285

@ Adam Taylor blog

https://forums.xilinx.com/t5/Xcell-Daily-Blog/Adam-Taylor-s-MicroZed-Chronicles-Part-49-Using-the-Zynq-SoC-s/ba-p/518579

OCMは4つの64Kbyte領域がある。その4つがどのように配置されているか。


The OCM itself is organized into 128-bit words, split into four 64Kbyte regions placed at different locations within the PS address space. The initial configuration has the first three 64Kbyte blocks arranged at the start of the address space and the last 64Kbyte block located towards the end of the address space. You can see this in the linker files below for both applications (Core 0 top, Core 1 bottom):


3つが先頭にあり、1つが後尾にあるとのこと。何故そのような配置なのかは未消化。

Name
Base Address
Size

ps7_ddr_0_S_AXI_BASEADDR
0x00100000
0x00100000

ps7_ram_0_S_AXI_BASEADDR
0x00000000
0x00030000

ps7_ram_1_S_AXI_BASEADDR
0xFFFF0000
0x0000FE00

Name
Base Address
Size

ps7_ddr_0_S_AXI_BASEADDR
0x00200000
0x00100000

ps7_ram_0_S_AXI_BASEADDR
0x00000000
0x00030000

ps7_ram_1_S_AXI_BASEADDR
0xFFFF0000
0x0000FE00


Note the ps7_ram__XXX and ps7_ram_1 relate to memory regions 0 and 1 and not Core 0 and Core 1.


上記のアドレスマップは説明がないが、上の表がCore0のもの、下の表がCore1のものなのだろう。それぞれの中でps7_ram_0がOCMのregion0, ps7_ram_1がOCMのregion1のようだ。region1が後ろにあるが、前述の4つ目の領域との関係は未消化。