我对 Linux (RHEL 5.4) 设备驱动程序和内核内部有一些基础知识,并希望获得这方面的专业知识。我开始知道树莓派板。
我的问题是,我在 Linux 服务器上编写的相同代码将在那里工作——它们的架构和概念是否相同。请注意,如果情况不同,那么我需要购买台式电脑,否则用于离线练习。
注意 - 我无法添加树莓派组,因此需要删除相同的组并添加以下组。
我对 Linux (RHEL 5.4) 设备驱动程序和内核内部有一些基础知识,并希望获得这方面的专业知识。我开始知道树莓派板。
我的问题是,我在 Linux 服务器上编写的相同代码将在那里工作——它们的架构和概念是否相同。请注意,如果情况不同,那么我需要购买台式电脑,否则用于离线练习。
注意 - 我无法添加树莓派组,因此需要删除相同的组并添加以下组。
是的,它取决于架构,在 x86 上编译的相同代码不会在 Pi 上运行。但是,有一些方法可以绕过它。
如上篇文章所述,使用交叉编译工具链(自带 libc)编译您的代码(内核/用户空间)以在 R pi 上试用。再次这样做,您仍然无法测试您的代码。为此,请使用 qemu 之类的 VM 工具。我不确定是否有用于 R pi 的 qemu 端口,但通常基于 ARM 11 (ARMv6) 的 qemu 应该可以。以下链接可以让您在不拥有 R pi 的情况下在您的 PC 上进行初始内核开发。
http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/
干杯Subbu
Is their architecture and concepts same??
我想澄清一下,Rasperry Pi是基于 ARM 的板。大多数情况下,我猜你的服务器是在 X86 上运行的。
用于设备的设备驱动程序。Rasperry Pi 应该有您正在为其编写驱动程序的设备。我建议你研究一下rasperry pi和linux驱动模型的数据表。
Linux 驱动程序模型仅与架构无关。所以你只需要一些努力就可以将你的 X86 驱动程序移植到 ARM 上。您需要专注于硬件部分。
您可能需要为 ARM arch 交叉编译代码。如果您在 Linux 服务器上使用 x86 机器。您可以使用 GNU ARM 工具链为 ARM 交叉编译模块,然后在 Raspberry pi 上运行。