在设备树中设置ion_cam size
此教程使用2.0.0以上系统镜像, 在RDK X3 硬件1.0板卡, 硬件2.0板卡, RDK X3 Module(SD卡), RDK X3 Module(eMMc)均测试通过.
主要为了方便大家在X3上运行端侧的语言大模型:https://developer.horizon.cc/nodehubdetail/181982806623334400
1、串口或者ssh终端登录RDK X3
2、确认当前硬件使用的dtb文件
- RDK X3 (旭日X3派) v1.0硬件板卡是
hobot-x3-pi.dtb
- RDK X3 v2.0硬件板卡是
hobot-x3-pi_v2_1.dtb
- RDK X3 Module是
hobot-x3-cm.dtb
可以通过查询当前设备使用的设备树命令确定
cat /sys/firmware/devicetree/base/model
- RDK X3 (旭日X3派) v1.0硬件板卡会显示以下内容
Hobot X3 PI
- RDK X3 v2.0硬件板卡会显示以下内容
Hobot X3 PI V2.1
- RDK X3 Module会显示以下内容
Hobot X3 CM
3、使用以下命令把dtb文件转成方便阅读的dts文件:
- RDK X3 (旭日X3派) v1.0硬件板卡
dtc -I dtb -O dts -o edit_file.dts /boot/hobot/hobot-x3-pi.dtb
- RDK X3 v2.0硬件板卡
dtc -I dtb -O dts -o edit_file.dts /boot/hobot/hobot-x3-pi_v2_1.dtb
- RDK X3 Module
dtc -I dtb -O dts -o edit_file.dts /boot/hobot/hobot-x3-cm.dtb
其中,/boot/hobot/hobot-x3-pi.dtb 是要编辑的DTB文件的路径。该命令将DTB文件转换为DTS文件(设备树源文件)。 在文本编辑器中,可以编辑DTS文件并保存更改。
4、将 ion_cma size 设置为 1.7GB,可以将其更改为下面的示例。
vim edit_file.dts
如果您使用编辑器为vim
,您可以在命令模式下, 键入/ion_cma
来搜索以下内容, 应该第一下就能搜索到, 随后回车, 键入i
进入编辑模式即可.
系统默认设置如下, 为0x2a000000
也就是672MB
ion_cma {
compatible = "shared-dma-pool";
alloc-ranges = <0x00 0x4000000 0x00 0x2a000000>;
alignment = <0x00 0x100000>;
size = <0x00 0x2a000000>;
reusable;
};
注意, alloc-ranges
和 size
两个字段都要修改, 以下内容为设置为 1.7GB, 供参考
ion_cma {
compatible = "shared-dma-pool";
alloc-ranges = <0x00 0x4000000 0x00 0x6a400000>;
alignment = <0x00 0x100000>;
size = <0x00 0x6a400000>;
reusable;
};
计算方法
672 MB:
(
2
a
000000
)
H
E
X
=
(
704643072
)
D
E
C
=
102
4
2
×
672
(2a000000)_{HEX} = (704643072)_{DEC} = 1024^2 \times 672
(2a000000)HEX=(704643072)DEC=10242×672
1500 MB (≈1.5GB)
(
5
d
c
00000
)
H
E
X
=
(
1572864000
)
D
E
C
=
102
4
2
×
1500
(5dc00000)_{HEX} = (1572864000)_{DEC} = 1024^2 \times 1500
(5dc00000)HEX=(1572864000)DEC=10242×1500
1700 MB (≈1.7GB)
(
6
a
400000
)
H
E
X
=
(
1782579200
)
D
E
C
=
102
4
2
×
1700
(6a400000)_{HEX} = (1782579200)_{DEC} = 1024^2 \times 1700
(6a400000)HEX=(1782579200)DEC=10242×1700
5、保存修改后,使用以下命令将 DTS 文件转换回 DTB 格式。在执行此操作之前,请备份原始文件。
- RDK X3 (旭日X3派) v1.0硬件板卡
dtc -I dts -O dtb -o /boot/hobot/hobot-x3-pi.dtb edit_file.dts
- RDK X3 v2.0硬件板卡
dtc -I dts -O dtb -o /boot/hobot/hobot-x3-pi_v2_1.dtb edit_file.dts
- RDK X3 Module
dtc -I dts -O dtb -o /boot/hobot/hobot-x3-cm.dtb edit_file.dts
会报一些errors和warmings, 如果您是安装本文来修改的, 一般是不用管的.
edit_file.dts:257.21-268.5: Warning (simple_bus_reg): /soc/serial@0xA5000000: simple-bus unit address format error, expected "a5000000"
edit_file.dts:270.21-281.5: Warning (simple_bus_reg): /soc/serial@0xA5001000: simple-bus unit address format error, expected "a5001000"
edit_file.dts:283.21-294.5: Warning (simple_bus_reg): /soc/serial@0xA5002000: simple-bus unit address format error, expected "a5002000"
edit_file.dts:296.21-307.5: Warning (simple_bus_reg): /soc/serial@0xA5003000: simple-bus unit address format error, expected "a5003000"
edit_file.dts:309.18-339.5: Warning (simple_bus_reg): /soc/usb@0xB2000000: simple-bus unit address format error, expected "b2000000"
保存后,建议将其转换回 dts 文件并确认修改是否正确,以避免因笔误等原因导致修改的值不符合预期。
6、最后,重启您的系统以使更改生效
如果是2.1.0的系统, 可使用以下命令来查看[ION Memory Size]
是否修改成功. 其他系统可以通过转换回 dts 检查
sudo rdkos_info -s
================ RDK System Information Collection ================
[Hardware Model]:
Hobot X3 PI (Board Id = 5)
[CPU And BPU Status]:
=====================1=====================
temperature-->
CPU : 43.6 (C)
cpu frequency-->
min cur max
cpu0: 240000 1200000 1200000
cpu1: 240000 1200000 1200000
cpu2: 240000 1200000 1200000
cpu3: 240000 1200000 1200000
bpu status information---->
min cur max ratio
bpu0: 400000000 1000000000 1000000000 0
bpu1: 400000000 1000000000 1000000000 0
[Total Memory]: 3.8Gi
[Used Memory]: 879Mi
[Free Memory]: 1.8Gi
[ION Memory Size]: 672MB
[RDK OS Version]:
2.1.0
[RDK Kernel Version]:
Linux ubuntu 4.14.87 #3 SMP PREEMPT Tue Jan 2 10:07:24 CST 2024 aarch64 aarch64 aarch64 GNU/Linux
[RDK Miniboot Version]:
U-Boot 2018.09-g40785bca (May 27 2022 - 16:30:48 +0800)
[RDK Packages List]:
hobot-audio-config/unknown,now 2.0.0-20240117105936 arm64 [installed]
...
hobot-wifi/unknown,now 2.1.0-20240102181558 arm64 [installed]
注意事项:
- 修改DTB文件可能会影响您的系统的稳定性和安全性。在修改DTB文件之前,请确保您了解您要更改的内容的含义,并备份原始DTB文件以防止意外错误。
- /boot/hobot/ 下文件由地平线软件包管理,如果升级了系统软件,则用户的修改会被重置为默认配置(672MB)
7、不小心改坏了进不进去系统怎么办?
重新烧录镜像到SD卡或eMMC即可.