Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器 软件资源

软件开发小程序制作系统集成与运维空间租用硬件开发视频监控技术咨询与支持——联系电话:0311-88999002/88999003

首页 / 操作系统 / Linux

Linux下 s3c2440 lcd驱动移植详解

Linux下 s3c2440 lcd驱动移植详解

1. LCD工作的硬件需求: 要使一块LCD正常的显示文字或图像,不仅需要LCD驱动器,而且还需要相应的LCD控制器。在通常情况下,生产厂商把LCD驱动器会以COF/COG的形式与LCD玻璃基板制作在一起,而LCD控制器则是由外部的电路来实现,现在很多的MCU内部都集成了LCD控制器,如S3C2410/2440等。通过LCD控制器就可以产生LCD驱动器所需要的控制信号来控制STN/TFT屏了。2. S3C2440内部LCD控制器结构图:我们根据数据手册来...
Linux移植随笔:git的使用

Linux移植随笔:git的使用

搞了一天的yaffs2文件系统挂载,结果还是挂载不上去。收获之一是知道如何使用git下载源代码。以前下载的yaffs2源代码在新的内核中编译不通过,而又不知道如何下载yaffs2的源代码包,只好使用git来下载了。开始是在windows下安装一个git客户端,可以下载。但是源代码及脚本文件的格式全部变成DOS格式的,在内核中不能使用,尤其是脚本文件,因为两个系统对回车换行的理解是不同的。没办法,只能在linux平台下下载源代码了。这里记录一下。git源代码...
u-boot移植随笔:继续使用svn进行版本控制(合并分支实例)

u-boot移植随笔:继续使用svn进行版本控制(合并分支实例)

搞u-boot很久了,一直在用svn进行版本控制,感觉非常好。不过我是最近才找到合并分支的方法,这里介绍一下。首先说一下我的环境。1、使用svn开发的模式:所有开发都在分支进行,完成某一阶段时,将其合并到主干上,同时作一标签,即tag。svn_repos仓库中u-boot目录下有三个目录:trunk、branches、tags,分别保存主干代码、分支代码和标签。分支名称如u-boot-branch-xxx,标签名称如release-1.x_xxx。比如u-...
Android 的 Linux内核

Android 的 Linux内核

从Linux内核的角度来分析Android的内核,希望给初学者提够有用的信息。本章将简单的介绍 Android内核的全貌,起到一个抛砖引玉的作用。从下一篇开始将详细介绍每一个Android内核驱动程序及其作用。Android内核是基于Linux 2.6内核的(目前最新开发版本是2.6.31),它是一个增强内核版本,除了修改部分Bug外,它提供了用于支持Android平台的设备驱动,其核心驱动主要包括:Android Binder,基于OpenBinder框...
Linux DM9000网卡驱动程序完全分析

Linux DM9000网卡驱动程序完全分析

说明1:本文分析基于内核源码版本为linux-2.6.31 说明2:本文在理解了linux中总线、设备和驱动模型的基础上加以分析代码虽然Linux驱动程序应该是和具体的硬件平台分离的,但是为了更好的理解DM9000的驱动程序,这里还是结合一下Mini2440开发板,这样也可以更好的体会如何实现驱动和平台分离。本文分成以下几个部分: 一、Mini2440开发板上DM9000的电气连接和Mach-mini2440.c文件的关系。 二、两个重要的结构体介绍:sk...
学习笔记之Linux内核同步方法

学习笔记之Linux内核同步方法

一、程序并发执行的原因在用户空间:调度程序完全可能选择另一个高优先级的进程到处理器上执行,所以就有可能一个程序正处于临界区时被非自愿的抢占了,如果新调度的的进程随后也进入到同一个临界区,前后两个进程之间就会产生竞争。信号是异步发生的也有可能产生竞争条件。在内核空间:中断:中断几乎可以在任何时候异步发生,也就可能随时打断当前正在执行的代码。软中断和tasklet:内核能在任何时候唤醒或调度软中断和tasklet,打断当前正在执行的代码。内核抢占:因为内核可以...
Linux设备模型之platform_device和platform_driver

Linux设备模型之platform_device和platform_driver

在《Linux设备模型分析之基本数据结构》一文中我分析了kobject,kset,device,device_driver等构成Linux设备模型的重要数据结构。但在分析Linux内核代码时这些原始数据结构大多被platform_device和platform_driver所封装代替,下文采用at91sam9260开发板提供的Linux2.6.19内核,剖析platform_device和platform_driver的使用。首先来看这两个结构体的定义,都...
Linux设备模型分析之基本数据结构

Linux设备模型分析之基本数据结构

Linux随着硬件设备的发展及内核版本的演进,设备模型也变得越来月复杂,早先看了《Linux设备驱动程序》觉得一头雾水,又看了许多资料和高手的帖子,总算有了一定认识,下面写出来和Linux内核爱好者分享一下。 本文相配套的《Linux设备驱动程序》下载在http://www.linuxidc.net/thread-2029-1-1.html 共3卷,17M。一、底层数据结构:kobject 和 kset1、kobject内核对象:Linux2.6设备模型的...
Linux:主设备号和次设备号

Linux:主设备号和次设备号

Linux的设备管理是和文件系统紧密结合的,各种设备都以文件的形式存放在/dev目录下,称为设备文件。应用程序可以打开、关闭和读写这些设备文件,完成对设备的操作,就像操作普通的数据文件一样。为了管理这些设备,系统为设备编了号,每个设备号又分为主设备号和次设备号。主设备号用来区分不同种类的设备,而次设备号用来区分同一类型的多个设备。对于常用设备,Linux有约定俗成的编号,如硬盘的主设备号是3。 一个字符设备或者块设备都有一个主设备号和次设备号。主设备号...
第一个Linux驱动-s3c6410 gpio

第一个Linux驱动-s3c6410 gpio

前段时间学着写了第一个linux下的驱动,很简单,基于友善之臂的tiny6410,通过控制GPIOK4-7输入输出来控制板上的4个led。led的驱动友善已经提供,不过我自己写的有些不一样,是按照标准的char驱动来写的,下面是全过程。注意:此代码基于友善之臂提供的已经移植好的linux2.6.36核心第一步编写驱动代码//tiny6410_gpio.c#include <linux/miscdevice.h>#include <linu...
Linux网络编程UDP过程遇到的问题记录

Linux网络编程UDP过程遇到的问题记录

几天来写的代码,一经测试,竟然最基本的练级都没有成功。甚是失望~整了两天的时间终于解决了该些问题。现在记录下来。first of all,关于sendto()和recvfrom()的参数问题。recvfrom()的最后的一个参数lenth是指针整型的,而sendto()是普通整形,看了那么长时间的书竟然刚发现这个问题,甚是汗颜。如果在这两个参数错误,perror()会提示“address error”。sencondly,关于ip地址的表示。格式:“x.x...
嵌入式开发板与PC串口传输文件

嵌入式开发板与PC串口传输文件

目标板与主机pc传输文件问题,可以使用linux的工具lrzsz 工具,交叉编译后把 lrz lsz 传输到目标版的bin目录下,然后在想要接受文件的目录下运行lrz :比如 cd /tmp 在tmp目录下运行lrz 则接受到的文件就放在tmp下。 我的串口传输用kermit 所以需要在运行先设置一下kermit的配置 在/home/richard/.kermit 文件中写道:set line /dev/ttyUSB0set speed 115200se...
<< 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 >>