raspberry pi:编写Linux设备驱动程序

时间:2013-07-18 10:51:35

标签: linux-kernel linux-device-driver embedded-linux

我对Linux(RHEL 5.4)设备驱动程序和内核内部有一些基础知识,并希望获得相同的专业知识。我才知道树莓派板。

我的问题是,我在Linux服务器上编写的相同代码将在那里工作 - 他们的架构和概念是相同的。请注意,如果情况不同,那么我需要购买台式电脑,否则需要离线练习。

注意 - 我无法添加覆盆子pi组,因此需要删除它并添加以下内容。

3 个答案:

答案 0 :(得分:1)

是的,这取决于架构,在x86上编译的相同代码不会在Pi上消失。但是,有办法解决它。

如上文所述,使用交叉编译工具链(自带libc)来编译代码(内核/用户空间)以在R pi上试用它。再次这样做,您仍然无法测试您的代码。为此,获得像qemu这样的VM工具。我不确定是否有一个用于R pi的qemu端口,但通常基于ARM 11(ARMv6)的qemu应该这样做。以下链接可以让您在PC上进行初始内核开发,而无需拥有R pi。

http://xecdesign.com/qemu-emulating-raspberry-pi-the-easy-way/

干杯 Subbu

答案 1 :(得分:0)

Is their architecture and concepts same??

我想澄清Rasperry Pi是基于ARM的董事会。大多数情况下,我猜你的服务器是在X86上运行的。

设备驱动程序适用于设备。 Rasperry Pi应该有你正在编写驱动程序的设备。 我建议你学习rasperry pi和linux驱动程序模型的数据表。

Linux driver model仅限于architexture。所以你只需要一些努力就可以将你的X86驱动程序移植到ARM。你需要专注于硬件部分。

答案 2 :(得分:0)

您可能需要交叉编译ARM arch的代码。如果您在Linux Server上使用x86机器。您可以使用GNU ARM工具链交叉编译ARM模块,然后在Raspberry pi上运行。