
底层开发
文章平均质量分 77
qq_40215005
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FDT设备树(dts)和CCF框架
在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,相当多数的代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data。 社区必须改变这种局面,于是PowerPC等其他体系架构下已经使用的Flattened Device Tree(FDT)进入ARM社区的视野。Device Tree原创 2020-08-24 16:17:09 · 905 阅读 · 0 评论 -
input子系统分析
前面对于按键的驱动有了大致的了解,赋予虚拟总线的概念,注册设备、驱动,互相探测,在探测函数中分配设备号、传递硬件设备信息给自定义结构体、初始化fops结构体、注册cdev结构体,这就是一个按键类型的驱动模型:https://blog.youkuaiyun.com/qq_40215005/article/details/90384563但是作为一个操作系统,这样的设备实在是太多了,如果能在虚拟总线的基础上再进...原创 2019-07-24 14:06:40 · 448 阅读 · 0 评论 -
LCD驱动及framebuffer子系统解析
之前实现了lcd上显示图片,现在来看看framebuffer子系统的主要结构与input子系统不同,framebuffer子系统有着自己的结构,内核空间内分为核心层和驱动层,核心层负责提供API给应用调用,那么每个帧缓冲设备都对应一个fb_info的结构体,而驱动层就进行fb_info结构体的初始化,并注册到内核中驱动层fbmem.cfbmem.c 处于Framebuffer设备驱动技术的...原创 2019-07-17 19:51:33 · 997 阅读 · 0 评论 -
Framebuffer图片显示和代码解析
看了这么多天的lcd,今天打算在屏上显示图片,并分析下代码显示红白蓝黑四种颜色先贴代码,从学长哪里copy过来的#include <unistd.h>#include <stdio.h>#include <fcntl.h>#include <linux/fb.h>#include <stdlib.h>#include ...原创 2019-07-16 19:47:05 · 1739 阅读 · 0 评论 -
QT初体验c语言嵌套使用
最近在玩触摸屏和lcd驱动,想了解一点图形化界面的东西,所以就接触到了QT,QT已经发展到5.10版本了,做图形化界面基本都要学习QT,配合触摸屏上操作可以实现很多功能,我的板子是fl2440的,带有一个lcd电阻触摸屏,由于是arm920t的架构,相对来说比较老了,然后就编译了5.7qt,编译过程非常痛苦,,,编译到最后快完成告诉我说架构太老了,没办法只有降qt版本试试了,然后用5.6qt就成功...原创 2019-07-16 15:18:18 · 5139 阅读 · 0 评论 -
单总线协议分析
1-wire,即单线总线,又叫单总线。近年来,美国的达拉斯半导体公司(DALLASSEMICONDUCTOR)推出了一项特有的单总线(1-Wire Bus)技术。该技术与上述总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,但是和i2c不同的是从低位到高位传输。因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。单总线适用于单主机系统,能...原创 2019-07-18 19:15:14 · 1693 阅读 · 0 评论 -
s3c2440 ds18b20驱动编写
上一篇单总线时序分析:https://blog.youkuaiyun.com/qq_40215005/article/details/96435251这是ds18b20驱动大致结构硬件初始化BYTE ds18b20_reset(void) 复位脉冲和应答脉冲函数BYTE ds18b20_reset(void){ s3c2410_gpio_cfgpin(S3C2410_GPG(0), S3C...原创 2019-07-18 21:24:42 · 539 阅读 · 0 评论 -
s3c2440lcd寄存器配置
s3c2440有5个寄存器LCDCON1ENVID:LCD 输出信号控制位 为1表示使能BPPMODE:屏幕类型的对应BPP的选择加粗样式PNRMODE:屏幕类型的选择MMODE :对于STN LCD设置VM的反转频率CLKVAL :设置像素时钟 对于TFT: VCLK=HCLK/((CLKVAL+1)*2) HCLK=100Mhz的情...原创 2019-07-17 19:58:49 · 513 阅读 · 0 评论 -
linux驱动虚拟总线platform_driver和platform_driver(LED驱动)
VID & PID每一个设备都有一个设备id和厂商id,设备管理器–>硬件属性–>详细信息–>属性–>硬件id,驱动和设备分离从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform...原创 2019-05-18 20:23:21 · 1085 阅读 · 1 评论 -
linux驱动hello入门
1 /********************************************************************************* 2 * Copyright: (C) 2013 Guo Wenxue<guowenxue@gmail.com> 3 * All rights reserved...原创 2019-05-12 14:16:14 · 218 阅读 · 1 评论 -
linux驱动、设备、应用之间的关联
硬件层面拥有各个领域功能的外设,这个叫做设备。与硬件紧密相连的内核,内核中的驱动将设备的硬件抽象为一个个接口,方便上层调用。应用就是服务用户、实现用户逻辑且位于操作系统至上的计算机程序。那么操作系统是如何让应用使能设备完成相应的工作呢?驱动又是如何与设备进行绑定的呢?驱动怎样提供系统调用接口给应用呢?首先要理解的是,linux皆是文件,在linux下写驱动,都是对文件的操作,一个个设备可以...原创 2019-05-17 16:57:20 · 1959 阅读 · 2 评论 -
linux体系架构
Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。为了使上层应用能够访问到这些资源,内核抽象出一层系统调用接口,用于用户的调用访问。系统调用是linux的最小功能单位,是不能简化的操作,...原创 2019-05-09 15:08:08 · 569 阅读 · 0 评论 -
ubifs根文件系统制作
ubifs文件系统简介UBIFS(Unsorted Block Image File System,无排序区块图像文件系统)是用于固态存储设备上,并与LogFS相互竞争,作为JFFS2的后继文件系统之一。由于Nand Flash容量的暴涨,JFFS2、Yaffs2等皆无法操控大的Nand Flash空间,IBM、Nokia工程师Thomas Gleixner、Artem Bityutskiy等人...原创 2019-05-05 21:34:58 · 679 阅读 · 0 评论 -
基于flash的根文件系统的移植(jffs2)
ubifs 和 jffs2 根文件系统根文件系统就是基于flash的文件系统,与传统的文件系统ext2、ext3、ext4不同,他们都是针对不同的硬件而诞生的,不同的根文件系统性能指标不同,那么ubifs和jffs2就是比较常见的用的比较多的根文件系统,jffs2是很早期的根文件系统,ubifs是linux内核2.6之后才产生的一种新型根文件系统。jffs2 专门针对Norflash设计的...原创 2019-05-04 19:24:42 · 1220 阅读 · 0 评论 -
添加dm9000网卡的驱动
最近跑了一个操作系统,系统是跑起来了,基本命令都有了,但是ifconfig的时候发现,并没有显示,ifconfig -a的时候发现有显示,但是并没有没有自动分配IP地址,分析:ifconfig没有显示command not found,说明不是命令本身出了问题,要想有ip地址,必须有网卡,网卡必须要有驱动添加驱动:vim /arch/arm/mach-s3c2440/mach-smdk244...原创 2019-05-02 11:04:02 · 157 阅读 · 1 评论 -
initramfs根文件系统移植
基于ubuntu14.04,fl2440开发板的根文件系统移植所谓根文件系统首先是内核启动时所mount的第一个文件系统,内核代码映像文件保存在根文件系统中,而系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。文件系统的制作其实并没有想像中那么难。一个基本的文件系统应该包括: busybox (提供 shell 命令集)、配置文件(用来初始化和布局你的...原创 2019-04-29 19:16:36 · 531 阅读 · 0 评论