Linux驱动开发重要操作汇总

本文主要记录imx6ull的linux驱动开发过程中常用的一些操作。

uboot编译

前提是打开UBOOT顶层的Makefile文件,直接给 ARCH 和CORSS_COMPILE 赋值:

也就是加上这两句

objectivec 复制代码
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

直接输入交叉编译工具链的可执行路径。

之后即可使用简易的编译指令

复制代码
make distclean

make mx6ull_14x14_evk_emmc_defconfig

make V=1 -j4

如何SD卡烧录uboot

参考这篇文章里的代码烧写部分

I.MX6U裸机-汇编LED灯实验_mdk i.mx6-CSDN博客

sd卡启动方式拨码如下:

烧写命令如下:

复制代码
./imxdownload u-boot.bin /dev/sdd

注意,要烧写到自己的sd卡中,不能烧写到/dev/sda 或 sda1 里面

kernel编译

修改顶层 Makefile,直接在顶层 Makefile 文件里面定义 ARCH 和 CROSS_COMPILE 这两个的变量值:

复制代码
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-

因为我的系统中有两个交叉编译工具链,所以需要用绝对路径指定要用的是哪一个。

结果如下图所示:

注释掉之前的,然后分别设置了 ARCH 和 CROSS_COMPILE 这两个变量的值,这样在编译的时候就不用输入很长的命令了。

之后执行如下命令来编译

第一次编译 Linux 内核之前先清理一下

复制代码
make clean

配置 Linux 内核

复制代码
make imx_v7_mfg_defconfig
相关推荐
Fcy64840 分钟前
Linux下 进程(一)(冯诺依曼体系、操作系统、进程基本概念与基本操作)
linux·运维·服务器·进程
袁袁袁袁满42 分钟前
Linux怎么查看最新下载的文件
linux·运维·服务器
代码游侠1 小时前
学习笔记——设备树基础
linux·运维·开发语言·单片机·算法
Gary Studio1 小时前
rk芯片驱动编写
linux·学习
mango_mangojuice1 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
Harvey9031 小时前
通过 Helm 部署 Nginx 应用的完整标准化步骤
linux·运维·nginx·k8s
珠海西格电力科技2 小时前
微电网能量平衡理论的实现条件在不同场景下有哪些差异?
运维·服务器·网络·人工智能·云计算·智慧城市
A星空1232 小时前
一、Linux嵌入式的I2C驱动开发
linux·c++·驱动开发·i2c
释怀不想释怀3 小时前
Linux环境变量
linux·运维·服务器
zzzsde3 小时前
【Linux】进程(4):进程优先级&&调度队列
linux·运维·服务器