Linux驱动程序开发环境的快速搭建

进行Linux驱动开发,首先要搭建开发环境,比如虚拟机的安装,ubuntu的安装配置,各种软件开发环境如vscode的安装等。基本的开发环境完成了,还需要学习并移值uboot,Linux内核,设备树,根文件系统。

本文跳过了uboot,Linux内核,设备树,根文件系统的学习和移植。利用正点原子的提供的教程系统镜像来快速搭建驱动程序开发环境。

1、uboot烧写到SD卡

未插入SD,在ubuntu里输入命令:

ls -l /dev/sd*

然后插入SD卡,仍输入上面的命令,找到新出现的sd*,笔者找到是sdb这个新设备。

然后copy教程镜像里的u-boot.bin(注意有V2.4硬件版本前后的区别)到ubuntu系统(用FileZilla),目标目录~/linux/uboot/alientek_uboot 。

继续执行下面的命令将u-boot.bin写入到SD卡:

chmod 777 imxdownload

./imxdownload u-boot.bin /dev/sdb

完成烧写后退出SD卡。将SD卡插入到开发板,将启动拨码开关设置为从SD卡启动,上电后就可进入uboot启动界面了。

2、linux内核镜像及设备树

在ubuntu上建立tftpboot文件夹:/home/bobluo/linux/tftpboot, 把imx6ull-alientek-emmc.dtb和zImage用FTP传过来(我用的文件是阿尔法V2.4版本及以后和miniV2.2及以后的底板\02、kernel镜像)。

开发板上电后在倒计时前按任意键停止启动,修改环境变量bootcmd如下:

setenv bootcmd 'tftp 80800000 zImage;tftp 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000'

saveenv

上面的setenv一定要注意空格,特别是bootz 80800000 - 83000000 ,空格一定要敲够,否则启动后就会停在Starting kernel ...

另外注意I.MX6U开发板是可以ping通ubuntu的,而反向不可以,因为uboot对ping没有做回应。

ping 192.168.10.222

Using FEC1 device

host 192.168.10.222 is alive

3、根文件系统

根文件系统放到nfs,所以在ubuntu建目录/home/bobluo/linux/nfs/rootfs,把文件系统\02、busybox-1.29.0根文件系统用FTP传过来。

修改uboot的环境变量如下:

setenv bootargs 'console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.10.222:/home/bobluo/linux/nfs/rootfs,proto=tcp rw ip=192.168.10.50:192.168.10.222:192.168.10.1:255.255.255.0::eth0:off'

saveenv

4、开发板重启验证

直接上图

参考资料:

  1. I.MX6U 嵌入式 Linux 驱动开发指南 V2.0.1 正点原子
相关推荐
无奈笑天下14 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
Rabitebla17 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
坤坤子吖21 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
AI_Gump21 小时前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek
星恒随风1 天前
MySQL 从零入门(六):复合查询详解——多表查询、自连接、子查询与 UNION
linux·服务器·数据库·mysql
少司府1 天前
嵌入式入门篇(二):初识STM32F103ZET6
linux·python·stm32·单片机·嵌入式硬件·mcu·嵌入式软件
无足鸟ICT1 天前
【RHCA+】IO调度算法
linux·服务器
wacsii1 天前
【Linux进程(四)】命令行参数与环境变量
linux·服务器
无奈笑天下1 天前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
科研邪修法1 天前
培训PDF保护配置:把需求转换成可验收权限
linux·服务器·网络