赞
踩
本文主要针对友善之臂mini2440开发板而编写的学习资料。虽然市面上介绍Linux系统驱动原理和内核源码的书很多,但是直接上手比较困难,特买了一个Arm9开发板,希望从裸机程序开始学习,逐步掌握Linux系统驱动开发方法。编写本文的目的为记录学习过程,用于后期回顾。文章主要分为两部分。第一部分,从友善之臂提供的裸机程序开始介绍各各外设驱动开发过程。第二部分,linux驱动开发流程及实践。
三星S3C2440是为手持式设备而开发的16/32位精简指令集微处理器。以很小的尺寸提供了低功耗、高性能的解决方案。处理器提供了如下组件:
S3C2440使用ARM920T核心,使用0.13um CMOS标准单元和内存编译器开发。低功率,简单,精巧且全静态的设计特别适合对成本和功率敏感的应用。它采用一种称为高级微控制器总线体系结构(AMBA)的新总线体系结构。
S3C2440A的CPU内核,是由Advanced RISC Machines 公司的Stanley设计的16/32位ARM920T RISC处理器。具有出色的功能, ARM920T通过以下方式实现MMU,AMBA BUS和哈佛缓存体系结构:单独的16KB指令和16KB数据高速缓存,每个高速缓存具有8个字长。
通过提供一套完整的通用系统外围设备,S3C2440A最大限度地降低了总体系统成本,并且无需配置其他组件。集成芯片上的功能包括:
•内部约1.2V,1.8V / 2.5V / 3.3V内存,3.3V外部I / O微处理器,具有16KB I-Cache / 16KB D-缓存/ MMU
•外部存储器控制器(SDRAM控制和芯片选择逻辑)
•带有LCD专用DMA的LCD控制器(最多4K色STN和256K色TFT)
•带外部请求引脚的4通道DMA控制器
•3通道UART(IrDA1.0、64字节Tx FIFO和64字节Rx FIFO)
•2通道SPls
•IIC总线接口(多主机支持)
•IIS音频编解码器接口
•AC’97 CODEC接口
•兼容SD主机接口版本1.0和MMC协议版本2.11
•2通道USB主机控制器/ 1通道USB设备控制器(1.1版)
•4通道PWM计时器/ 1通道内部计时器/看门狗计时器
•8通道10位ADC和触摸屏接口
•具有日历功能的RTC
•摄像头接口(最大支持4096 x 4096像素输入支持。最大2048 x 2048像素输入支持缩放)
•130个通用I / O端口和 24通道外部中断源
•电源控制:正常,低速,空闲和睡眠模式
•带PLL的片上时钟发生器
Mini2440 是一款低价实用的 ARM9 开发板,是目前国内性价比较高的一款学习板;它采用 Samsung S3C2440 为微处理器,并采用专业稳定的 CPU 内核电源芯片和复位芯片来保证系统运行时的稳定性。mini2440 的 PCB 采用沉金工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性,生产采用机器贴片,批量生产;出厂时都经过严格的质量控制。开发板提供了 Linux 和 WindowsCE6 系统,它们各自的 bootloader 以及 BSP 均是 100%开放的,可以在网站自由下载,网址:http://www.arm9.net
Mini2440 的众多先进特性,可以概括为:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。