首页 > 编程知识 正文

linux tar命令详解,任务驱动法的几个步骤

时间:2023-05-05 09:03:24 阅读:135615 作者:1710

Linux驱动程序开发准备流程首先,在SD卡上刻录uboot,选择SD作为启动项目,启动uboot。 二、用TFTP网络挂载Linux内核镜像、挂载设备树文件三、用nfs挂载根文件系统四、进行简单的驱动程序开发测试

前言

长时间断断续续的学习,一直没有时间整理,现在又是正月,所以想把之前学过的庞杂的东西整理一下。 以下内容不是教程。 读者不能对照着做。 只是自己挖洞的树枝。 正点原子的Linux驱动开发教程需要选择性学习,尽快利用其硬件平台达到自己的学习目的。 如果你跟随他们的步伐,很多人最终会放弃学习。 因为内容太细太麻烦,所以和其他老师的视频教程相比,缺乏整体的把握。 道和术偏向后者。 在学习过程中,自己在干什么

另一方面,在SD卡上刻录uboot,选择SD作为启动项目,启动uboot。 使用SDFormatter格式化SD卡,以避免SD卡以前烧过文件系统、内核、设备树等文件。

在ubuntu20.04 LTS环境中编译了uboot。 使用mx6ull_alientek_uboot.sh脚本文件。 其中集成了以下make命令:

#! /sdzm/bashmakearch=arm cross _ compile=arm-Linux-gnueabihf-distcleanmakearch=arm cross _ compile=arm-Linux-gnueabix 安装J12ls/dev/SD*查询SD卡,使用./imxdownloadu-boot.sdzm/dev/dev /

为了支持NXP的imx6ull启动方式,使用imxdownload脚本将IVT、boot data和DCD添加到u-boot.sdzm的头部。

使用MobaXterm观察串行端口的打印信息。 固定ubuntu主机地址192.168.1.250,设置开发板uboot的ip信息。

setenv IP addr 192.168.1.249 setenvethaddr (复制Ubuntu的ethaddr并修改最后一个位) setenvgatewayip 192.168.1.1 setenv net masmaset

二.用TFTP网络挂载Linux内核镜像,在设备树文件中设置bootargs和bootcmd环境变量,从TFTP网络启动Linux内核。

setenv bootargs ' console=tty mxc 0,115200 root=/dev/MMC bl k1 p2 rootwaitrw ' setenv bootcmd ' TFTP 8080000 zimage; TFTP 83000000 imx6u ll-14x 14-emmc-4.3-800 x480-c.dtb; bootz 80800000 - 83000000'saveenv将测试nfs网络是否正常,并从nfs网络启动linux内核,为根文件系统的网络挂载做准备。

setenv bootcmd ' NFS 80800000192.168.1.250:/home/HL/Linux/NFS/zimage; NFS 83000000192.168.1.250:/home/HL/Linux/NFS/imx 6u ll-14x 14-emmc-4.3-800 x480-c.dtb; bootz 80800000 - 83000000'saveenv

三、使用nfs挂载根文件系统并修改bootcmd环境变量,将开发板切换到TFTP网络引导,修改bootargs环境变量,设置为在开发板上通过nfs挂载文件系统。

setenv bootargs ' console=tty mxc 0,115200 root=/dev/NFS NFS root=192.168.1.2503360/home/HL/Linux/NFS/root

四.进行简单驱动程序开发测试的设备树文件. dts需要事先添加子节点,编译生成. dtb,linux开发板从tftp启动时更换新的设备树文件。

modprobe加载. ko驱动程序文件,如果modprobe x.ko不行,则尝试使用modprobe x。 insmod也一样。

depmod解决依赖关系。

rmmod卸载模块。

cat /proc/devices显示节点设备。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。