(2)调用Unsigned int check_Flash_Id(void)函数读取芯片ID:
For(i=0;i<10;i++);id=Nand_IO<<8;id+=Nand_IO; //读出2个字节即芯片ID
(3)调用NAND_manage()函数做坏块管理;
(4)调用Unsigned int Erase_Block(unsigned intblock)实现块的擦除;
(5)调用int Write_page()和int Read_page()写入和读出页数据。
2.3 LCD驱动程序设计
在系统中LCD驱动程序主要是对屏幕显示的初始化包括字符显示高度和宽度、行字符显示数、显示频率的设置以及显示点位移设置、显示合成设置、休眠模式设置、光标形状设置、光标指针设置等操作。
LCD驱动LCD_Initialize(void)主要步骤:
(1)调用LCD_WriteCommand(SYSTEM_SET);用于系统初始化。
(2)调用LCD_WriteCommand(SCROLL);用于显示域设置。
(3)调用LCD_WriteCommand(HDOT_SCR);用于光标点位移设置。
(4)调用LCD_WriteCommand(OVLAY);用于显示合成设置。
(5)调用LCD_WriteCommand(CSRFORM);
LCD_WriteData(0x07);LCD_WriteData(0x87);用于初始化光标形状。
设计好驱动后利用ADSl.2编译器将程序烧至RAM进行调试,可根据屏幕显示字符尺寸大小及适宜程度再做修改驱动程序直至满意。
3 系统调试
当设计好硬件系统后,要对电路板进行整体调试看各功能模块是否正常,值得注意的是在设计NAND_FLASH接口电路时不能将ALE,CLE,WP,R/B全部连接到STR710的地址线上否则会引起两者间的时序不匹配。在设计NAND_FLASH文件系统时采用F16系统可根据系统需要修改ST公司提供的F16文件系统代码。
4 结 语
该设计是基于ARM芯片的STR710嵌入式PDA系统,很好实现了硬件系统的设计以及LCD显示器、NAND_FLASH的驱动程序、基于F16文件系统在NAND_FLASH大容量数据的文件存储管理。随着信息化、智能化、网络化的快速发展,嵌入式PDA技术也将获得广阔的发展空间。