1. 构建测试模块:hello1.1 在linux-3.4/drivers/下新建目录hellocd linux-3.4/drivers/
mkdir hello1.2 在hello/下新建hello.c Makefile Kconfig三个文件hello.c:#include <linux/module.h> //所有模块都需要的头文件
#include <linux/ini
转载
2024-07-15 20:19:51
287阅读
在嵌入式linux中EMMC和SD Card是比较常用的存储设备,我们记录一下使能一个MMC/SD控制器驱动的过程,基本可以在大多数soc上作为配置参考。第一步:menuconfig 老规矩,想使能一个驱动先把配置项搞定,使用命令make menuconfig:make menuconfi
转载
2024-04-30 00:00:06
805阅读
Linux开机加载驱动时,涉及到了initramfs文件中包含的驱动以及硬盘中包含的驱动两个部分;而系统启动后手动加载驱动时只会用到硬盘中的驱动库,与initramfs无关。首先介绍下initramfs文件生成的原理及流程,然后在介绍下开机加载的流程及本地验证步骤。 一、 initramfs文件生成原理 1、 镜像安装时生成initramfs文件 在安装镜像时,会去扫描所安装的服务器中在位的设备,
转载
2024-10-28 21:59:24
94阅读
因为在Ubuntu环境下写的文章和做的实验,没有安装linux下比较好用的截图工具,所以没有附带太多截屏,还望海涵,不过该描述的都到位了。 曾经还一直处于应用程序开发的我,以为驱动开发者是那么的厉害,以为只有牛人才能走到这一步,随着知识的积累,发现并非如此,驱动开发并不像想象中那么特别,俗话说术业有
1.写在前面 “24系列”的EEPROM,一般地我们认为是以i2c为通信接口的一系列串行EEPROM,各大半导体厂商出产的该系列EEPROM都遵循这个规则,而且电路和控制程序上也兼容。如AT24C02、ST24C02等。 EEPROM在嵌入式开发中使用广泛,在此之前,有总结过MCU下24系列EEPROM的驱动接口——“24系列EEPROM/FRAM通用接口”。根据该文章中的接口,作调整,使在嵌
转载
2024-08-20 20:53:33
181阅读
文章目录前言一、修改设备树文件1.1 添加pinctrl节点1.2 添加beep设备节点1.3 检查beep对应的pin脚是否被占用1.4 编译设备树1.5 将新的设备树文件烧录到开发板中1.6 重启后检查beep节点是否存在二、详细驱动程序2.1 驱动代码2.2 驱动Makefile代码2.3 编译三、详细应用测试代码3.1 应用代码3.2 应用程序编译四、测试4.1 拷贝beep.ko4.2
转载
2024-06-21 06:28:33
137阅读
使能 8 线 EMMC 驱动Linux 内核驱动里面 EMMC 默认是 4 线模式的,4 线模式肯定没有 8 线模式的速度快,所以将 EMMC 的驱动修改为 8 线模式。修改方法很简单,直接修改设备树即可,打开文件 imx6ull-mybsp-emmc.dts,找到如下所示内容:
gedit arch/arm/boot/dts/imx6ull-mybsp-emmc.dts
关键字:&
转载
2024-05-13 20:18:39
256阅读
最近在学习linux驱动的知识,虽然也写了个简单地led驱动,但整个驱动模块的概念还是很模糊,这篇博客就结合郑强老师的《linux驱动开发入门与实践》来梳理一下驱动模块的框架、体系。 声明:入门阶段以使用目的为主,并不过多涉及内核。一、驱动模块的组成如图所示,一个驱动模块由头文件、模块参数、模块功能函数、模块加载函数、模块卸载函数、模块许可声明组成,其中头文件、模块加载函数、模块卸载函数、模块许可
转载
2024-03-02 09:41:20
228阅读
misc 设备驱动简介 那么杂项设备驱动是属于我们 linux 三大设备驱动的哪一项呢? 由于linux 驱动倾向于分层设计, 所以每个具体的设备都可以找到它归属的类型, 从而可以套到它相应的架构里面去, 我们只需要实现它最底层的那部分。 但是也有部分字符设备, 确实不知道它属于哪种类型, 一般推荐大家采用 miscdevice 的框架结构。
转载
2024-06-03 22:46:20
134阅读
基于A5D36平台eMMC驱动分析,设备和驱动匹配之后调用atmci_probe。
原创
2023-03-20 10:19:27
1513阅读
目的:梳理ARM Linux驱动开发所需的环境和流程,记录遇到的问题。 环境介绍:pc机:编写驱动程序和测试代码服务器:编译驱动程序生成.ko文件,编译测试代码生成执行程序单板:jz2440 准备工作:linux内核:linux-2.6.22.6以及对应的补丁文件工具链:gcc version 3.4.5uboot:引导内核uImage:引导根文件系统根文件系统:运行应用程序在
转载
2023-12-18 13:00:26
178阅读
Linux系统已经成为许多嵌入式设备的首选操作系统,而在嵌入式设备中,u-boot作为引导加载程序起到了至关重要的作用。同时,eMMC作为一种存储介质也越来越受到了广泛的应用。
在嵌入式设备中,u-boot作为引导加载程序,负责引导Linux内核的启动。对于采用eMMC存储介质的设备来说,u-boot中的eMMC驱动显得尤为重要。eMMC(embedded Multi-Media Card)是一
原创
2024-04-22 10:24:41
167阅读
V4l2框架简述1 硬件常用的电脑摄像头是USB接口,主流的智能手机摄像头是MIPI接口,另外还有像树莓派等硬件使用的CSI接口的设备。常用的智能手机Camera采用的MIPI接口,电路框架以及电路图如下Camera传感器分前后两个,分别为前置摄像头和后置摄像头,两个camera都挂载在i2c总线上。2 软件linux设备文件在linux中,所有的外设都被当做“文件”处理,就是我们常说的“设备文件
由于我的工作与sd/emmc存储相关,所以在接下来的分析重启的过程中,如果有涉及到该部分的流程,或者我认为有可能但是还没确认的流程,我都会贴上来;如果与其无关,我会略过,敬请谅解; 一、kernel_restart 废话不说,从reboot函数的kernel_restart函数开始,代码如下: /**
* kernel_restart - reboot the system
* @cmd:
转载
2024-04-23 15:16:53
60阅读
一 回忆昨天的昨天的内容
作业:
ROM:只读存储器
PROM:只能写入一次
EPROM:光可擦除
EEPROM: 电可擦除
norfalsh:片内执行
nandflash:片内执行,速度快
EMMC二. 移植Linux操作系统
2.1 烧录uboot
mkdir porting
cp ubootpak.bin ./2.2 将Uboot烧录到TF卡中
2.2.1
转载
2024-03-26 08:39:40
454阅读
学习地址:http://edu.51cto.com/lesson/id-63015.html 1、用 USB 下载 比较方便2、用 SD 卡 更新产品 程序,有时候 会 比较 方便一点3、我的S5PV210 开发板 有个 拨码开关,拨到USB 启动 或者 EMMC 启动4、选择EMMC启动 会首先从 SD 的通道0(已经接了EMMC 芯片 ) 启动,如果通道0启动
转载
2024-04-19 17:25:50
160阅读
对于linux 的根文件系统,目前有三种块设备的驱动可以选择,它们都可以用来包含根文件系统。分别是:a) Blkmem 驱动b) MTD 驱动c) RAM disk 驱动 Blkmem 驱动是专门为嵌入式linux 开发的一种块设备驱动,它是嵌入式linux系统中最为古老和通用的块设备驱动。它原理相对简单但是配置比较复杂,需要
转载
2024-07-04 20:50:09
59阅读
修改Linux内核添加Air72X 4G模块支持这话从何说起呢,还是疫情之前吧,那会合宙刚刚推出Air724模块,脑子一热,团购了一个,以为没团上,然后小号又团了一次,然后就有了两个了。然后和囤积的大多数东西一样没有然后了 。类似这款,但是显然比他早。最近有个需求用上了,所以寻思用一下,结果发现竟然不行,原因么应该是因为Linux内核太老了,我这里有个树莓派4代,直接插上USB也是不行的,但是更新
转载
2024-04-06 08:58:50
35阅读
1、 linux 内核模块简介内核整体结构非常庞大,其包含的组件也非常多。我们怎么把需要的部分都包含在内核中呢?一种办法是把所有的需要的功能都编译到内核中。这会导致两个问题,一是生成的内核会很大,二是如果我们要在现有的内核中新增或删除功能,不得不重新编译内核,工作效率会非常的低,同时如果编译的模块不是很完善,很有可能会造成内核崩溃。 提供了另一种机制来解决这个问题,这
转载
2024-04-28 09:28:18
542阅读
使能 8 线 EMMC 驱动Linux 内核驱动里面 EMMC 默认是 4 线模式的,4 线模式肯定没有 8 线模式的速度快,所以将 EMMC 的驱动修改为 8 线模式。修改方法很简单,直接修改设备树即可,打开文件 imx6ull-mybsp-emmc.dts,找到如下所示内容:gedit arch/arm/boot/dts/imx6ull-mybsp-emmc.dts关键字:&usdhc
转载
2024-06-21 22:20:41
140阅读