工具/软件:
我正在使用 AM64x Academy v10.01.00.00、并需要“分配内存“(在“修改要由 Linux 加载的远程内核应用“中)、建议向 Linux 器件树中添加 SRAM 分配。
在 Yocto 设置(Linux RT 风格)中、我使用了“DevTool modify linux-ti-staging-rt“、并使用以下内容编辑了“k3-am642-sk.dts":“:
diff --git a/arch/arm64/boot/dts/ti/k3-am642-sk.dts b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
index 9ec2ad62efdd..00cd201377d1 100644
--- a/arch/arm64/boot/dts/ti/k3-am642-sk.dts
+++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@ -670,10 +670,17 @@ mbox_m4_0: mbox-m4-0 {
};
};
+&oc_sram {
+ main_r5fss0_core0_sram@80000 {
+ reg = <0x80000 0x40000>;
+ };
+};
+
&main_r5fss0_core0 {
mboxes = <&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
memory-region = <&main_r5fss0_core0_dma_memory_region>,
<&main_r5fss0_core0_memory_region>;
+ sram = <&main_r5fss0_core0_sram>;
};
&main_r5fss0_core1 {
但是、运行 linux-ti-staging-RT 的构建将返回以下结果:
| DTC arch/arm64/boot/dts/ti/k3-am642-sk.dtb | /home/tim/tisdk/build/workspace/sources/linux-ti-staging-rt/arch/arm64/boot/dts/ti/k3-am64-main.dtsi:918.35-931.5: ERROR (phandle_references): /bus@f4000/r5fss@78000000/r5f@78000000: Reference to non-existent node or label "main_r5fss0_core0_sram" | | also defined at /home/tim/tisdk/build/workspace/sources/linux-ti-staging-rt/arch/arm64/boot/dts/ti/k3-am642-sk.dts:679.20-684.3 | ERROR: Input tree has errors, aborting (use -f to force output) | make[3]: *** [/home/tim/tisdk/build/workspace/sources/linux-ti-staging-rt/scripts/Makefile.lib:423: arch/arm64/boot/dts/ti/k3-am642-sk.dtb] Error 2 | make[2]: *** [/home/tim/tisdk/build/workspace/sources/linux-ti-staging-rt/scripts/Makefile.build:480: arch/arm64/boot/dts/ti] Error 2 | make[1]: *** [/home/tim/tisdk/build/workspace/sources/linux-ti-staging-rt/Makefile:1391: ti/k3-am642-sk.dtb] Error 2 | make: *** [/home/tim/tisdk/build/workspace/sources/linux-ti-staging-rt/Makefile:234: __sub-make] Error 2 | ERROR: oe_runmake failed
“引用不存在的节点或标签“ain_r5fss0_core0_sram""。“。</s>“ 似乎向“oc_sram"添加“添加了 SRAM 分配不起作用。
我猜测我在 main_rf5ss0_core0 中添加了“sram"属性“属性时没有采纳、因此我查看了器件树绑定“ti、k3-r5f-rproc.yaml“、它针对“sram"属性“属性说明了这一点:
索引 9ec2ad62efd..90d92ac912e4 100644
-- A/arch/arm64/boot/dts/ti/k3-am642-sk.dts
++ b/arch/arm64/boot/dts/ti/k3-am642-sk.dts
@@–670、10 +670、17 @@ mbox_m4_0:mbox-M4-0{
};
};
+&oc_sram{
+ r5fss00-SRAM@80000{
+ reg =<0x80000 0x40000>;
+};
+};
+
&main_r5fss0_core0{
mboxes =<&mailbox0_cluster2 &mbox_main_r5fss0_core0>;
memory-region =<&MAIN_r5fss0_core0_dma_memory_region>、
<&MAIN_r5fss0_core0_memory_region>;
+ SRAM =<&r5fss00-SRAM>;
};
&main_r5fss0_core1{
现在我得到了:
| DTC arch/arm64/boot/dts/ti/k3-am642-sk.dtb
|错误:/home/tim/tisdk/build/workspace/sources/linux-ti-staging-rt/arch/arm64/boot/dts/ti/k3-am642-sk.dts:683.18-19 语法错误
|致命错误:无法解析输入树
为了检查我的 Yocto 环境是否以某种方式拧紧了螺钉、我在全新下载的 Processor SDK Linux RT v10.01.10.04 的情况下、在品牌的 Processor SDK Docker 容器中重复了上述步骤、并获得了相同的结果。
我的问题是:
- 在第一种情况下、r5fss0_0 SRAM 节点似乎未添加到 oc_SRAM。 有什么想法吗?
- 如果想知道为什么将节点名称更改为 r5fss00-SRAM 会出现语法错误?
谢谢!
Tim