随笔分类 - 嵌入式linux
摘要:目录 1、usb硬件框架 2、linux的usb驱动的软件框架(总线部分负责的工作、设备驱动部分负责的工作) 3、usb设备插入usb主机到进入usb设备驱动probe函数的大致流程 4、以usb鼠标为例说明usb设备驱动怎么和usb设备通信 5、以鼠标驱动为例说明怎么编写一个usb设备驱动程序 1
阅读全文
摘要:目录 1. spi驱动框架简要描述 2. 通过编写itop4412开发板rfid接口的spi驱动来熟悉spi驱动的编写 1. spi驱动框架简要描述 如上图所示,spi硬件架构中,一个spi控制器可以同时接多个spi外设,通信时通过片选脚来选择和某个spi外设通信。 如上图,在linux内核中,将s
阅读全文
摘要:1、input子系统框架介绍 2、编写按键驱动程序,通过input子系统将按键信息上发到应用层 1、input子系统框架介绍 input子系统是内核专门针对输入类设备实现的管理框架,input子系统中已经事先定义了各类设备可能产生的各类事件,比如针对鼠标类设备,input子系统定义了左键按下、右键按
阅读全文
摘要:Linux内核版本:4.14.2 本文基于itop4412开发板,编写驱动程序响应HOME按键中断,编写这个按键驱动程序需要做如下几个工作: 1. 在原理图中确定HOME按键的引脚 2. 在设备树文件中添加节点描述HOME引脚 3. 重新编译烧写设备树 4. 编写驱动程序,调用设备树接口函数获取HO
阅读全文
摘要:linux内核版本:4.14.2 内核把所有的字符设备驱动放在一个长度为255的数组中统一管理。每一个数组元素标识一个字符设备驱动,数组元素主要包含两个内容:设备号(包括主设备号和次设备号)和file_operations结构体。数组下标直接对应主设备号,因此,主设备号相同的字符设备驱动只能有255
阅读全文
摘要:根文件系统制作过程大致分为两步: 1)用busybox构建基本的框架 2)添加必要目录及文件,比如etc目录及目录中的配置文件 内核挂载根文件系统到进入命令行的过程: 1)内核找到根文件系统路径后,首先加载运行init参数指定的进程1,如init=/linuxrc,运行根文件系统中的/linuxrc
阅读全文
摘要:按照以下思路大概总结下对linux内核4.14.2总体框架的认识 1、内核是由哪些文件组成的 2、内核的编译体系是怎么样的,是怎么编译链接起来的 3、内核的启动流程,在启动过程中大致做了哪些工作 4、通过对exynos4412开发板上移植linux内核4.14.2验证上述分析 5、编译出uImage
阅读全文
摘要:本文只是熟悉uboot的框架和配置编译加载运行流程,对于板级驱动的修改直接复制讯为移植好的uboot。 下面对移植过程做个记录。 通过熟悉itop4412 uboot2015启动时的内存分布和源码初始化流程,大致可以确定移植步骤大概如下: 一. 首先我们需要针对itop4412开发板,先将uboot
阅读全文
摘要:itop4412的uboot-2015版本分为两个部分编译(对应uboot执行的两个阶段),两个阶段使用同一套代码,使用不同的Makefile编译,在编译时通过CONFIG_SPL宏选择代码编译。第一阶段称为SPL阶段,这个阶段主要负责核心板内部的初始化工作,主要包括cpu、时钟频率、串口以及DRA
阅读全文
摘要:本文分析itop4412开发板在uboot引导启动阶段,程序在各存储介质的分布情况,为理解uboot代码框架提供基础。以uboot2015为例,以外部SD/MMC作为启动介质。 目录 一、itop4412-uboot2015镜像文件组成 二、itop4412-uboot启动流程 1>> 开机运行iR
阅读全文