S3C2410

Linux中IIC总线驱动分析

断了今生、忘了曾经 提交于 2020-01-21 07:26:01
虽然I2C硬件体系结构比较简单,但是I2C体系结构在Linux中的实现却相当复杂.通过阐述Linux系统中I2C总线体系结构,在此基础上完成嵌入式Linux系统中I2C总线驱动的开发. 1. 嵌入式Linux中I2C驱动程序分析 I2C(Inter2IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备.嵌入式系统中,微控制器通过I2C总线可随时可对各个系统中的组件进行设置和查询,以管理系统的配置或掌握组件的功能状态来控制外围设备.I2C总线因为协议成熟,引脚简单,传输速率高,支持的芯片多,并且有利于实现电路的标准化和模块化,得到了包括Linux在内的很多操作系统的支持,受到开发者的青睐.在Linux环境下使用I2C总线协议,需要理解Linux的I2C总线驱动的体系结构,在此基础上来进行嵌入式驱动程序和应用程序的开发. 1.1 Linux的I2C驱动框架 Linux内核的I2C总线驱动程序框架如图1所示: Linux的I2C体系结构分为3个组成部分: I2C核心:I2C核心提供了I2C总线驱动和设备驱动的注册,注销方法,I2C通信方法(即"al2gorithm")上层的,与具体适配器无关的代码以及探测设备,检测设备地址的上层代码等.这部分是与平台无关的

skyeye下成功运行lcd程序

别来无恙 提交于 2020-01-06 00:52:01
呵呵,往往在经过很复杂的过程之后,回头却发现原来确实如此的简单,为了直观的看到skyeye的仿真效果(呵呵,主要 还是经济原因啊,开发板买不起啊),于是就心血来潮的想要作s3c2410的lcd实验,说起来容易,首先是一直linux内核, 现在的linux内核中已经支持了s3c2410的板子,所以只要作少量的修改即可,然后编写lcd_show.c,最后编译该程序,加 在到linux中,skyeye仿真,但是实际的过程确实相当的困难啊 最初的尝试就是按照上面的思路来的,在网上找了许多的资料 http://www.linuxfans.org/bbs/thread-182101-1-1.html linux内核在skyeye上移植 http://www.linuxfans.org/bbs/thread-182082-1-1.html skyeye上lcd移植 http://www.diybl.com/course/6_system/linux/Linuxjs/200896/139481.html linux上lcd去的驱动 第一次配置内核 make menuconfig make 最终得到的vmlinux竟然5M还多,于是打算放弃,重新编译linux内核,在第二次编译内核时,删减了大量的无用的driver, make时,出现一大堆错误,无奈,又经过了几次的尝试还是没有成功

Linux LCD 驱动调色板原理

别说谁变了你拦得住时间么 提交于 2019-12-14 11:50:54
举例如下: /* 改变调色板为一种颜色 输入参数: color: 颜色值,格式为0xAARRGGBB / AA为透明度 / */ red = (color >> 19) & 0x1f; green = (color >> 10) & 0x3f; blue = (color >> 3) & 0x1f; color = (red << 11) | (green << 5) | blue; // 格式5:6:5 VD[0~23],我们开发板只用了16位。frambuffer内存大小为240 2 320 硬件时序学习: VCLK:每来一个时钟就向下移动一个像素。 VD0~VD23:数据宽度,但是我们只用了16位。 VLINE:(HYSNC,行同步型号,水平方向的,从上一行的行尾调到下一行的行首), VSYNC:(垂直同步信号,从最后一行行尾跳转到第一行的行首) VDEN:有效才打印颜色 每一个像素就是一个点,每个像素用多少位来表示颜色。像素深度是用多少位来表示颜色,如果是16bpp,那么像素深度就是16, 当使用像素深度是16bpp的时候,就只需要把颜色取出来组成16位就可以了,组成方法上面就4行代码所写的,32位的color第四字节代表透明度,第三字节代表红色,第二字节代表绿色,第一字节代表蓝色,我们取出红色的高五位,绿色的高六位,蓝色的高五位

移植Linux到SAMSUNG S3C2410开发板

夙愿已清 提交于 2019-12-04 00:26:50
【S3C2410简介】 S3C2410装备有SAMSUNG产ARM920T核、一体化16kB Cache/MMU能轻松奔跑Linux。 该板资源如下: (1) CPU : ARM920T 工作频率为 200MHz 。 (2) Flash : 16MB (3) SDRAM : 64MB SDRAM (4) UART : RS-232串行接口 (5) 其他 : 14针ARM JTAG接口等。 【交叉编译环境的建立】 基于 Linux 操作系统的应用开发环境一般是由目标系统硬件(开发板) 和宿主 PC 机所构成。 目标硬件开发板用于运行操作系统和系统应用软件,而目标板所用到的操作系统的内核编译、 应用程序的开发和调试则需要通过宿主 PC 机来完成 (所以称为交叉编译) 。 双方之间一般通过串口、并口或以太网接口建立连接关系, 其结构图如下所示。 单独拿出一台 PC 机, 在该 PC 上安装桌面的 Linux操作系统(如 Red Hat Linux 9. 0), 可以采用默认的安装选项(注意要包含 ftp 服务), 这台 PC 作为 Linux 服务器, 除管理员以外,一般不直接让其他人去操作。 将该 Linux 服务器接入局域网, 并新建一些合法用户, 以便其他的 PC 机 (在此将其称为工作站) 的合法用户 能访问到 Linux 服务器。而其他的 PC 机 (工作站) 仍然使 用