问题标签 [device-tree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1903 浏览

linux-kernel - 设备树和代码大小

根据我对设备树的理解,主要用途之一是从驱动程序中删除特定于平台的代码以支持多个平台。设备树如何处理单个外设的多个配置?

例如,如果我想在平台 A 中使用 LCD 面板 A,在平台 B 中使用 LCD 面板 B,我是否需要在最终的二进制文件中保留 LCD 面板 A 和面板 B 的相关代码?如果是这种情况并且有多个外围设备具有多个选项,那么二进制文件中似乎会有大量的附加代码。

0 投票
1 回答
7554 浏览

operating-system - DTS 文件说明 - 别名

我试图从 DTS 文件中理解以下代码段。

别名部分有什么作用?
我的理解如下。
对于ethernet0,我们可以使用enet0。
但是为什么serial0=&serial0?
和serial1 = &serial1
谁能简要介绍一下?

谢谢。

0 投票
3 回答
11392 浏览

beagleboard - BBB - 在启动时自动加载设备树覆盖

我有一个设备树覆盖:

我可以成功加载:

如何配置 BBB/Angstrom 以在启动时自动加载它?

更具体地说,如何将 dtbo 文件挂接到正常的设备树加载机制中?我知道我可以将 echo 添加到 linux init 脚本,但似乎必须有一些东西触发了 dtbo 文件的加载。

0 投票
1 回答
3490 浏览

linux - 在设备树中使用什么“兼容”键?

我正在尝试编写一个设备树覆盖来识别我的 BeagleBone Black 的基于 SPI 的 enc28j60 模块。这个模块没有出现,/kernel-dev/Documentation/devicetree/bindings但内核中确实存在它的驱动程序。

缺少文档是否表明缺少设备树绑定?不能说类似的话compatible = "microchip,enc28j60",我想知道我还能如何使用设备树覆盖来加载 enc28j60.ko 驱动程序?

0 投票
3 回答
1907 浏览

linux - 在 Linux 中编写设备驱动程序

我是编写设备驱动程序的新手。

我想为 ARM 平台上的外围设备编写设备驱动程序。

第一个问题:在 ARM 平台上为外设编写设备驱动程序与在 Linux 中的 x86 上编写设备驱动程序有什么不同?

第二个问题:我检查了 /proc/iomem 文件以查看处理器的当前地址映射。但是,并非所有外围设备(包括我要访问的外围设备)都不存在于该文件中。如何包含外围设备的地址范围?

第三个问题:设备树在编写设备驱动程序中的重要性是什么?

0 投票
2 回答
2187 浏览

memory-management - 内存地址是否指向信息字节?

以下是 DTS 文件的摘录。linux/arch/powerpc/boot/dts/[board_name].dts

嵌入式设备有 1 GB 的内存。

0x40000000=1073741824 十进制。

我获得 1 GB 的唯一方法是当我将 1073741824 计算为字节时。

这意味着 1073741824 字节 = 1GB。

那么这是否意味着 0x00000000 指向 RAM 中的一个数据字节?换句话说,RAM 中的每个字节都有一个地址。

为什么呢?我们读取一个 8 位的块是什么?为什么不说一句话?

0 投票
2 回答
4368 浏览

overlay - 使用设备树覆盖在 beaglebone black 上更改心跳

我正在使用带有 Robert Nelson 最新内核的 D​​ebian wheezy 文件系统。我想使用设备树覆盖来禁用心跳。

我知道有更简单的方法可以做到这一点,但我只对使用覆盖来禁用心跳引导的答案感兴趣。

我可以实现这一点的一种方法是更改​​ am335x-boneblack.dts 中的 gpio-leds,led0 叶:linux,default-trigger = "heartbeat"; 到 linux,default-trigger = "none";

然后编译设备树并重新启动。

但是,如果我尝试使用以下叠加层实现相同的操作,则在我成功应用带有 echo > $SLOTS 的叠加层后,心跳 LED 会继续闪烁。
我究竟做错了什么?

0 投票
2 回答
1291 浏览

linux - 为什么以及何时嵌入式设备将同时具有 NAND 和 NOR?

我在嵌入式产品的 dts 文件中找到了这个片段。
为什么我们有 NAND 闪存时还要有 NOR 闪存?
下面localbus节点中提到的LCS0,LCS1是什么意思?

我完全不明白下面的代码片段是什么意思

0 投票
1 回答
1796 浏览

linux - 嵌入式linux中的Devicetree

如何将平台特定文件转换为设备树?

我理论上知道设备树。请解释它在树莓派板或任何其他板上的工作原理。

0 投票
1 回答
8955 浏览

linux - 设备树和手动注册

我在主要通过设备树机制(.dts/.dtc文件)配置的板上使用嵌入式 Linux,即设备树文件中的条目指示要注册哪些设备以及要加载哪些驱动程序。

有没有办法以类似于设备树处理程序加载此驱动程序时发生的情况手动加载动态模块?

.dts澄清一下:我是否可以在用户空间已经启动后“手动”注册该设备(例如通过动态加载包装内核模块)而不是在我的文件中包含设备 XXX 的条目(就像 dts-unaware 一样司机)?

使用简单的modprobe/insmod不是我认为有效的方法,因为这只会加载驱动程序,而不是注册设备及其参数(通常来自.dts文件)。