03 2023 档案
摘要:一、介绍 1.1 为什么引入设备树 我们首先回顾一下我们之前学习过的驱动程序。比如: linux驱动移植-lcd驱动基础;在arch/arm/plat-samsung/devs.c文件中定义了platform设备s3c_device_lcd,在arch/arm/mach-s3c24xx/mach-s
阅读全文
摘要:内核版本:linux 5.2.8 根文件系统:busybox 1.25.0 u-boot:2016.05 一、printk介绍 我们在学习C语言的时候,经常使用printf函数将内容输出到控制台,printf是格式化输出函数,主要功能是向标准输出设备按规定格式输出信息。printf是C语言标准库函数
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 一、RTC框架 1.1 RTC概述 RTC,英文全称Real Time Clock,中文就是实时时钟,是一个可以为系统提供精确的时间基准的元器件,主要是用来计时,产生闹钟等。 RTC一般可以使用备份
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 一、UART驱动框架 UART设备驱动框架如下图所示,下图是来自其他博客,仅供参考: 上图展示了四种注册UART设备驱动的方式,分别为case A到case D,这张图主要由4个部分组成: char
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 一、终端(tty) 1.1 回顾 还记的在Mini2440之uboot移植流程之linux内核启动分析(六)小节中,我们介绍过u-boot在启动linux之前,需要做一些准备工作,比如配置启动参数:
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 这一节我们来分析Mini2440 GPIO控制器驱动的源码,由于GPIO控制器驱动比较简单,所以这一节内容相对来说也是比较少的。 GPIO控制器驱动编写主要包含两个步骤: 为SoC的每个GPIO控制
阅读全文
摘要:内核版本:linux 5.2.8根文件系统:busybox 1.25.0u-boot:2016.05 一、GPIO子系统 1.1 GPIO概述 GPIO(General purpose input/putput)也就是通用输入/输出口,片上系统 (SoC) 处理器对 GPIO 有很大的依赖。在某些情
阅读全文