



从市场和实际应用普及度等情况出发,本章选择了SumSung公司生产的ARM9处理器S3C2440作为嵌入式系统的核心处理器,选择了GT2440作为嵌入式系统的开发板。
S3C2440是SumSung公司开发的一款基于ARM920T内核和0.18μm CMOS工艺的16/32位RISC微处理器,适用于低成本、低功耗、高性能的手持设备或其他电子产品,其结构和各个模块的典型应用如图2.10所示。
S3C2440中集成了以下一些通用的系统外设和接口,其硬件特点说明如下。
● 采用 1.2V 内核供电,1.8V/2.5V/3.3V 存储器供电,3.3V 外部 I/O 供电,具备 16KB的I-Cache和16KB的D-Cache/MMU微处理器。
● 可以扩展外部存储控制器(SDRAM控制和片选逻辑)。
● 内置了最大支持4K色STN和256K色TFT 的LCD控制器,并且提供1 通道LCD专用DMA。
● 内置4通道DMA并有外部请求引脚。
● 内置3通道UART,支持IrDA1.0、64字节Tx FIFO和64字节Rx FIFO。
● 提供2通道SPI接口。
● 提供1通道I 2 C总线接口。
● 提供1通道I 2 S总线音频编解码器接口。
● 提供AC’97解码器接口。
● 兼容SD主接口协议1.0 版和MMC卡协议2.11兼容版。
● 提供了两个1.1版本的USB主机端口和1个USB设备端口。
● 内置了4通道PWM定时器和1通道内部定时器/看门狗定时器。
● 提供了8通道10比特ADC和触摸屏接口。
图2.10 S3C2440的硬件结构和典型应用
● 提供了具有日历功能的实时时钟(RTC)。
● 提供了摄像头接口,支持最大4096×4096像素。
● 提供了130个通用I/O口和24通道外部中断源。
● 具有普通、慢速、空闲和掉电模式。
● 具有PLL片上时钟发生器。
● 为手持设备和通用嵌入式应用提供片上集成系统解决方案。
● 采用了16/32位RISC体系结构和ARM920T内核强大的指令集。
● 采用ARM920T处理器内核,支持ARM调试体系结构。
● 采用了加强的 ARM 体系结构 MMU,可以支持 WinCE、EPOC 32 和 Linux 操作系统。
● 内置了指令高速存储缓冲器 I-Cache、数据高速存储缓冲器 D-Cache、写缓冲器和物理地址TAG RAM以减少主存带宽和响应性带来的影响。
● 内部高级微控制总线AMBA体系结构AMBA2.0、AHB/APB。
1.S3C2440的系统管理器
S3C2440的系统管理器具有如下特点。
● 支持大/小端方式。
● 支持高速总线模式和异步总线模式。
● 支持大寻址空间,每bank 128MB,总共1GB。
● 支持可编程的每bank 8/16/32位数据总线带宽。
● 共有 8 个存储器 bank,其中 6 个适用于 ROM、SRAM,其他另外两个适用于ROM、SRAM 和同步 DRAM。所有的存储器 bank 都具有可编程的操作周期,从bank0~bank6都采用固定的bank 起始寻址,bank7具有可编程的bank 的起始地址和大小。
● 支持外部等待信号延长总线周期。
● 支持掉电时的SDRAM自刷新模式。
● 支持包括NOR/NAND Flash、E 2 PROM等各种型号的ROM引导。
2.S3C2440的NAND Flash启动引导
S3C2440的NAND Flash具有如下特点。
● 支持从NAND Flash存储器的启动。
● 采用4KB内部缓冲器进行启动引导。
● 支持启动之后NAND存储器仍然作为外部存储器使用。
● 支持先进的NAND Flash。
3.S3C2440的Cache存储器
S3C2440的Cache存储器具有以下特点。
● 64项全相连模式,采用I-Cache(16KB)和D-Cache(16KB)。
● 每行8字长度,其中每行带有一个有效位和两个dirty位。
● 伪随机数或轮转循环替换算法位。
● 采用写穿式(write-through)或写回式(write-back)Cache操作来更新主存储器。
● 写缓冲器可以保存16字的数据和4个地址。
4.S3C2440的时钟和电源管理
S3C2440拥有片上MPLL和UPLL,采用UPLL产生操作USB主机/设备的时钟,MPLL可以在1.3V下产生最大输出为400MHz的处理器工作时钟,其时钟和电源管理的主要特点说明如下。
● 通过软件可以有选择性地为每个功能模块提供时钟。
● 电源具有正常、慢速、空闲和掉电模式。
● 可以通过EINT[15:0]或RTC报警中断来从掉电模式中唤醒处理器。
5.S3C2440的中断
S3C2440内部提供了60个中断源,包括1个看门狗定时器、5个定时器、9个UARTs、24个外部中断、4个DMA、2个RTC、2个ADC、1个I 2 C总线接口、2个SPI总线接口,1个SDI、2个USB、1个LCD、1个电池故障、1个NAND Flash、2个Camera接口和1个AC97音频,其中断具有如下特点。
● 提供了电平/边沿触发模式的外部中断源。
● 提供了可编程的边沿/电平触发极性。
● 支持为紧急中断请求提供快速中断服务。
6.S3C2440的PWM模块
S3C2440提供了4通道16位具有PWM功能的定时器,1通道16位内部定时器,可基于DMA或中断工作,其具有如下特性。
● 提供了可编程的占空比周期,频率和极性。
● 能产生死区。
● 支持外部时钟源。
7.S3C2440的实时时钟
S3C2440的实时时钟提供了包括秒、分、时、日期,星期、月和年在内的完整时钟特性,具有如下特性。
● 采用32.768kHz 工作。
● 提供报警中断。
● 提供节拍中断。
8.S3C2440的通用I/O端口
S3C2440 提供了24个外部中断端口和130个多功能输入/输出端口。
9.S3C2440的DMA控制器
S3C2440内置了4通道的DMA控制器,具有以下特点。
● 支持存储器到存储器、I/O到存储器、存储器到I/O和I/O到I/O的数据传输。
● 可以采用触发传输模式来加快传输速率。
10.S3C2440的LCD控制器
S3C2440的LCD控制器提供了对STN LCD和TFT LCD的显示支持。
S3C2440支持4位双扫描、4位单扫描、8位单扫描共3种显示类型的STN LCD显示屏;支持单色模式、4级、16级灰度STN LCD、256色和4096色STN LCD。其还支持多种不同尺寸的液晶屏,包括640×480、320×240、160×160等,其最大虚拟屏幕大小为4MB,在256色模式下支持的最大虚拟屏可以达到4096×1024、2048×2048、1024×4096等。
S3C2440还支持TFT格式的LCD,其特点说明如下。
● 支持1、2、4或8bbp(像素每位)调色显示。
● 支持16、24bbp无调色真彩显示TFT。
● 在24bbp模式下支持最大16M色TFT。
● 支持包括屏幕大小为 640×480、320×240、160×160 的实际屏幕,提供 4MB 的虚拟屏,在64K色彩模式下可以达到最大尺寸为2048×1024的虚拟屏。
11.S3C2440的UART
S3C2440内置3通道UART,可以基于DMA模式或中断模式工作,其支持5位、6位、7位或8位串行数据发送/接收支持外部时钟作为UART的运行时钟,具有以下特点。
● 可编程的波特率。
● 支持IrDA1.0。
● 具有测试用的还回模式。
● 每个通道都具有内部64字节的发送FIFO和64字节的接收FIFO。
12.S3C2440的A/D转换和触摸屏接口
S3C2440 内置了一个8通道多路复用ADC模块,可以提供最大500KSPS/10 位精度,并且提供了一个内部TFT直接触摸屏接口。
13.S3C2440的看门狗定时器
S3C2440提供了16位的看门狗定时器,在定时器溢出时发生中断请求或系统复位。
14.S3C2440的I 2 C总线接口
S3C2440 提供了1通道多主I 2 C总线接口,可进行串行、8位、双向数据传输,标准模式下数据传输速度可达100Kb/s,快速模式下可达到400Kb/s。
15.S3C2440的I 2 S总线接口
S3C2440 提供了1通道音频I 2 S总线接口,可基于DMA方式工作;其采用每通道8/16位串行数据传输,发送和接收具备128字节(64字节加64字节)FIFO缓冲,支持I 2 S格式和MSB-justified数据格式。
16.S3C2440的AC97音频解码器接口
S3C2440支持16位采样,支持如下功能:
● 1-ch立体声PCM 输入;
● 1-ch立体声PCM输出;
● 1-ch MIC输入。
17.S3C2440的USB总线接口
S3C2440提供了遵从OHCI Rev.1.0标准、兼容 USB version 1.1标准的两个USB主设备接口和1个兼容USB version 1.1标准,具有5个Endpoint的USB从设备接口。
18.S3C2440的SPI总线接口
S3C2440提供了兼容2.11版SPI协议的2通道SPI接口,发送和接收具有2×8位的移位寄存器,可以基于DMA或中断模式工作。
19.S3C2440的摄像头接口
S3C2440内置了ITU-R BT 601/656 8-bit模式的摄像头接口,其特点说明如下:
● 具有DZI(数字变焦)能力;
● 具有极性可编程视频同步信号;
● 最大值支持4096×4096像素输入,支持 2048×2048像素输入缩放;
● 支持X轴、Y轴和180°镜头旋转;
● 摄像头输出格式为16/24-bit的RGB与YCBCR 4:2:0/4:2:2格式。
20.S3C2440的SD卡接口
S3C2440提供了兼容2.11版MMC卡协议的SD卡接口,提供了正常、中断和DMA数据传输模式,支持字节、半字节传输,其具有如下特点:
● 只支持字传输的DMA burst4接入支持;
● 兼容SD存储卡协议1.0版;
● 兼容SDIO卡协议1.0版;
● 发送和接收具有64字节FIFO。
21.S3C2440的工作电压、操作频率和封装
S3C2440采用了289-FBGA封装,其Pclk最高可达68MHz,Hclk最高可达136MHz,Fclk最高可以达到400MHz。
在不同的工作频率下,S3C2440需要不同的核心工作电压,300MHz时工作电压为1.2V;400MHz时工作电压为1.3V。
S3C2440的I/O端口为3.3V电平,其内存支持1.8V、2.5V、3.0V和3.3V工作电压。
S3C2440是采用ARMv4架构的ARM920T处理器,到其内核包括以下几部分:
● ARM9TDMI(32位RISC)处理器;
● 数据缓存器(Data Cache);
● 指令缓存器(Instruction Cache);
● 指令存储管理单元(Instruction MMU);
● 数据存储管理单元(Data MMU);
● 写缓冲(Write Buffer)和回写存储单元(Write Back PA TAG RAM)。
以上部件通过AMBA总线(AMBA Bus)相互传输数据以实现指令和数据的并行处理,除此之外,内核还包括四个与外界进行数据交换的接口:
● 总线接口(AMBA Bus Interface);
● 扩展协处理器接口(External Coprocessor Interface);
● 跟踪接口(Trace Interface);
● JTAG接口。
这些接口可以连接DMA控制器、UART、USB、中断控制器和电源管理器等。核心通过与外围部件共同工作完成整个嵌入式系统的正常数据处理任务。
1.S3C2440的工作模式
S3C2440有7种运行模式,说明如下。
● 用户模式(User,usr):正常程序执行时S3C2440所处的状态。
● 快速中断模式(FIQ,fiq):用于快速的数据传输和通道处理。
● 外部中断模式(IRQ,irq):用于通常的中断处理。
● 特权模式(Supervisor,sve):供操作系统使用的一种保护模式。
● 数据访问中止模式(Abort,abt):当数据或指令预期终止时进入该模式,用于虚拟存储及存储保护。
● 未定义指令终止模式(Undefined,und):用于支持硬件协处理器软件仿真。
● 系统模式(System,sys):用于运行特权级的操作系统任务。
通常情况下,应用程序运行在用户模式下,这时应用程序不能访问一些受操作系统保护的系统资源,同时应用程序也不能直接进行处理器模式的切换。
当应用程序发生异常中断时,处理器进入相应的异常模式。在每一种异常模式中都有一组属于自己的寄存器,供相应的异常处理程序使用,这样可以保证异常模式时用户程序下的寄存器值不被破坏。
系统模式属于特权模式,它和用户模式具有完全一样的寄存器,在该模式下,可以访问所有的系统资源,也可以直接进行处理器模式切换。注意,从用户模式进入到系统模式,并不是通过异常过程进入的。
2.S3C2440的寄存器
S3C2440处理器共有37个寄存器,其中有31个通用寄存器、6个状态寄存器,这些寄存器都是32位的。
S3C2440处理器运行在每一种模式下时,都会使用属于自己的一组寄存器组,通常包括15个通用寄存器(R0~R14)、一个或两个状态寄存器及程序计数器(PC)。每一种模式下的寄存器组是部分重叠的,图2.11列出了各处理器模式下可见的寄存器情况。
图2.11 各种处理器模式下的寄存器
通用寄存器中R0~R7是所有处理器模式公用的一组寄存器,也就是说,在从一种模式切换到另一种模式时,必须保存它们的值。R8~R14为备份寄存器,其中对于R8~R12来说,每一个寄存器对应两个不同的物理寄存器,R13和R14对应6个不同的物理寄存器,其中R13通常用作堆栈指针,采用下面的记号来区分各个物理寄存器:
其中<MODE>通常可以使用下列几个值:usr、svc、abt、und、irq及fiq。
R14寄存器有两个特殊的作用:
● 用户模式下,R14用作链接寄存器(LR),存放子程序被调用时的返回地址;
● 异常处理模式下,R14用来保存异常的返回地址。
R15为程序计数器,又记作PC。由于ARM采用了流水线机制,因此PC的值为当前指令地址的值加8字节,也就是说,PC指向当前指令的下两条指令的地址。
在ARM处理器中,程序状态寄存器用来保存程序执行时的各种状态值,包括条件标志位、中断禁止位、当前处理器模式标志和其他一些位。程序状态寄存器分为CPSR和SPSR两种类型。在任何一种处理器模式下,都会有一个公用的CPSR,另外异常模式下还会有一个专用的SPSR(备份程序状态寄存器)。当异常发生时,这个寄存器用于存放当前程序状态寄存器的内容,当退出异常处理时,再把SPSR中的值恢复到CPSR中。CPSR和SPSR格式相同,如图2.12所示。
图2.12 CPSR和SPSR的格式
3.S3C2440的异常处理
S3C2440的异常是ARM体系结构中的异常,其与8位/16位体系结构的中断有很大的相似之处,但异常与中断的概念并不完全等同。在ARM体系架构中,将正常的程序执行流程发生暂时的停止的情况都称为异常,中断不过是其中最为常见的一种,而且被区分为外部普通中断(IRQ)和外部快速中断(FIQ)两种。在处理异常之前,当前处理器的状态必须保留,这样当异常处理完成之后,被异常所“打断的”程序可以继续执行。ARM处理器允许多个异常同时发生,它们将会按固定的优先级进行处理。
中断是外界和嵌入式系统交换信息的最重要的一种方式,中断处理也是ARM编程模型中需要详细了解的一部分知识。理解异常处理是理解ARM体系结构的一个重要途径,因为异常处理中涉及相当多的ARM体系结构知识。
S3C2440所支持的异常及其对应的具体含义如表2.11所示。
表2.11 S3C2440所支持的异常
续表
由表2.11可以看出,S3C2440实际上是将可能遇到的各类“异常”情况在体系架构层次上做了比较详细的划分。在实际运行中,如果某种异常出现,ARM内核可以由硬件来判断异常的类型,然后自动跳转到对应的某个特定地址上(这些地址位于从某个地址开始的一段连续内存上),从这个特定地址再次跳转到对应的异常处理函数中去,从而进行快速处理。在异常处理的细节过程中,涉及寄存器值的保存和恢复、ARM内核工作模式的切换、工作模式堆栈的维护等一系列ARM底层知识。
图2.13所示的异常向量表是由一组跳转指令构成的连续地址上的指令集合,“表”中指定了各异常模式及其处理程序的对应关系,它通常存放在存储器地址的低端起始地址上(有的内核型号支持将该表放置在特定的高地址)。在ARM体系中,异常向量表的大小为32字节。其中,每个异常占据4字节,保留了4字节空间。每4字节空间存放一个跳转指令或一个向PC寄存器中赋值的数据访问指令。通过这两种指令,程序将跳转到相应的异常处理程序处执行,形式通常如下:
图2.13 ARM 异常向量表
需要说明的是,当ARM内核工作在16位数据宽度的“Thumb”模式下时,如果发生异常,内核模式会自动切换回ARM工作模式,然后才跳转到对应的地址上去,否则对每次取指令到底是取32位数据还是16位数据就会产生疑惑。
可以把“异常向量表”理解为硬件对于发生某种特定情况时,用软件接管处理的入口地址列表。这张表占据了一块特殊的地址空间,使得硬件只要判断出异常类型,然后跳到对应地址就可以了,接下来的工作交由程序员来完成。异常向量表的内容和建立过程也需要程序员设计好,也就是说,这些特殊的地址上原本并没有这张向量表,需要复制或写入。最常见的建立异常向量表的方法是利用ARM公司的软件工具(ADS/MDK)所提供的“Scatter Loading”(分散装载)的方式,可以很轻松地实现异常向量表在某个地址的复制。
当多个异常同时发生时,系统根据固定的优先级决定异常的处理次序。当然有些异常是不可能同时发生的,如指令预取中止异常和软件中断(SWI)异常是由同一条指令的执行触发的,它们是不可能同时发生的。处理器执行某个特定的异常的过程称为处理器处于特定的异常模式。各异常的向量地址及异常的处理优先级如表2.12所示。
表2.12 异常向量的优先级
注意异常类型(模式)和工作模式之间的区别和对应关系,工作模式是寄存器分组的依据,每种工作模式都有自己特定的寄存器和自己的堆栈,而异常类型是ARM体系结构对各种异常情况的细分,发生一种异常时会进入唯一对应的工作模式对异常进行处理,这一点需要在学习的时候加以注意。
当一个异常出现以后,S3C2440通常会执行以下几步操作。
(1)将下一条指令的地址存入相应的链接寄存器LR,以便程序在处理异常返回时能从正确的位置重新开始执行。
(2)将CPSR复制到相应的SPSR中。
(3)根据发生的异常类型,强制设置CPSR的运行模式位,此后ARM内核进入对应的异常工作模式,对异常情况进行处理;屏蔽中断,暂时禁止新的中断发生;处理器原先处于Thumb状态,之后自动切换到ARM状态,使得在接下来的软件处理中总能以字符为单位取到新执行的指令,而不至于因为状态未知而导致取值宽度不确定。
(4)强制PC值为相关的异常向量地址,在该地址上,存放着跳转到软件处理异常函数的入口地址,从而跳转到相应的异常处理程序。硬件对异常的自动响应到此结束,后继由软件接管,处理异常并返回。
可以说,异常处理是硬件和软件协同工作完成对外界信号的反应,以上4个步骤由硬件完成,实现了对异常发生时刻的部分现场保护,其他需要保护的寄存器值则由后继的软件处理进行保存。原则上说,需要保护的寄存器就是在后面异常处理中用到的寄存器,它们原先的值需要保存到存储器中。通常采用“栈”的方式,用压栈汇编指令依次保存到存储器中去。由于不知道需要保存哪些寄存器,在一般的现场保护过程中,采用保护所有要处理的异常模式对应的通用寄存器,如果涉及工作模式的再次切换或重入,那么状态寄存器、连接寄存器也要保护。
软件部分还要对异常的具体情况进行处理(如中断处理),处理完成以后进行中断返回,即现场恢复,回到异常发生时刻的状态。
异常处理完毕之后,S3C2440微处理器会执行以下几步操作,以从异常返回。
(1)将连接寄存器LR的值减去相应的偏移量后送到PC中。
(2)将SPSR复制到CPSR中。
(3)若在进入异常处理时设置了中断禁止位,要在此清除。
特别需要注意的是,各种异常返回时需要减去的偏移量是不同的,需要根据不同的异常种类加以区别。可以认为应用程序总是从复位异常处理程序开始执行的,因此复位异常处理程序不需要返回。
当一个异常处理返回时,一共有3件事情需要处理。
● 通用寄存器的恢复。
● 状态寄存器的恢复。
● PC指针的恢复。
通用寄存器的恢复采用一般的堆栈操作指令,而PC 和CPSR 的恢复可以通过一条指令来实现,下面是三个例子:
这几条指令都是普通的数据处理指令,特殊之处就是把PC 寄存器作为目标寄存器,并且带了特殊的后缀“S”或“^”。在特权模式下,“S”或“^”的作用就是使指令在执行时,同时完成从SPSR到CPSR的复制,达到恢复状态寄存器的目的。
异常返回时另一个非常重要的问题是返回地址的确定。在前面章节中提到进入异常时处理器会有一个保存LR 的动作,但是该保存值并不一定是正确中断的返回地址。下面以一个简单的三级流水线的情况下,指令执行流水状态图来对此加以说明,如图2.14所示。
图2.14 状态下三级指令流水线执行示例
系统运行时,异常可能会随时发生,为保证在S3C2440发生异常时不至于影响程序的运行,在应用程序的设计中,必须进行异常处理,采用的方式是在异常向量表中的特定位置放置一条跳转指令,跳转到异常处理程序,当S3C2440发生异常时,程序计数器PC会被强制设置为对应的异常向量地址,从而跳转到软件人员编写的异常处理函数,当异常处理完成以后,返回主程序继续执行。
下面以最常见的中断为例,详细地看一下从中断发生到处理、返回的具体过程。假设在A+4地址处发生了一次中断异常,那么S3C2440会按照图2.15所示的顺序进行处理。
图2.15 S3C2440中断处理流程
4.S3C2440的存储器组织
S3C2440以虚拟地址的方式对存储器进行组织。与其他架构如x86一样,ARM体系架构的处理器也存在大小端的问题,不同的寻址方式会有不同的结果。大小端寻址方式可以通过硬件引脚由用户控制,ARM9及其以上架构都由MMU单元来管理存储器。
ARM储存器的组织主要有两大类型,分别为小端格式和大端格式,也称为小端次序(Little Endian)的字节序和大端次序(Big Endian)的字节序(Byte Order)。两种储存类的区别在于一个32位的数据存放到储存器中时,高位字节是放在高地址还是放在低地址,如图2.16所示。
图2.16 ARM大小端存储系统
当用户储存一个32位数据0x11223344到地址0x100上时,如果是小端字节序,那么存储在0x100地址上的字节应该为0x44这个数据、0x101为0x33、0x102为0x22、0x103为0x11,也就是高位数据放高位地址,低位数据放低位地址。而大端字节序则正好相反。
字节序确定了储存的基本方式,特别是在对半字和字节为宽度的数据操作时,需要特别注意。如图2.16中所示,使用LDRB(以字节为单位装载寄存器)时,不同的字节序所获得的数据结果是不一样的。
注意: S3C2440默认的字节序方式为小端字节序。
不同的嵌入式应用系统中,其存储体系也会差别很大。例如在ARM7TDMI核中,存储体系使用最简单的平板式地址映射机制。在该方式下,对地址空间的分配是固定的,系统使用物理地址,就像单片机系统一样,这种方式会带来以下几个问题。
● 程序员必须自己管理物理内存的分配、使用和回收,增加了编程的难度。
● 应用程序出错可能会带来整个内核的崩溃。
为此,在很多ARM微处理器内核中,都使用虚拟内存映射机制,整个内存由内存管理单元(即MMU)进行管理,整个系统使用虚拟地址,再由MMU将其映射为实际的物理地址,图2.17为MMU转换示意图。
图2.17 高速缓存的MMU存储器系统
这种映射机制对于嵌入式系统非常重要,在通常情况下,MMU主要完成以下工作。
● 虚拟存储空间到物理存储空间的映射。在 ARM 中,无论是物理地址还是虚拟地址都使用分页机制,即把空间分为一个个大小固定的块,每一块称为一页。物理空间的页和虚拟地址的页大小相同。
● 存储器访问权限的控制。
本章采用的嵌入式开发板是基于三星S3C2440的GT2440平台,其硬件实物外观如 图2.18所示。目前市面上的S3C2440开发板大都基于该平台开发,尽管配置与芯片的选用上稍有差别,但大体性能并没有多大的改变。因此基于嵌入式ARM的Linux开发在该平台上几乎通用,并不局限于某一种或某一款型号的开发板。用户如果想在不同厂商的目标板上移植,只需修改有限的几个参数,就能很方便地实现,这也正是嵌入式的优势之一。
GT2440平台的硬件的主要特性如下。
● 采用的CPU处理器是Samsung S3C2440 ARM9系列,其主频为400MHz,最高可达533MHz。
● 板载32bit数据总线的64M时钟频率为100MHz的SDRAM。
图2.18 GT2440平台的实物示意
● 板载256M Nand Flash和2M Nor Flash,均为掉电非易失,且后者已经安装BIOS。
● 供电采用专业1.25V核心电压供电,能耗较低。
GT2440的接口和硬件资源说明如下,其对应实物的具体分布如图2.19所示。
● 提供了1个采用CS8900网络芯片的10MB以太网RJ-45接口。
● 提供了3个串口,其中两个需要自行引出。
● 提供了1个USB HOST接口和1个USB Slave B型接口。
● 提供了1个SD卡接口。
● 提供了1路麦克输入和1路立体音频输出接口。
● 提供了1个2.0mm间距20针标准JTAG接口。
● 提供了4个用户可编程发光二极管和4个用户可编程独立按键。
● 提供了1个PWM驱动蜂鸣器。
● 提供了1个用于A/D转换模块测试的可调电阻。
● 提供了1个I 2 C总线接口的E 2 PROM芯片AT24C08。
● 提供了1个20pin摄像头接口。
● 提供了带板载电池的实时时钟。
● 提供了带电源开关和指示灯的12V电源接口。
GT2440目标板支持两种启动模式:一种是从Nand Flash启动;另一种是从Nor Flash启动。它们可以使用跳线进行切换,在这两种启动模式下GT2440的存储器地址空间分布是不同的,如图2.20所示,其中左边是nGCS0片选的Nor Flash启动模式下存储器空间分布,右边是Nand Flash启动模式下的存储分布。
图2.19 GT2440的接口和硬件资源分布
图2.20 GT2440的启动模式和存储器空间分布