首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 基于ARM芯片的PDA系统中硬件设计实现(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于ARM芯片的PDA系统中硬件设计实现(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2014-6-27 21:42
|
只看该作者
基于ARM芯片的PDA系统中硬件设计实现(2)
完成硬件电路设计并调试通过后主要针对以下3方面的软件编程功能实现:
对硬件电路(CPU及主要外围电路)的初始化,NAND_FLASH驱动程序和LCD驱动程序的编写及实现。
2.1 系统的初始化
初始化硬件电路主要完成STR7lO各寄存器的配置及内存映射和中断向量配置、处理器与外芯片的初始化以及功能库函数加载等。其主要步骤是首先调用71x_init.s源文件完成CPU各寄存器的初始化配置后中断异常的处理实现及中断优先级设置、系统堆栈和变量的初始化最后完成初始化后使用BL语句跳转至MAIN功能函数:IMPORT main;B main;main为C语言主函数入口。初始化流程图如图4所示。
2.2 NAND_FLASH驱动程序
NAND_FLASH的驱动主要包括芯片的复位,ID的正确读取,块的擦除,和页的写入和读取几个操作。此外NAND_FLASH允许要2%的坏块,在编写驱动时要做好NANDFLASH的坏块的统计与管理,坏块的识别主要是读取块中第一页的第6字节的1个WORD是否为FF来判断块的好坏。为了便于统计坏块和存储管理须在调用NAND_FLASH内存管理函数时建立坏块统计表,系统不断使用会增加坏块的数量,在每次系统启动时都可以通过调用内存管理函数来更新坏块表实现对内存的最优管理以提高系统的性能。坏块管理流程如图5所示。
NAND_FLASH驱动主要步骤:
(1)向指令寄存器写入0xFF使芯片复位;
(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技术也将获得广阔的发展空间。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议