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
相关推荐
小白跃升坊1 天前
基于1Panel的AI运维
linux·运维·人工智能·ai大模型·教学·ai agent
跃渊Yuey1 天前
【Linux】线程同步与互斥
linux·笔记
杨江1 天前
seafile docker安装说明
运维
舰长1151 天前
linux 实现文件共享的实现方式比较
linux·服务器·网络
好好沉淀1 天前
Docker开发笔记(详解)
运维·docker·容器
zmjjdank1ng1 天前
Linux 输出重定向
linux·运维
路由侠内网穿透.1 天前
本地部署智能家居集成解决方案 ESPHome 并实现外部访问( Linux 版本)
linux·运维·服务器·网络协议·智能家居
树℡独1 天前
ns-3仿真之应用层(三)
运维·服务器·ns3
VekiSon1 天前
Linux内核驱动——基础概念与开发环境搭建
linux·运维·服务器·c语言·arm开发
zl_dfq1 天前
Linux 之 【进程信号】(signal、kill、raise、abort、alarm、Core Dump核心转储机制)
linux