S3C2440驱动开发(一)

1.驱动开发概述

本文主要针对友善之臂mini2440开发板而编写的学习资料。虽然市面上介绍Linux系统驱动原理和内核源码的书很多,但是直接上手比较困难,特买了一个Arm9开发板,希望从裸机程序开始学习,逐步掌握Linux系统驱动开发方法。编写本文的目的为记录学习过程,用于后期回顾。文章主要分为两部分。第一部分,从友善之臂提供的裸机程序开始介绍各各外设驱动开发过程。第二部分,linux驱动开发流程及实践。

1.1 S3C2440A介绍

三星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的片上时钟发生器

 

1.2 mini2440介绍

Mini2440 是一款低价实用的 ARM9 开发板,是目前国内性价比较高的一款学习板;它采用 Samsung S3C2440 为微处理器,并采用专业稳定的 CPU 内核电源芯片和复位芯片来保证系统运行时的稳定性。mini2440 的 PCB 采用沉金工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性,生产采用机器贴片,批量生产;出厂时都经过严格的质量控制。开发板提供了 Linux 和 WindowsCE6 系统,它们各自的 bootloader 以及 BSP 均是 100%开放的,可以在网站自由下载,网址:http://www.arm9.net

 

Mini2440 的众多先进特性,可以概括为:

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值