第一个驱动程序
创始人
2024-05-24 12:52:07
0

首先,需要有一个内核源码,并且编译配置

驱动程序的头文件依赖于内核,所以写驱动程序时候要使用内核,是编译后的内核。

内核是需要配置的,比如链接文件。到底是asm-arm还是asm-x86,内核用的是哪一个具体相关的架构目录,需要配置内核。

步骤:

1、配置编译内核、设备树、其它驱动程序

2、编译后的第一步东西放到板子上,

3、编译测试我们第一个驱动

一、内核编译命令:

cd 内核目录

make 100ask_imx6ull_defconfig   //确定是给arm编译,还是给X86编译

make zImage -j4   //编译内核  -j4加快编译速度

make dtbs   //编译设备树

cp arch/arm/boot/zImage ~/nfs_rootfs    //zImage拷贝到nfs目录备用    位置

cp arch/arm/boot/dts/100ask_imx6ull-14x14.dtb ~/nfs_rootfs       //拷贝设备树文件备用  位置

make modules     //编译模块驱动程序

make ARCH=arm INSTALL_MOD_PATH=/home/book/nfs_rootfs modules_install    //拷贝模块驱动备用,安装内核模块到某个目录下

最后nfs_rootfs目录文件如下

root@wandzhang-virtual-machine:/home/book/nfs_rootfs# ls
01_hello  100ask_imx6ull-14x14.dtb  lib  test  zImage

------------------------------------------------------------------------

make clean //第一次编译 Linux 内核之前先清理一下 make imx_v7_mfg_defconfig                        //这是的 配置 Linux4.1.15 内核 //配置 Linux 内核

二、最后需要拷贝到开发板上的文件

1、zImage   2、100ask_imx6ull-14x14.dtb设备树   3、 modules

root@wandzhang-virtual-machine:/home/book/nfs_rootfs# cd lib/
root@wandzhang-virtual-machine:/home/book/nfs_rootfs/lib# ls
firmware  modules

拷贝到板子上步骤:
1.查看开发板内核版本

uname -a
Linux ATK-IMX6U 4.1.15-g3dc0a4b #1 SMP PREEMPT Thu Aug 18 09:27:40 CST 2022 armv7l armv7l armv7l GNU/Linux
可以看出版本是4.1.15 ,不是4.88所以这会有问题

2.挂载网络文件系统

3.把文件复制到开发板

mount -t nfs -o nolock,vers=3 192.168.5.11:/home/book/nfs_rootfs /mnt

cp /mnt/zImage /boot

cp /mnt/100ask_imx6ull-14x14.dtb /boot

cp /mnt/lib/modules /lib -rfd    //开发板有lib目录,所以要覆盖掉原来目录,-r递归复制,f强制复制,d复制链接文件依然做为链接文件,减少空间ok

sync

4.重启开发板

reboot

  5.查看版本,内核更新时间

uname -a

----------------------------


root@ATK-IMX6U:/test# ls
imx6ull-14x14-evk.dts  lib  zImage
root@ATK-IMX6U:/test# cp zImage /boot/
root@ATK-IMX6U:/test# cp imx6ull-14x14-evk.dts /boot/
root@ATK-IMX6U:/test# cp lib/modules /lib/ -rfd
root@ATK-IMX6U:/test# sync
 

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...