LPC2294的及时时钟表现工程计划阐发
发布日期:2011-05-16
LPC2294是飞利浦半导体公司生产的基于ARM7TDMI-S内核的芯片。本文先容一个基于LPC2294的完备的时钟表现计划工程,给出启动代码的细致计划进程,以厦时钟表现应用步伐的重要函敷阐明。此中的启动代码计划进程可供一样平常的基于ARM7TDMI-S内核的嵌入式处理惩罚器芯片参考利用。
引 言
嵌入式体系因此应用为中间,以谋略机技能为底子,软硬件可裁剪,适应于应用体系对成果、可靠性、本钱、体积、功耗有严格请求的专用谋略机体系。嵌入式体系有巨大和大略之分。通常代码量少的体系完成的成果有限,可以不利用嵌人式操纵体系,直接在裸机上开辟,利用的开辟东西可以是汇编语言和C语言;巨大的嵌入式体系保举利用嵌入式操纵体系。
ARM(Advarlced RISC Machine)是计划这种处理惩罚器内核的公司的名字,
ARM核并非芯片。
ARM核与其他部件,如RAM、ROM、片表里设,组合在一起才构成实际的芯片。
ARM作为一类微处理惩罚器的通称,作为一种低功耗、高性能的32位嵌入衰落处理惩罚器,如今已经被遍及应用在各个范畴中。
ARM应用的开辟东西重要包括集成开辟环境IDE、评估板和JTAG仿真器等。海内利用较多的IDE为
ARM公司的SDT、ADS以及英蓓特公司的Embest IDE。仿真器有
ARM公司的Muti-ICE和英蓓特公司的Embest系列
ARM JTAG仿真器等。
可以在PC机上开辟一个嵌入式体系,利用集成开辟环境编写并编译链接孕育产生
ARM处理惩罚器实行代码。然后用仿真器等调试东西调试,并下载代码到硬件上,如图1所示。
在嵌入式体系的编程开辟进程中,技能难点重要在于体系引导步伐的编写。为此提供一个较完备的小工程,细致阐发在
ARM7底子上开辟嵌入式体系时引导步伐的关键代码,并扼要先容应用步伐的重要函数。
LPC2294是基于一个支持及时仿真和跟踪的16/32位
ARM7TDMI-SCPU,带有256 KB嵌入的高速Flash存储器。它有极低的功耗、多个32位定时器、RTC模块、WDT模块等。
本文重要是在以LPC2294为内核的
ARM小体系中,在不采取操纵体系的环境下,试编写了一个工程,并下载到该开辟板的外部存储器(该开辟板的片外存储器为4 MB片外32位数据总线宽度Flash存储器),接上VFD表现模块后,脱机运行时,表现及时时钟告成。
该工程利用ADS开辟软件,在CodeWarrior IDE集成开辟环境下,编写编译并利用AXD和技创公司的techorICE仿真器诃试,并下载步伐,VFD模块采取PT6311驱动芯片。
工程的步伐重要分两部分:体系引导(BOOT)部分和应用步伐部分。
1 体系引导部分
体系引导(BOOT)是芯片复位掉队入应用步伐之前实行的一段代码,重要是为运行应用步伐提供根本的运行环境,对体系硬件和软件运行环境举行初始化。这些事变是用汇编语言和C语言完成的,是嵌入式体系中应用步伐的开头部分,与应用步伐一起固化在ROM中,并起首在体系上运行。
计划好体系引导(BOOT)是计划嵌入式步伐的关键,也是体系可以或许正常事变的条件。体系引导(BOOT)所实行的操纵重要依赖于CPU内核的范例,以及正在开辟的嵌入式体系软件中必要利用的CPU芯片上的资源。针对该款芯片和应用步伐的体系引导(B00T)代码的流程如图2所示。
以下按在片内RAM调试该工程时,次序出现的启动代码的有关文件,给出关键代码阐发:;中斯向量表,给出CPU芯片出现非常时应该转去实行的步伐
体系引导模块完成种种初始化事变后,用一条跳转指令进入C的主入口Main,以后控制权移交给了C应用步伐。
2 应用步伐部分
对付该工程中利用到的LPC2294芯片里的各个模块,如I/O端口、RTC、TIMERl,应该起首在相应函数中对该模块里的各个寄存器全部举行初始化,如许脱机运行时才华顺利表现。
下面扼要先容一下main.c主步伐里用到的各重要函数。
hitVfdl312();
该函数起首初始化LPC2294的P0口全部为GPIO口。本工程中设置PO.6与P0.7、P0.8为输出,并在硬件连接上分别接到PT6311模块的数据线、片选线、时钟线,然后利用P0.6与P0.7、P0.8送出数据到VFD模块,初始化VFD,舔加初始化数据。实际上初始化为空格,然后全部点亮VFD。
RTCIni();
初始化及时时钟并启动RTC。
TIMERl_InitTimef();
初始化定时器1,设置每过1ms孕育产生1次停止,即置位定时器里IR中的MR0位;并复位定时器计数器TC。
TIMERl_StartTimer();
使定时器1退出复位状态,并开始计时。
pollint();
设置变量_mSet、_10mSct、_100mSct,其数值代表的单位分别为1ms,10ms,110ms。随着定时器1的不绝置位停止和复位,它们的数值也相应孕育产生变革。
GetTime();
每过1s,读一下RTC里的时间,送到VFD缓冲区。
UpdateVfdl312();
每过100ms,读取VFD缓冲区里的数值,革新VFD表现。
结语
把该工程应用于基于LPC2294的开辟板外部存储器后,可以或许脱机运行,VFD及时时钟全部点亮,并且表现时间精确。
LPC2294实用于开辟税控配置。税控配置上有较多的模块,VFD客显模块是此中之一,可用来表现时间。
这个工程是一个较完备的工程,可以在该工程上扩展税控机的其他模块和应用步伐等。不必要窜改启动代码,只需在mian.c和其他应用步伐中添加相应的函数。以期以后开辟成一个完备的税控机体系。