嵌入式Linux驱动学习之路(二十三)NAND FLASH驱动程序

NAND FLASH是一个存储芯片。在芯片上的DATA0~DATA7上既能传输数据也能传输地址。  当ALE为高电平时传输的是地址。  当CLE为高电平时传输的是命令。  当ALE和CLE都为低电平时传输的是数据。将数据发给nand Flash后,在发送第二次数据之前还要判断芯片是否处于空闲状态。一般是通过引脚RnB来判断,一般是高电平代表就绪,低电平代表正忙。 操作Nand Flash的一般步骤
阅读本文

嵌入式系统基础知识(一): 系统结构和嵌入式Linux

目录一. 嵌入式体系结构二. 开发过程中的分工三. 嵌入式软件体系结构四. 嵌入式Linux  一. 嵌入式体系结构<嵌入式系统设计师教程>这本书的前三章脉络很清晰, 按照嵌入式系统结构从下往上, 从底层的硬件, 电路, 到上层的系统, 应用, 逐层展开介绍. 书的后三章是在掌握好前面的基础后, 对于应用开发, 软件工程等宏观上的指导. 我根据前三章的结构画出了图1.1的嵌入式系统结构图, 系统分
阅读本文

wince -- RS485半双工实现

RS485半双工软件编程实现 方法1:让操作系统正确的控制RTS信号。hCOM = CreateFile(...)... DCB dcb; memset( &dcb, 0, sizeof(dcb) ); dcb.DCBlength = sizeof(DCB); dcb.fBinary = TRUE; //
阅读本文

Windows CE下流驱动的动态加载

Windows CE下流驱动的动态加载 我想很多WinCE的开发人员,尤其是刚入门并且做驱动开发的工程师,都曾碰到这样一个问题,要编写一个外围设备的驱动,拿最简单的GPIO驱动来说,编写驱动本身可能只花了一会儿功夫,可要把编译生成的DLL打包到先前做好的操作系统映像当中,最简单也得MakeImg一下,还要修改BIB文件、注册表文件,以让系统启动的时候就加载该驱动,所有工作都做完了,还得花几分钟下载
阅读本文

嵌入式Linux基础教程(第2版)

嵌入式Linux基础教程(第2版)   嵌入式Linux权威著作   Amazon全五星评价  全面剖析嵌入式Linux开发,揭示大量技术内幕   基本信息原书名:Embedded Linux Primer:A Practical Real-World Approach, Second Edition译者: 周鹏丛书名: 图灵程序设计丛书出版社:人民邮电出版社ISBN:9787115278272上
阅读本文

linux下的嵌入式开发技能(嵌入式工程师必备)

嵌入式Linux开发从下到上分为:嵌入式硬件开发、嵌入式驱动开发、嵌入式系统开发、嵌入式软件开发。一、嵌入式硬件开发:熟悉电路等知识,非常熟悉各种常用元器件,掌握模拟电路和数字电路设计的开发能力。熟练掌握嵌入式硬件知识,熟悉硬件开发模式和设计模式,熟悉ARM32位处理器嵌入式硬件平台开发、并具备产品开发经验。精通常用的硬件设计工具:Protel/PADS(PowerPCB)/Cadence/OrC
阅读本文

Linux设备驱动开发环境的搭建

经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助。刚接触Linux设备驱动时,初学者往往连如何编译驱动程序都不懂,更别说编译进内核或加载测试了。一般都是在网上找个最简单的 helloworld驱动程序,然后严格按照网上所说的步骤编译,结果却得到一大堆见都没见过的错误,更不要说根据错误信息
阅读本文

嵌入式系统USB CDROM虚拟光驱驱动程序开发

带U盘功能的的USB接口设备已经越来越常见了。如果能够把产品说明书或者产品设备驱动程序做成一个USB CDROM,那该多方便。假设:你已经有了USB mass storage驱动。你的任务是在此基础上增加一个USB CDROM。请在手边准备好:USB2.0协议,Mass storage协议,SCSI协议(可以忽略)。此外,你需要一个debug工具:bushound。     步骤:
阅读本文

备忘一次嵌入式实训之二 根文件系统制作及led驱动

三 制作根文件系统说明:三种启动方式的根文件系统制作大致相同,细微区别将会说明。制作根文件系统的busybox版本为busybox-1.15.2;1.创建根文件系统目录:#cd转入到你的工作目录。#mkdir rootfs#cd rootfs#mkdir bin dev etc lib proc sbin sys usr mnt tmp var#mkdir usr/bin usr/lib usr/
阅读本文

74HC164dD驱动LED

驱动要点:   1、上升沿写入串行数据:     CLK=0;     DAT=num&0x01;     CLK=1;  2、写入数据的数码管编码(指代码中的 tab[])     串行数据是FIFO先进先出,也就是先写高位,移位放入。     电路如图:     共阴数码管74HC164串行驱动(经过测试) //共阴数码管74HC164串行驱动 #include #define u
阅读本文

