安装 linux-headers, 然后在pcDuino上编译你自己写的pcDuino驱动

pc朵拉 发布于 2013/08/16 23:18
阅读 1K+
收藏 1
如果你想自己动手编译pcDuino内核,pcDuino内核代码可以从 https://github.com/pcduino/kernel 下载, 教程在http://www.pcduino.com/?p=957 。
然而, 有的时候,人们不希望完整的去从源代码开始编译内核, 而只是想编译一些驱动而已,而且不需要专门用另外一台PC来编译。

在这里我们描述如何如果在pcDuino上来编译你自己的驱动。

1. 安装 install pcduino-linux-headers-3.4.29+。

  1. $ sudo apt-get update && sudo apt-get install pcduino-linux-headers-3.4.29+
复制代码
说明:
你需要把你的pcDuino升级到 2013-05-31的版本。

2. 建立一个新目录, 写一个测试驱动。
  1. $ mkdir hello && cd hello && cat > hello.c << EOF
  2. #include <linux/init.h>
  3. #include <linux/module.h>

  4. static int pcduino_hello_init(void)
  5. {
  6.     printk("Hello, pcDuino\n");
  7.     return 0;
  8. }

  9. static void pcduino_hello_exit(void)
  10. {
  11.     printk("Bye, pcDuino\n");
  12. }

  13. MODULE_LICENSE("GPL");
  14. MODULE_AUTHOR("pcDuino Team");
  15. module_init(pcduino_hello_init);
  16. module_exit(pcduino_hello_exit);
  17. EOF
复制代码
写 Makerfile:
  1. $ cat > Makefile << EOF
  2. obj-m = hello.o
  3. EOF
复制代码
3. 编译然后运行测试驱动:
a. 编译:
  1. $ make M=`pwd` -C /usr/src/linux-headers-3.4.29+
复制代码
b. 加载驱动:
  1. $ sudo insmod hello.ko
复制代码
你可以看到调试信息:
  1. $ sudo dmesg | tail -n 1
  2. [ 1414.020000] Hello, pcDuino
复制代码
c. 卸载驱动:
  1. $ sudo rmmod hello.ko
复制代码
你可以看到调试信息:
  1. $ sudo rmmod hello.ko
复制代码


加载中
0
leo-H
leo-H
apt-get update 和 apt-get upgrade 之后,在安装install pcduino-linux-headers-3.4.29+时总提示“couldn't find regex by pcduino-linux-headers-3.4.29”,请问怎么解决呢?
摔不坏的罐子
摔不坏的罐子
应该是你的源不对,那个这个源http://www.wiimu.com链接不上了。需要看这个网站来改http://forum.linksprite.com/index.php?/topic/4714-new-packages-repository-for-pcduino/
0
pc朵拉
pc朵拉
你的板子没有联网
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部