2 硬件设计
2.1 芯片及存储器设计
系统选用了三星公司基于ARM 9 内核的S3C2440嵌入式处理器。S3C2440被广泛应用于PDA、移动通信、路由器、工业控制等领域, 芯片中集成了下列模块: 16 KB指令Cache、16 KB数据Cache、MMU、外部存储器控制器、LCD控制器、NAND Flash控制器、4通道PWM 定时器和1个内部定时器、168脚通用GPIO、实时时钟、8通道10 bit的AD和触摸屏接口、标准20 pin JTAG调试接口等。存储器方面采用标准的64 MB Nand-Flash用于数据存储和64 MB SDRAM用于程序的运行。
2.2 A/D采样、显示和接口设计
A/D转换单元采用MAX1297AEEG实现12位并行模数转换,直接与核心板的I/O线连接,如图2所示。由于S3C2440自带有LCD控制器,所以免去了LCD控制器的设计,显示屏采用NEC公司的3.5寸的压电式触摸LCD,分辨率为240×320。以太网接口采用TC3097F-5芯片。
3 软件设计
3.1 BootLoader的移植
BootLoader是在操作系统内核运行之前运行的一段小程序。大多数BootLoader都分为Stage1 和Stage2 两大部分。Stage1主要包含依赖于CPU的体系结构硬件初始化的代码,通常都用汇编语言来实现。这个阶段的任务有:(1)为基本的硬件设备初始化;(2)为第二阶段准备RAM空间;(3)设置堆栈并跳转到第二阶段的程序入口点。Stage2通常用C语言完成,以便实现更复杂的功能,也使程序有更好的可读性和可移植性。这个阶段的任务有:(1)初始化本阶段要使用到的硬件设备,检测系统内存映射;(2)将内核映像和根文件系统映像从Flash读到RAM;(3)为内核设置启动参数,调用内核。系统采用韩国MIZI公司开发的开源BootLoader, 即vivi,对vivi进行必要的裁剪并移植到系统当中。