随笔分类 -  嵌入式

上一页 1 2 3 4 5 6 ··· 9 下一页
摘要:USB设备逻辑结构 在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。设备通常有一个或多个配置,配置通常有一个或多个接口,接口通常有零个或多个端点。 USB设备描述符 当我们把USB设备(例如USB鼠标)插到我们的PC时,主机能够自动识别出我们的USB设备类型。在每一个USB设备内部,包 阅读全文
posted @ 2016-03-19 09:51 盛夏夜 阅读(346) 评论(0) 推荐(0) 编辑
摘要:USB发展史 USB(universal serial bus),通用串行总线,是一种外部总线标准。用于规范电脑与外部设备的连接和通讯。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。自1996年堆出后,已经成功替代了串口和并口。成为当今个人电脑和大量智能设备的 阅读全文
posted @ 2016-03-18 20:48 盛夏夜 阅读(395) 评论(0) 推荐(0) 编辑
摘要:SPI Flash驱动 1.打开/drivers/mtd/devices/m25p80.c驱动文件。找到初始化m25p80_init函数,其中通过spi_register_driver来注册spi设备驱动。需要的参数是struct spi_driver指针结构。 2.匹配函数是在m25p_probe 阅读全文
posted @ 2016-03-18 20:06 盛夏夜 阅读(318) 评论(0) 推荐(0) 编辑
摘要:SPI 子系统架构 1.SPI core核心:用于连接SPI客户驱动和SPI主控制器驱动,并且提供了对应的注册和注销的接口。 2.SPI controller driver主控制器驱动:用来驱动SPI控制器。 3.SPI protocol drvier客户驱动:用来驱动SPI设备 SPI控制器驱动分 阅读全文
posted @ 2016-03-18 19:36 盛夏夜 阅读(224) 评论(0) 推荐(0) 编辑
摘要:SPI控制器工作流程 SPI控制器提供2个SPI接口。每个SPI接口有两个通道,分别为TX通道和RX通道。CPU要写数据到FIFO中,先写数据到SPI_TX_DATA寄存器中,这样此寄存器中的内容就会自动移动到发送FIFO中;同理,如果CPU要从接收FIFO中读取数据,就访问寄存器SPI_RX_DA 阅读全文
posted @ 2016-03-18 16:54 盛夏夜 阅读(298) 评论(0) 推荐(0) 编辑
摘要:SPI总线架构 SPI(serial peripheral interface)串行外设接口,是一种高速,全双工,同步的通信总线。采用主从模式(master slave)架构,支持多个slave,一般仅支持一个master。 SPI信号线 SPI接口共有4根信号线,分别是:设备选择线(SS)、时钟线 阅读全文
posted @ 2016-03-18 16:11 盛夏夜 阅读(260) 评论(0) 推荐(0) 编辑
摘要:AT24C08的驱动在Linux内核中已经提供,在/drivers/misc/eeprom/at24.c文件中。在对应的probe函数中有一个创建/sys/.../eeprom文件的函数,应用程序通过调用/sys/.../eeprom设备文件来对设备进行读写操作。 移植AT24C08驱动 1.修改内 阅读全文
posted @ 2016-03-18 15:44 盛夏夜 阅读(502) 评论(0) 推荐(0) 编辑
摘要:用户态驱动模型 用户态驱动模型首先是一个应用程序,其次是在这个用户程序中通过内核调用来驱动设备。 IIC通用驱动代码 IIC通用驱动程序的代码在/drivers/i2c/i2c-dev.c中。一次读操作或者一次写操作就是一条消息。 EEPROM用户态驱动 IIC通用设备对应/dev/i2c-0设备文 阅读全文
posted @ 2016-03-17 21:01 盛夏夜 阅读(427) 评论(0) 推荐(0) 编辑
摘要:IIC子系统架构 device driver层: 1.device driver,由用户开发。 2.i2c-dev由内核实现,但是需要配合应用模式驱动才能使用。 i2c core层: 1.总线驱动,也叫控制器驱动。实现对i2c控制器的操作方法。 2.i2c核心。关联设备驱动和总线驱动,提供设备的注册 阅读全文
posted @ 2016-03-17 16:44 盛夏夜 阅读(189) 评论(0) 推荐(0) 编辑
摘要:eeprom简介 eeprom电可擦除可编程只读存储器,是一种类似于flash的固态存储器,但是与flash相比又存在一些区别: 1.eeprom可以按位擦写,而flash只能大片擦除。 2.eeprom一般容量都不大,一般都在64kb以下。 I2C初始化 在ARM内部有I2C控制器,可以对I2C器 阅读全文
posted @ 2016-03-17 15:57 盛夏夜 阅读(393) 评论(0) 推荐(0) 编辑
摘要:IIC电气特性 I2C(inter intergrated circuit)总线是由philps公司开发的两线式串行总线,用于连接微控制器及其外围设备。 I2C总线只有两根双向信号线: SDA:serial date line 数据线 SCL:serial clock line 时钟线 总线寻址 I 阅读全文
posted @ 2016-03-16 16:34 盛夏夜 阅读(274) 评论(0) 推荐(0) 编辑
摘要:初始化 打开/drivers/mtd/nand/s3c2410.c找到nand flash驱动程序代码,找到模块初始化函数s3c_nand_init,找到platform_driver中的probe函数。 1.使能时钟 2.进行物理地址到虚拟地址转换 3.硬件纠错初始化 4.搜索nand flash 阅读全文
posted @ 2016-03-16 15:25 盛夏夜 阅读(171) 评论(0) 推荐(0) 编辑
摘要:bootloader环境搭建 1.解压bootloader tar zxvf uboot_mini2440.tar.gz 2.清除bootloader cd uboot_mini2440 make distclean 3.配置bootloader make mini2440_config 4.设置启 阅读全文
posted @ 2016-03-16 14:53 盛夏夜 阅读(275) 评论(5) 推荐(0) 编辑
摘要:嵌入式系统自启动 MTD技术通过把Nand FLash划分成bootloader分区,Linux kernel分区和file system分区来达到自启动的效果。   配置和编译内核 1.配置Linux内核支持MTD分区 make meunconfig ARCH=arm device drivers 阅读全文
posted @ 2016-03-15 21:20 盛夏夜 阅读(289) 评论(0) 推荐(0) 编辑
摘要:MTD设备概述 Flash在嵌入式系统中是必不可少的,它是bootloader、Linux内核和文件系统的最佳载体。在Linux内核中引入了MTD子系统为NOR Flash和Nand FLash设备提供了统一的接口,从而使得Flash驱动的设计大为简化。   MTD使用体验 把系统烧写到Nand F 阅读全文
posted @ 2016-03-15 16:37 盛夏夜 阅读(221) 评论(0) 推荐(0) 编辑
摘要:头文件 #include <linux/blkdev.h> #include <linux/bio.h>   blkdev.c   Makefile   阅读全文
posted @ 2016-03-15 15:54 盛夏夜 阅读(256) 评论(0) 推荐(0) 编辑
摘要:块设备驱动实例分析 初始化 1.注册块设备驱动程序,使用register_blkdev。填写主设备号时,设置为零,系统自动分配主设备号,并返回。 2.初始化请求队列,使用blk_init_queue。 3.指明扇区大小,使用blk_queue_logical_block_size 4.为块设备分配g 阅读全文
posted @ 2016-03-15 09:37 盛夏夜 阅读(257) 评论(0) 推荐(0) 编辑
摘要:块设备概念 块设备是指只能以块为单位进行访问的设备,块大小一般是512个字节的整数倍。常见的块设备包括硬盘,SD卡,光盘等。   体验块设备使用 把内存划出512字节,虚拟成块设备来访问。 1.insmod simple-blk.ko 2.ls -l /dev/simp_blk0 3.格式化块文件设 阅读全文
posted @ 2016-03-15 09:08 盛夏夜 阅读(196) 评论(0) 推荐(0) 编辑
摘要:LCD驱动程序分析 LCD驱动程序代码在/drivers/video/s3c2410fb.c文件中,在该驱动的s3c2410fb_init中注册了平台驱动,该驱动的初始化代码在s3c24xxfc_probe函数中。 1.分配fb_info结构,使用framebuffer_alloc 2.获取LCD控 阅读全文
posted @ 2016-03-14 19:56 盛夏夜 阅读(176) 评论(0) 推荐(0) 编辑
摘要:LCD裸机驱动回顾 1.LCD初始化 1.1.控制器初始化 1.2.端口初始化 1.3.指明了帧缓冲 2.LCD图形显示 2.1.将图形数据写入帧缓冲   Linux帧缓冲体验 把图片转换成开发板屏对应的宽高像素和颜色深度,然后把图片放到开发板文件系统中。通过cat image.bin > /dev 阅读全文
posted @ 2016-03-14 19:15 盛夏夜 阅读(200) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 ··· 9 下一页
点击右上角即可分享
微信分享提示