- 博客(35)
- 资源 (13)
- 收藏
- 关注
原创 11.网络设备驱动介绍
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《linux驱动开发-第11部分-5.11.网络设备驱动介绍》第一部分、章节目录5.11.1.网络设备驱动概述5.11.2.虚拟网卡驱动分析15.11.3.虚拟网卡驱动分析25.11.4.DM9000驱动源码分析15.11.5.DM9000驱动源码分析2第二部分、章节介绍5.11.1.网络设备驱动概述本节对网络设备驱动做个概要描述,主要是讲了这种驱动模型和字符设备块设备的区别,最后讲了下本部分
2021-07-08 08:48:28
420
原创 10.块设备驱动介绍
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第10部分-5.10.块设备驱动介绍》第一部分、章节目录5.10.1.正确理解块设备驱动的概念5.10.2.块设备驱动框架简介5.10.3.块设备驱动案例分析15.10.4.块设备驱动案例分析25.10.5.块设备驱动案例分析3第二部分、章节介绍5.10.1.正确理解块设备驱动的概念本节着重讲块设备驱动和字符设备驱动的差异,并且讲了扇区、块、页等块设备驱动中重要搞的概
2021-07-07 15:24:13
218
原创 9.触摸屏驱动(IIC)移植实战
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第9部分-5.9.触摸屏驱动移植实战》第一部分、章节目录5.9.1.触摸屏驱动概览5.9.2.内核中的竞争状态和互斥15.9.3.内核中的竞争状态和互斥25.9.4.中断的上下半部15.9.5.中断的上下半部25.9.6.linux内核的I2C子系统详解15.9.7.linux内核的I2C子系统详解25.9.8.linux内核的I2C子系统详解35.9.9.linux
2021-07-07 15:20:39
3845
1
原创 8.input设备(input子系统)驱动
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第5部分-5.8.input子系统基础之按键》第一部分、章节目录5.8.1.什么是input子系统5.8.2.input设备应用层编程实践15.8.3.input设备应用层编程实践25.8.4.input子系统架构总览15.8.5.input子系统架构总览25.8.6.输入核心层源码分析15.8.7.输入核心层源码分析25.8.8.输入事件驱动层源码分析5.8.9.输
2021-07-07 15:18:33
2270
2
原创 7.framebuffer驱动详解
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第7部分-5.7.framebuffer驱动详解》第一部分、章节目录5.7.1.framebuffer介绍5.7.2.framebuffer应用编程实践15.7.3.framebuffer应用编程实践25.7.4.framebuffer应用编程实践35.7.5.framebuffer驱动框架总览5.7.6.framebuffer驱动框架分析1第二部分、章节介绍5.7.
2021-07-07 15:17:11
574
原创 6.misc类设备与蜂鸣器驱动(PWM)
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第6部分-5.6.misc类设备与蜂鸣器驱动》第一部分、章节目录5.6.1.板载蜂鸣器驱动测试5.6.2.misc类设备介绍5.6.3.misc驱动框架源码分析15.6.4.misc驱动框架源码分析25.6.5.蜂鸣器驱动源码分析15.6.6.蜂鸣器驱动源码分析2第二部分、章节介绍5.6.1.板载蜂鸣器驱动测试本节使用内核中提供的蜂鸣器驱动来实践测试蜂鸣器,要同时解
2021-07-07 15:15:40
510
原创 5.linux platform总线驱动
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第5部分-5.5.linux设备驱动模型》第一部分、章节目录5.5.1.linux设备驱动模型简介5.5.2.设备驱动模型的底层架构5.5.3.总线式设备驱动组织方式5.5.4.platform平台总线简介15.5.5.platform平台总线工作原理25.5.6.platform平台总线工作原理35.5.7.平台总线实践环节15.5.8.平台总线实践环节25.5.9
2021-07-07 15:13:53
235
原创 4.驱动框架入门之LED
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第4部分-5.4.驱动框架入门之LED》第一部分、章节目录5.4.1.何谓驱动框架5.4.2.内核驱动框架中LED的基本情况5.4.3.初步分析led驱动框架源码15.4.4.初步分析led驱动框架源码25.4.5.在内核中添加或去除某个驱动5.4.6.基于驱动框架写led驱动15.4.7.基于驱动框架写led驱动25.4.8.基于驱动框架写led驱动35.4.9.l
2021-07-07 15:11:22
422
原创 3.字符设备驱动高级
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第3部分-5.3.字符设备驱动高级》第一部分、章节目录5.3.1.注册字符设备驱动新接口15.3.2.注册字符设备驱动新接口25.3.3.注册字符设备驱动新接口35.3.4.注册字符设备驱动新接口45.3.5.字符设备驱动注册代码分析15.3.6.字符设备驱动注册代码分析25.3.7.自动创建字符设备驱动的设备文件5.3.8.设备类相关代码分析15.3.9.设备类相关
2021-07-07 15:05:38
242
1
原创 2.字符设备驱动基础
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第2部分-5.2.字符设备驱动基础》第一部分、章节目录5.2.1.开启驱动开发之路5.2.2.最简单的模块源码分析15.2.3.最简单的模块源码分析25.2.4.最简单的模块源码分析35.2.5.用开发板来调试模块5.2.6.字符设备驱动工作原理15.2.7.字符设备驱动工作原理25.2.8.字符设备驱动代码实践15.2.9.字符设备驱动代码实践25.2.10.应用
2021-07-07 14:59:01
148
原创 1.驱动基本概念
转自 https://edu.youkuaiyun.com/lecturer/505 朱老师物联网大讲堂《5.linux驱动开发-第1部分-5.1.驱动应该怎么学》第一部分、章节目录5.1.1.什么是驱动15.1.2.什么是驱动25.1.3.模块化设计5.1.4.linux设备驱动分类5.1.5.驱动程序的安全性要求5.1.6.驱动应该这么学第二部分、章节介绍5.1.1.什么是驱动1本节首先讲解驱动部分整个课程规划,然后讲述第1个课程的整体规划。5.1.2.什么是驱动2本节从4个层面解释驱
2021-07-07 14:39:12
981
原创 Linux设备树
基本数据格式设备树是一个包含节点和属性的简单树状结构。属性就是键-值对,而节点可以同时包含属性和子节点。例如,以下就是一个 .dts 格式的简单树:/{node1 { a-string-property = "A string"; a-string-list-property = "first string", "second string"; a-byte-data-property = [0x01 0x23 0x34 0x56];...
2021-05-31 16:45:37
345
转载 反编译class文件,一种最简单方法(转载)
今天突然需要反编译一下以前的一个class文件,确定一下是否与源码一种,在网上找了一些方法,发现比较复杂。自己无意间发现的一种简单方法,分享给大家。就是把class文件,拖拽到IntelliJ IDEA工具中,IntelliJ自动反编译为Java文件。其效果如下:转载自https://blog.youkuaiyun.com/jlq_diligence/article/details/89479683...
2020-11-28 12:21:56
252
转载 USB的挂起和唤醒 (Suspend and Resume)
USB协议的第9章讲到USB可见设备状态[Universal Serial Bus Specification, Section 9.1.1, Pg 239],分为连接(Attached),上电(Powered),默认(Default),地址(Address),配置(Configured)和挂起(Suspended)6个状态。所谓可见,即USB系统和主机可见的状态,其他状态属于USB设备内部而不可...
2018-12-29 08:44:50
1266
转载 USB基本知识
一、USB硬件介绍1.1、概述 一条USB传输线分别由地线、电源线、D+和D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500mA(可以在编程中设置)。 USB设备可以直接和HOST通信,或者通过Hub和Host通信。一个USB系统中仅有一个USB 主机,设备包括USB...
2018-12-26 14:11:55
1891
转载 USB协议
目录 Ⅰ USB总线接口 1 USB接口标准 2 USB总线信号 3 USB数据编解码和位填充 4 USB拓扑结构 5 USB逻辑部件 Ⅱ USB设备 1 USB设备供电方式 2 USB设备插入检测机制 3 USB设备状态 4 USB设备枚举过程 5 U...
2018-12-24 11:51:39
578
转载 双向链表基本操作
双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。 为了练习,我这次设置了哨兵结点,哨兵结点,我个人理解就是我们一般意义上的头结点(是链表的一个附加结点,数据域不存储任何信息的),只不过是链表的两端都放了一个,所以形象的称之为“哨兵”。所以和单链表的基本操作
2017-12-26 23:04:16
178
转载 单向链表基本操作
//////////////////////////////////////////// //单链表的初始化,建立,插入,查找,删除。// //Author:Wang Yong // //Date: 2010.8.19 // ////////////////////////
2017-12-26 22:56:58
226
转载 ARMv8-a架构简介
1. 前言ARMv8(当前只有A系列,即ARMv8-A)架构,是ARM公司为满足新需求而重新设计的一个架构,是近20年来,ARM架构变动最大的一次。它引入的Execution State、Exception Level、Security State等新特性,已经和我们对旧的ARM架构的认知,有很大差距了。因此,本文从ARMv8-A产生的背景开始,对它进行一个简单的介绍,使大家从整体
2017-12-10 19:43:40
16457
1
转载 32位ARM处理器的几种工作模式和工作状态
转载地址:http://blog.chinaunix.net/uid-28458801-id-3494646.htmlARM处理器工作模式一共有 7 种 :USR 模式 正常用户模式,程序正常执行模式FIQ模式(Fast Interrupt Request) 处理快速中断,支持高速数据传送或通道处理IRQ模式 处理普通
2017-12-10 18:52:29
8809
原创 UBOOT timer设置(基于S3C2440)
UBOOT TIMER设置(基于mini2440)1. 相关代码代码路径:cpu\arm920t\s3c24x0\timer.c函数:int timer_init(void){struct s3c24x0_timers *timers = s3c24x0_get_base_timers();ulong tmr; /* use PWM Timer 4 becaus
2017-12-09 21:56:23
766
转载 UBOOT中断功能初步分析之----按键中断
以前一直有个疑问,在U-boot下到底能不能使用中断,为了验证这个问题,于是乎,昨天晚上我在自己的 TQ2440开发板上进行了uboot环境下的按键中断实验,这次使用的我刚移植的最新版Uboot,版本是 u-boot-2014-04,验证的结论是:U-boot完全能够支持中断下面就以u-boot-2014-04为例,介绍一下按键中断的实现。这里分为几部分介绍:1、异
2017-12-09 09:16:11
1453
原创 UBOOT UART设置(基于mini2440)
基于mini2440的UBOOT UART设置1. 标准9针串口引脚定义根据图3.40的引脚顺序号,如果是作为RS-232C接口,则各引脚定义如表3.2所示。表3.2RS-232C引脚意义表各引脚的电气特性为:在TxD和RxD上,逻辑“1”为-3V~-15V; 逻辑“0”为+3V~+15V。在RTS、CTS、DSR、DTR和DCD等控制线上,信号有效为+3V~+
2017-12-03 21:37:03
1342
原创 UBOOT GPIO设置(基于mini2440)
Uboot GPIO设置1. 这里以LED灯的GPIO设置为例。Mini2440 LED对应的原理图: 2. 相关寄存器 3. 相关代码代码路径:/cpu/arm920t/start.S关键宏:CONFIG_MINI2440_LED 这里GPIO_CON=0x255551 (0010 0101 0101 0101
2017-12-03 09:39:55
4052
原创 UBOOT时钟配置(基于mini2440)
基于mini2440的UBOOT时钟设置1. mini2440的时钟架构图 一般而言,系统的时钟通过外接晶振促发,通过内部电路(震荡电路、锁相环、分频)产生所需的时钟源。2440时钟控制逻辑给整个芯片提供了3种时钟:FCLK:用于CPU核HCLK:用于AHB总线设备(高速),如CPU核、存储控制器、中断控制器、LCD控制器、DMAPCLK:用于APB总线设备(低速),
2017-12-02 11:56:15
947
转载 linux expect spawn的用法
命令在功能:我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而Expect就使用来实现这种功能的工具。首先,要安装expect,linux expect的安装1.安装相应的包 yum install -y tcl tclx tcl-de
2017-12-02 08:07:34
9881
转载 SPI接口
SPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用。1. 接口SPI接口经常被称为4线串行总线,SPI协议是主从模式:从机不主动发起访问,总是被动执行操作,数据传输过程由主机初始化。如图1所示,其使用的4条信号线分别为:
2017-11-30 21:54:11
361
原创 Linux shell编程
#!/bin/bash#function(int a,intb)#judge operationfunction1(){ #a > b? if [ $1 -gt $2 ]; then echo "hehe" return 0 else echo "oo" return 1 fi }
2017-11-29 21:24:07
138
原创 UBOOT I2C读写详解(基于mini2440)
mini2440 UBOOT I2C支持总结1. mini2440开发板I2C连接的设备 SDA/SCL对应的引脚: 2. AT24C08地址查看AT24C08芯片手册 ADDRESS数据段为1010xxx(xxx为A2/A1/A0pin脚连接的电平),由于这里A2/A1/A0都为低电平,所以地址为1010000即0x50 3. UBOOT下12C调
2017-11-26 20:59:26
4463
转载 I2C接口
1.I2C协议 2条双向串行线,一条数据线SDA,一条时钟线SCL。 SDA传输数据是大端传输,每次传输8bit,即一字节。 支持多主控(multimastering),任何时间点只能有一个主控。 总线上每个设备都有自己的一个addr,共7个bit,广播地址全0. 系统中可能有多个同种芯片,为此addr分为固定部分和可编程部份,具体由原理图和芯片手册
2017-11-26 09:41:04
3503
转载 uboot详细分析
【系统移植】uboot详细分析uboot使用 uboot控制台,倒计时 命令: 调试,操作一些硬件setenv printenv saveenv nand erase nand write tftp 20008000 zImage help: uboot可以提供哪些命令 setenv == set == sete ==
2017-11-25 18:41:19
658
原创 UBOOT学习总结
1. UBOOT的主要功能UBOOT的主要任务是初始化硬件(如:串口,内存),然后将内核从Flash中读到RAM中,然后跳转到内核的入口点去运行,也就是启动操作系统。 UBOOT和BIOS的差异:PC机的引导程序由BIOS和位于硬盘MBR中的引导程序(GRUB或LILO)一起组成。BIOS在完成硬件检测和资源分配后,将硬盘中的引导程序(GRUB/LILO)读到系统内存中然后将控制权交给
2017-11-25 18:36:00
842
转载 U-BOOT代码详细注释分析
转自:http://home.eeworld.com.cn/my/space-uid-135723-blogid-25548.html 大多数bootloader都分为stage1和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stage1且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而
2017-11-25 18:29:17
649
转载 常用u-boot命令详解(全)
转自:http://blog.youkuaiyun.com/ghostyu/article/details/6968681U-boot发展到现在,他的命令行模式已经非常接近Linux下的shell了,命令行模式模式下支持“Tab”键的命令补全和命令的历史记录功能。而且如果你输入的命令的前几个字符和别的命令不重复,那么你就只需要打这几个字符即可,比如我想看这个U-boot的版本号,命令就是“ versi
2017-11-25 13:07:23
364
sam9x35_softpack_1.0_for_ewarm_5.50_6.21.zip
2021-04-19
imxrt1050rm(参考手册).pdf
2020-11-30
flexspi_hyper_flash_polling_transfer.zip
2020-11-30
超高频RFID R6标签说明文档
2020-11-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人