Linux嵌入式系统开发之Led开发——驱动篇(一)

1)引脚功能设为输出。  2)要点亮LED,令引脚输出为0.      3)要熄灭LED,令引脚输出为1.好了下边,给出详细的源码注释: #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/delay.h> #in
阅读本文

嵌入式Linux系统下I2C设备驱动程序的开发

1 I2C总线简介      I2C (Inter-Integrated Circuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线最主要的优点就是简单性和有效性。      1.1  I2C总线工作原理      I2C总线是由数据线SDA和时钟SCL构成的串行总线,各种被控制器件均并联在这条总线上,每个器件都有一个唯一的地址识别,可以作为总线
阅读本文

第五章Android移植与驱动读书笔记

本章我们主要学习了Android移植与驱动的关系,设备驱动模块,Linux核心与Android驱动,以及Android驱动的HelloWord这些内容!任何一个计算机系统的运行都是系统中软硬件协作的结果,没有硬件的软件是空中楼阁,而没有软件 的硬件则只是一堆废铁。硬件是底层基础,是所有软件得以运行的平台,代码最终会落实为硬件上的组合 逻辑与时序逻辑;软件则实现了具体应用,它按照各种不同的业务需求而
阅读本文

基于WinCE的I2C驱动程序设计

随着以计算机技术、通信技术和软件技术为核心的信息技术的迅速发展,嵌入式系统在各行业得到了广泛的应用,极大地推动了行业的渗透性应用。嵌入式系统是“以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统”,由嵌入式硬件和嵌入式软件两部分组成。嵌入式软件包括嵌入式操作系统和嵌入式应用软件。Microsoft的桌面操作系统已经为人们熟悉和使
阅读本文

QG工作室——智能与嵌入式系统小组

一.小组简介       (1)小组历史本小组是在2005年12月,在计算机智能与软计算所指导下,为了更好的让学生投入到计算机专业实践,而创立的。本小组目前有指导老师两位,分别是曾碧教授(计算机学院副院长,智能与软计算所所长,硕士研究生导师),谢光强老师(曾独立开发国家级电力系统,并受到国家级好评)。2006年正式合并冰箱风扇两组,并更名为智能与嵌入式系统小组。(2)比赛与实际项目开发情况简介:Ø
阅读本文

基于Atheros 300M MiniPCI网卡(AR9223-AL1A)的嵌入式x86路由器/Mesh节点的配置

今天进入本篇博客的总结整理阶段 = = 2012.8.3前言在2012年6月10日至7月25日的一个半月的时间里,实验室对基于802.11n的Mesh测试平台的搭建进行了一个初步的探索。如果读者对Mesh网络尚不了解,可以先去阅读一下对应的维基百科条目。简单的说,Mesh网络在各方面和Ad-hoc网络都很类似,两者都能够将一个无线网络透明地整合起来,实现互通,因此一个Ad-hoc / Mesh网络
阅读本文

嵌入式C语言之---模块化编程

当你在一个项目小组做一个相对较复杂的工程时,意味着你不再独自单干。你需要和你的小组成员分工合作,一起完成项目,这就要求小组成员各自负责一部分工程。比如你可能只是负责通讯或者显示这一块。这个时候,你就应该将自己的这一块程序写成一个模块,单独调试,留出接口供其它模块调用。最后,小组成员都将自己负责的模块写完并调试无误后,由项目组长进行组合调试。像这些场合就要求程序必须模块化。模块化的好处是很多的,不仅
阅读本文

运动控制器

国内的运动控制器大致可以分为3类:运动控制器是运动控制系统的核心部件。目前。只能在一些低速运行和对轨迹要求不高的轮廓运动控制场所应用。第1类是以单片机等微处理器作为控制核心的运动控制器。这类运动控制器速度较慢、精度不高、利息相对较低。这类运动控制器结构比较简单, 第2类是以专用芯片(ASIC作为核心处置器的运动控制器。大多只能输出脉冲信号,工作于开环控制方式。由于这类控制器不能提供连续插补功能,也
阅读本文

驱动编程思想之初体验 --------------- 嵌入式linux驱动开发之点亮LED

这节我们就开始开始进行实战啦!这里顺便说一下啊,出来做开发的基础很重要啊,基础不好,迟早是要恶补的。个人深刻觉得像这种嵌入式的开发对C语言和微机接口与原理是非常依赖的,必须要有深厚的基础才能hold的住,不然真像一些人说的,学了一年嵌入式感觉还没找到门。不能再扯了,涉及到linux的驱动开发知识面灰常广,再扯文章就会变得灰常长。首先还是回到led驱动的本身上,自从linux被移植到arm上后,做驱
阅读本文