Memory allocation
The total memory ddr size of the 1684X box is 16G. You can use the script to modify the memory allocation of the NPU, VPU, and VPP of the computing box BM1864X. At the same time, after adjusting the NPU, VPU, and VPP, the SOC operating system will use all the memory except the NPU, VPU, VPP, and uboot firmware.
1. Tool Installation
The box system has a tool for modifying memory downloaded and placed in /home/linaro/bsp-debs/memory_edit_V2.5.deb. Use the command sudo dpkg -i /home/linaro/bsp-debs/memory_edit_V2.5.deb
to install
linaro@bm1684:~/bsp-debs$ sudo dpkg -i /home/linaro/bsp-debs/memory_edit_V2.5.deb
Selecting previously unselected package memory-edit.
(Reading database ... 57356 files and directories currently installed.)
Preparing to unpack .../bsp-debs/memory_edit_V2.5.deb ...
Unpacking memory-edit (2.5) ...
Setting up memory-edit (2.5) ...
/opt/sophon /
tar: memory_edit/bintools/mkimage: time stamp 2023-09-26 10:40:36 is 109934001.85539626 s in the future
tar: memory_edit/bintools/cpio: time stamp 2023-09-26 10:53:16 is 109934761.84963502 s in the future
tar: memory_edit/bintools/dumpimage: time stamp 2023-09-26 10:40:18 is 109933983.84811622 s in the future
tar: memory_edit/bintools/dtc: time stamp 2023-09-26 10:40:49 is 109934014.8448481 s in the future
tar: memory_edit/bintools: time stamp 2023-09-26 10:53:33 is 109934778.84480478 s in the future
tar: memory_edit/memory_edit.sh: time stamp 2023-12-27 17:58:53 is 117909098.84420608 s in the future
tar: memory_edit: time stamp 2023-12-27 18:01:14 is 117909239.84378812 s in the future
/
2. Tool Usage
1. Use the command sudo memory_edit.sh -p
to view memory information
linaro@bm1684:/$ sudo memory_edit.sh -p
Info: use dts file /opt/sophon/memory_edit/output/bm1684x_sm7m_v1.0.dts
Info: chip is bm1684x
Info: =======================================================================
Info: get ddr information ...
Info: ddr12_size 8589934592 Byte [8192 MiB]
Info: ddr3_size 4294967296 Byte [4096 MiB]
Info: ddr4_size 4294967296 Byte [4096 MiB]
Info: ddr_size 16384 MiB
Info: =======================================================================
Info: get max memory size ...
Info: max npu size: 0x1dbf00000 [7615 MiB]
Info: max vpu size: 0xc0000000 [3072 MiB]
Info: max vpp size: 0x100000000 [4096 MiB]
Info: =======================================================================
Info: get now memory size ...
Info: now npu size: 0x96e00000 [2414 MiB]
Info: now vpu size: 0xb7ff0000 [2943 MiB]
Info: now vpp size: 0xc0000000 [3072 MiB]
Output similar to the following shows the maximum memory on the system.
Info: get ddr information ...
Info: ddr12_size 8589934592 Byte [8192 MiB]
Info: ddr3_size 4294967296 Byte [4096 MiB]
Info: ddr4_size 4294967296 Byte [4096 MiB]
Output similar to the following shows the maximum configurable memory.
Info: get max memory size ...
Info: max npu size: 0x1dbf00000 [7615 MiB]
Info: max vpu size: 0xc0000000 [3072 MiB]
Info: max vpp size: 0x100000000 [4096 MiB]
Output similar to the following shows the current memory.
Info: get now memory size ...
Info: now npu size: 0x96e00000 [2414 MiB]
Info: now vpu size: 0xb7ff0000 [2943 MiB]
Info: now vpp size: 0xc0000000 [3072 MiB]
Warning
Please check if there is "Error" in the output. If there is, please check whether the operating environment of the SOC supports memory modification.
Tips
Among them, MiB (Mebibyte) is a unit of computer storage capacity, and 1 MiB = 1024 KiB = 1024 * 1024 Byte.
2. Modify the memory layout. The three parameters entered are the decimal numbers of the sizes of the NPU, VPU, and VPP to be configured, in MiB, or hexadecimal values, in Byte.
# Decimal system, unit: MiB
sudo memory_edit.sh -c -npu 2048 -vpu 2048 -vpp 2048
# Hexadecimal system, unit: Byte
sudo memory_edit.sh -c -npu 0x80000000 -vpu 0x80000000 -vpp 0x80000000
Warning
Please check if there is "Error" in the output, and whether the sizes of the three parts in the output similar to the following are the same as the sizes you need to configure.
3. If everything is correct, save the current work, replace the boot image in the boot partition with the modified emmcboot.itb file, and restart the machine for the changes to take effect.
sudo cp /opt/sophon/memory_edit/emmcboot.itb /boot/emmcboot.itb && sync
sudo reboot
4. Continue to use after restart sudo memory_edit.sh -p
to see if the configuration is successful