如何编译一个linux下的驱动模块

如何编译一个linux下的驱动模块,第1张

linux下编译运行驱动
嵌入式linux下设备驱动的运行和linux x86 pc下运行设备驱动是类似的,由于手头没有嵌入式linux设备,先在vmware上的linux上学习驱动开发。
按照如下方法就可以成功编译出hello world模块驱动。
1、首先确定本机linux版本
怎么查看Linux的内核kernel版本
'uname'是Linux/unix系统中用来查看系统信息的命令,适用于所有Linux发行版。配合使用'uname'参数可以查看当前服务器内核运行的各个状态。
#uname -a
Linux whh 350-19-generic #30-Ubuntu SMPTue Nov 13 17:49:53 UTC 2012 i686 i686 i686 GNU/Linux

只打印内核版本,以及主要和次要版本:
#uname -r
350-19-generic

要打印系统的体系架构类型,即的机器是32位还是64位,使用:
#uname -p
i686

/proc/version 文件也包含系统内核信息:
# cat /proc/version
Linux version 350-19-generic(buildd@aatxe) (gcc version 472 (Ubuntu/Linaro 472-2ubuntu1) ) #30-UbuntuSMP Tue Nov 13 17:49:53 UTC 2012

发现自己的机器linux版本是:350-19-generic
2、下载机器内核对应linux源码
到下面网站可以下载各个版本linux源码>mknod /dev/leds_device c 210 0 //创建设备结点,主设备号是210,次设备号是0
insmod /home/ims_app/lpc32xx_led_moduleko//挂载驱动
udpsvd -vE 0 69 tftpd -c /home/app &//busybox内置的tftpd服务器的配置
// 上面的0表示对所有ip地址都进行侦听
// 如果设置为127001那么只能开发板本地arm可以进行ftp
// 比如开发板eth0的的ip地址设为1921681102,那么就不能通过该ip登录
// 所以上面指定ip等于0,那么无论来自127001还是1921681102网络地址的
// 数据都能使用tftpd服务器
// 参数-c表示允许client客户端上传文件到/home/tftpd
telnetd//启动服务器

楼主可以去找些busybox tftp 服务器配置的相关资料去看一下,希望对你有帮助。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13444147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-08-07
下一篇 2023-08-07

发表评论

登录后才能评论

评论列表(0条)

保存