
设备树
乱世半仙
人生最大的悲哀莫过于坚持了不该坚持的,放弃了不该放弃的
展开
-
设备树学习(五)(中断的使用)
一、dts描述中断下面是一个buttons的中断的描述,描述的规则下图都有介绍,设备树中的中断描述先关的都是硬件相关的二 、驱动程序中获取软件中断号设备树中的buttons节点将会转化为一个platform_device结构体,我们可以使用platform_get_resource()函数来获取软件中断号,然后使用该中断号申请注册一个中断程序。...原创 2020-11-02 17:50:53 · 336 阅读 · 0 评论 -
设备树学习(四)(uboot对设备树的支持)
一、uboot怎么传入设备树到内核这个比较简单,我们知道在启动内核的时候,需要把设备树的地址写到R2寄存器中,但是怎么写到R2寄存器?a. u-boot中内核启动命令:bootm <uImage_addr> // 无设备树,bootm 0x30007FC0bootm <uImage_addr> <initrd_addr> <dtb_addr> // 有设备树比如 :nand read.jff原创 2020-10-21 18:07:22 · 1441 阅读 · 0 评论 -
设备树学习(三)(内核对设备树的处理,重要部分)
前言:这篇文章主要分析内核对设备树的处理,即怎么生成了最后的设备节点。**Linux uses DT data for three major purposes:platform identification, 平台识别信息runtime configuration, and 运行时配置信息device population. 设备信息**一、head.S对设备树文件的简单处理bootloader启动内核时,会设置r0,r1,r2三个寄存器,r0一般设置为0;r1一般设置为machine原创 2020-10-21 16:44:54 · 763 阅读 · 1 评论 -
设备树学习(二)(设备树的规范)
前言:本章介绍.dts与.dtb文件规范一、dts文件解析1.1 dts文件布局/dts-v1/;[memory reservations] // 格式为: /memreserve/ <address> <length>;/ { model = "xxx"; compatible = "xxx"; #address-cells = <x>; #size-cells = <x>; [property definitions]原创 2020-10-20 17:22:54 · 472 阅读 · 0 评论 -
设备树学习(一)( 设备树的引入)
前言:设备树在目前驱动的开发中起着非常重要的作用,需要透彻了解,所以这里写篇文章,用来记录学习过程。1、设备树的引入1.1 字符设备驱动的三种写法(1)传统的写法一开始学习驱动的时候,要写一个LED的驱动程序,一般都会使用最传统的方法来写,即只有一个led_drv.c程序,该程序里面在file_ops结构体中的open函数中,我们会配置LED所对应的引脚为输出引脚,然后会在write函数中对引脚的高低电平做改变,但是这样的话,如果我们还有一个其他的设备,里面也有一个LED灯需要一个驱动程序的话,由于原创 2020-10-20 09:52:28 · 706 阅读 · 1 评论