欢迎来到嵌入式培训专家——华清远见嵌入式学院
集团官网
创客学院
研发中心
北京
上海
深圳
成都
南京
西安
武汉
广州
沈阳
济南
重庆
长沙
嵌入式AI就业班
星创客精英班
嵌入式视频教程
C语言视频教程
Linux视频教程
ARM视频教程
原创图书
研发硬实力
关于我们
联系我们
加入我们
总裁寄语
专利软著
当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 >
Linux系统将设备驱动分为三种类型
1)字符设备 字符设备是能够像字节流(比如文件)一样访问的设备,由字符设备驱动从程序来实现这种特性,通过/dev下的字符设备文件来访问。字符设备驱动程序通常至少需要实现open、close、read和write等系统调用所对应的、对该硬件进行操作的功能函数。 应用...…
LCD工作原理
一、显示屏的发展历程 二、显示屏的分类 显示屏可以分为两类:LED显示屏 和液晶显示屏(LCD) 三、TFT-LCD工作原理 TFT-LCD的特点:体积...…
4412时钟配置简要分析
相关名词: oscillator:振荡器 phase locked loops:锁相环(PLL) 这篇文章我们只涉及如何初始化APLL以及获得相应的ARMCLK时钟,对于其它部分我们放到下一次再进行介绍。 在芯片手册里,时钟管理单元 (Clock Management Unit)的简称为 CMU 。CMU_ XXX 表示...…
关于scanf( )函数使用
1.scanf( )函数介绍 C库中包含了多个输入函数,scanf( )是通用的一个,因为他可以读取不同格式的数据。如果想输入整数100,就要键入字符1、0、0,那么scanf()要做的就是将字符依次转换成数值。 头文件:#includestdio.h 用法: int scanf(const char *for...…
Input子系统剖析
1.input子系统框架图 input子系统解决什么问题? 解决不同input硬件在应用层与驱动层之间的信息的传输; (1)用户层 各层之间通信的基本单位就是事件,任何一个输入设备的动作都可以抽象成一个事件。事件有三种属性:类型(type),编码(code),值(value...…
ARM异常处理
只要正常的程序流被暂时中止,处理器就进入异常模式。例如响应一个来自外设的中断。在处理异常之前,ARM内核保存当前的处理器状态,这样当处理程序结束是可以恢复执行原来的程序。 注意:如果同时发生两个或更多异常,那么将按照固定的顺序来处理异常 。 ARM...…
Linux字符设备驱动模型之字符设备初始化
因为Linux字符设备驱动主要依赖于struct cdev结构,原型为: 所以我们需要对所使用到的结构成员进行配置,驱动开发所使用到的结构成员分别为:【unsigned int count;】、【dev_t dev;】、【const struct file_operations *ops;】。 开发流程如下图: 一、字...…
线程互斥与同步
一、线程间互斥 1.互斥锁 1) 引入互斥(mutual exclusion)锁的目的是用来保证共享数据操作的完整性; 2) 互斥锁主要用来保护临界资源; 3) 每个临界资源都由一个互斥锁来保护,任何时刻多只能有一个线程能访问该资源; 4) 线程必须先获得互斥锁才能访问临...…
回到顶部