這裡是設定 Memory 的起始位置 8000 0000
注意 Reserved-memory :
在這裡,我們為不同的功能保留了三個塊。 其中一個地方是 rproc 函數,它用在 M4 DRAM 上(384KB)
(0x60000 = 384 KB)
以設定UART16 為例
_S 就是代表指定給A35
_SUBM 代表指定給M4
Compile the Linux kernel.
$ bitbake linux-ma35d1 -C compile
Compile the TF-A.
$ bitbake tf-a-ma35d1 -C compile
Build-up Image.
$ bitbake nvt-image-qt5 –c cleanall && bitbake nvt-image-qt5
Burn-in Image into SD card.
$ sudo dd if=core-image-minimal-xxxxx.rootfs.sdcard of=/dev/sdbx
上圖中我們可以看到,RO data 配置位置在 0x0 ~ 0x1FFFF ,一共有128KB SRAM
RW data 配置位置在 0x80040000 大小為0x1FFFF ,一共有128KB 的DDR
在 .c 的右鍵 option ,可以指定要把這個 function 放到 DDR 去
在 map file 中可以看到 memtest 已經在DDR 的 使用空間了
上圖可以看到 紅色 是代表記憶體區間
0x00000000 ~ 0x0001FFFF 是SRAM 的空間
這裡的寫法可以直接打開 map file ,copy paste 一模一樣的名子就可以了,
例如 : startup_ma35d1_rtp.o(STACK, HEAP) 這個我放到SRAM
pdm_converter.o(.bss) 我放到DRAM
以此類推
所以上圖可以知道,我把需要比較快速算完的data 放到SRAM
比較不需要速度的資料我放到 DRAM