《嵌入式应用在线编程开发系统的研制.pdf》由会员分享,可在线阅读,更多相关《嵌入式应用在线编程开发系统的研制.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、概述1 传统的嵌入式应用开发方法主要是使用仿真器模拟目标系统中的运行情况,希望达到在目标系统硬件尚未定MCU型与制版情况下,先行调试目标系统的硬件、软件设计,为目标系统的研制提供前期基础。但是,一些情况下,难以实现的实时仿真,有些功能在用仿真器调试时十分正100%常,而到了实际应用系统却不能顺利运行。同时,传统的仿真方式的一些调试功能仅适用于初学者,对于具有一定开发经验并拥有通用功能模块积累的开发者,往往增加了开发时间。目前,随着计算机制造技术的发展,许多公司新推出的具有片内存储器,存储器具有电可擦除、无MCUFlashFlash需后备电源保护数据、可在线编程等特点。在线编程(In-允许单片机
2、内部运行的程序去改写circuit Programming)Flash存储器的内容,利用这个特点,不仅可以在运行过程中修改某些运行参数,也为研制新型嵌入式应用开发工具提供了技术基础。公司目前正在陆续推出的新一代 位嵌入Motorola8式单片微机系列,其片内集成的存储器具有M68HC08Flash单一电源电压供电、支持在线编程等特点,它是在技Flash术比较成熟的条件下推出的,在线写入、读出稳定。年2000月,公司向苏州大学赠送了系列的4MotorolaM68HC08MCU实验开发设备,我校成为第一批从事系列单片机M68HC08教学推广单位,一些研究生及教师的研究开发项目也以系列单片机为蓝本。
3、经过两年多的探索与实践,M68HC08在对该系列内核结构分析的基础上,利用该系列MCUMCU支持存储器在线编程这一特点,自主研制了新型嵌入Flash式应用系统的开发系统。该系统与传统的仿真器相比具有如下新特点:传统仿真器的“仿真系统”与实际目标系统的硬件不是一套系统,难以实现目标系统的全部功能,这主要是由于过去的目标系统的程序存储器多为、或EPROMOTP不支持在线写入的存储器。新型的开发系统的硬件可Flash以直接构成目标系统的评估硬件,所调试的软件即运行于此系统,可以实现在线实时仿真;与传统仿真器相100%比,提供的调试功能与方法更多,操作更加简便,可以缩短开发进程;由于开发系统的硬件体系
4、就是目标评估系统,不必为仿真功能配置另外硬件,极大地减少了开发过程中的硬件实验成本;全部操作在界面下完成,为开发Windows者利用系统支持多任务操作提供便利,使之对源程Windows序的编辑、修改、编译、写入 下载、调试可以顺利切换,()加快了调试进程。鉴于国内具有这种功能的新型仿真开发工具还较少,技术仍在完善之中,本文介绍我们研制的以系列中通用型为应用目标M68HC08MC68HC908GP32 MCU的嵌入式应用在线编程开发系统,对其性能特点、硬件体系结构作扼要介绍,阐述软件系统的主要技术,并对其中的一些技术难点作了说明。在线编程开发系统的体系结构与功能特点2 的存储器区共,为了支持在M
5、C68HC908GP32Flash32kB线编程,本系统编制了的监控程序驻留在的存2kBMCUFlash储区高端,考虑到用户可使用,一般情况下的监控30kB2kB程序对程序存储空间并不构成影响。系统的程序写入等功能通过驻留于内部的监控程序与机软件通信完成。系统组PC成如下:在线开发板一块,其中内部写 MC68HC908GP32入支持在线编程的监控软件;机软件一套:标准2kB PC界面,支持的文件格式,内含帮助文WindowsMotorola.S19件。系统的硬件体系结构框图见图。实际接线时,直接1交流电源接入模块化电源,模块化电源将交流电220V220V转为直流电给系统供电。其串行口为 芯标准
6、串行接口,5V9通过三芯 发送、接收、地 与机的串行口相连,实现开发()PC基金项目:苏州大学科研基金(Q3118012)作者简介:王宜怀,男,副教授、博士生,主研智能控(1962)制、嵌入式系统收稿日期:2001-05-21嵌入式应用在线编程开发系统的研制王宜怀苏州大学计算机工程系,苏州(215006)摘要:利用新一代具有的存储器在线编程功能这一特点,研制集仿真、二次开发、实验评估、程序写入等功能于一体的新型嵌MCUFlash入式应用在线编程开发系统的时机已经成熟,文章介绍了以为应用目标开发的嵌入式应用在线编程开发系统。着重MC68HC908GP32 MCU阐述了其性能特点、硬件体系结构与软
7、件系统的主要技术,文中对一些技术难点进行了分析说明。关键词:在线编程系统;闪速存储器;系列单片机M68HC08An Embedded Application Development System Based on In-circuit ProgrammingWANG Yihuai(Department of Computer Engineering,Soochow University,Suzhou 215006)【】Abstract Based on the features of Flash memory in-circuit programming in Motorola new ser
8、ial MCU,this paper presents an embedded application development system.The system can be used to develop the application system based on MC68HC908GP32 MCU.Ithas the function such as imitating,re-exploitation,experiment evaluation,writing program,etc.The paper gives the features,hardware configuratio
9、n,software technology of the system.【】;Key words In-circuit programming systemFlash memoryM68HC08 serial MCU第28卷第12期Vol.28 12计算机工程Computer Engineering2002年12月 December 2002 博士论文 中图分类号:TP311.52 文章编号:10003428(2002)12 002203文献标识码:A 22板与机的通信。PC系统主要功能有:可以作为以为蓝本进行单片机原理(1)MC68HC908GP32 MCU与嵌入式应用教学的实验仪器 学生分
10、组、教师演示,不仅提供了()基本实验的接线端口,还提供了扩展实验的接线排孔。通过该系统可以完成所有基于单片机的接口实验。MC68HC908GP32可以作为开发实际嵌入式应用系统的评估板使用,提供在(2)线仿真功能。在该系统进行外部接线构成实际目标系统的评估系统,在此系统中进行程序调试、修改。用户板制作完毕后,经过评估系统调试过的软件可以直接用于实际用户板。可以作为基础开发工具,提供程序写入功能,在用户程序(3)小于的条件下,系统提供的带有监控程序的芯片直接可作为30kB用户程序芯片,只是要求用户了解监控程序的初始化状况,以便处理。系统的主要技术特点如下:的在线实时仿真。用户下载自己的程序进入芯
11、片后,(1)100%监控程序的控制自动转入用户程序执行。该实验开发板通过外部接插线完全可以模拟用户的实际应用系统板。所有程序均可在实验开发板上调试完成,给二次开发带来了极大方便。标准界面,帮助信息丰富,提供演示实例,不论对(2)Windows初学者还是对有经验的开发者均提供便利。直接支持的Motorola文件格式,显示所打开文件的内容,提示写入进程,自动擦除.S19写入区并自动校验。为系统组合方便,所有口引脚直接引出到插孔,供外接(3)I/O使用,开发板上提供了并行模拟区、键盘等模拟I/OA/DLCD区,可直接使用。同时还设计了插线及其它元件扩展槽,可以通IC过该扩展槽完成相关应用系统评估。不
12、要求用户改变中断向量,用户完全可以按照标准格式书(4)写程序,的管理软件自动扫描用户程序,将中断向量改变送给PC中的监控程序,中的监控程序将用户中断向量放入监控MCUMCU区,待相应中断发生时,由监控程序转入。写入后自动转入用户程序执行,为用户调试程序带来了方(5)便,加快了调试速度。也支持断点调试功能,此时要求用户进行相应输入或选择操作。复位后,在没有用户程序的情况下,一直处于监控联机状(6)态,若有用户程序,秒内处于监控联机状态,无用户联机信号,5转入用户程序执行。所以,对于无另外写入器的用户,可以利用本芯片作为用户程序芯片。在线编程开发系统的软件设计3 在线编程开发系统的软件分为两个部分
13、:一是驻留于内部的监控程序;另一是机的操作软件。MCUPC驻留于内部的监控程序3.1 MCU为了达到程序下载、断点调试、存储器的擦除、Flash写入程序的校验及用户中断向量的重新组织等目的,利用的存储器区较大这一特点,划出存储MC68HC908GP32Flash区高端的空间 约占总存储空间的,供监控程序使2kB(6%)用。使用存储区高端而不用低端作为驻留程序的存储区,其原因在于用户程序一般从低地址开始存放。监控程序的主要功能模块有:擦除模块与写入模块。由(1)FlashFlash于单片机内部的监控中没有固化GP32ROM编程子程序,要在运行中能对进行FlashFlash在线编程,本系统的驻留程
14、序,必须包含对的擦除及写入模块。需要说明的是,由Flash于对操作的擦除与写入模块驻留于FlashFlash区,在实际运行擦除及写入模块时,整个区会被加上高于普通工作电压的编程电Flash压 由内部电荷泵产生,致使对区读取()Flash不稳定,可能导致程序不能正常执行。为了使擦除、写入程序正常执行,运行时将擦除、写入模块复制到中,并转入区执行。RAMRAM通信握手模块。该模块的任务是建立与机的通信连接,(2)PC内部含有一定延时,出口为握手成功与否标志,一旦握手成功,就可处于数据接收状态,等待指令与数据。握手的方法是MCUPC处于主动方,不断地向机发送握手信号,同时判断接收MCUPCPC机的返
15、回信号,若有正确的返回信号,即为握手成功。用户中断向量重组与分布模块。单片机(3)MC68HC908GP32的中断向量区为,由于本系统驻留的监控程序先行启$FFDC-$FFFF动,从功能上讲,相当于一个小型实时操作系统,它夺取了(RTOS)部分中断向量,因此必须对用户中断向量重新组织与分布。数据接收与发送模块。接收机指令,根据命令接收有关(4)PC数据,并根据地址要求擦除有关区,将数据或程序写入FlashFlash区。同时,向机发送写入区的数据或程序,供校验。PCFlash断点调试处理模块。为支持断点调试功能,专门编制断点(5)调试处理模块,处理与断点调试相关的任务,至于断点设置、支持符号化调
16、试等功能,由机软件完成。PC驻留于区高端的监控程序的主程序流程图见图。Flash2限于篇幅,图中只给出了初始工作过程,接收机命令之PC后根据命令执行相应子模块,完成所要求的功能等内容不再详细画出。需要指出两点:根据图,系统初始化后判断有无用户程序存在,若(1)2无用户存在,系统一直处于向机发送握手信号状态,试PC图连接,从而接受机指令,进行程序下载等工作。若有PC23图 2 MCU 方 主 程 序 流 程 图 系统初始化 计时赋初值 有用户程序吗?Y N 进行通信握手 握手成功吗?N Y Y 进行通信握手 握手成功吗?N 时间到吗?转用户程序执行 N 接收PC机命令 MCU系统复位 根据命令执
17、行相应子模块,完成所要求的功能 图2 MCU方主程序流程图 模块化电源 串型口 MC68HC908GP32 芯片 复位按钮 IC 插线及其它元件扩展槽 PTC PTD PTB PTA 输出开关量接线排 输入开关量接线MAX232 MCU 外围 支撑电路区 IC 插线及其它元件扩展槽 电源保护电路 及电源指示区 模拟量接线区 键盘接线区 LCD 接线区 图1 MCU在线编程开发系统硬件结构框图串行口用户存在,系统同样要向机发送握手信号,试图连接,PC若连接成功,转入接收机指令,即进入监控状态,但PC是,这时不是一直处于通信连接状态,而是有一定时间限制,当时间到达后,无回答信号,转入用户程序执行。
18、这个特点使得用户可把带有本系统驻留程序的用户芯片直接作为用户程序芯片 而不影响其功能 增加了系统开发的方便性。,当程序从机下载至区域后,系统立即获得用(2)PCFlash户复位向量,转入用户复位向量执行,这一特点,使得程序写入后,无需另外操作,立即可以看到程序的运行结果。对于具有一定调试经验的程序员,充分利用这一特点,在调试过程中,给程序附加可直观观察结果的语句,对加快调试进度,找出错误位置十分有效。这样做,有时比设置断点调试还更有效。机方软件系统3.2 PC机方软件包含了通信连接、文件打开、文件扫描、PC文件重组、写入 含擦除 校验等功能,提供了输入操作按()钮、命令与数据输入区及显示界面。
19、为方便操作,系统给出了可视化操作界面与在线帮助,使得操作者不需记忆任何调试命令,通过界面按钮、选项等即可进行在线编程调试。系统还提供了断点调试、编译连接、源程序查看、符号化调试、寄存器及内存显示等界面,本文着重给出连接、打开文件及将程序写入芯片的界面的功能说明。至于断点在线调试及符号化在线调试功能,由于涉及的技术细节较多,将另文专门讨论其技术细节,本文只作概要性介绍,所以也不给出该界面。系统软件采用语言编写,图 给出了正在Visual Basic6.03进行程序写入时的主界面。由图可以看出,操作界面主要分为左右两大区域,左区为显示区,右区为操作区。左区自上而下分别为连接状态显示区、打开文件显示
20、区 文件名与文(件内容分开、写入进度显示区及运行状态显示区等。右区)自上而下分别为连接、打开文件、写入芯片、帮助及退出等命令按钮。下面简要介绍机软件系统的主要模块的功能及技术PC要点:通信连接在线开发系统板初始复位时,不断地向(1)机发出握手信号,所以在机方,当程序员按下“连PCPC接”按钮时,系统自动检测开发板接在机的哪个串行口PC上,并通过该串行口接收开发板送来的握手信号,并进行识别,当确认是正确的握手信号后,向开发板发送回答信号,表明握手成功。同时,在屏幕连接提示区给出工作提示及连接成功的动画指示,并将“写入芯片”按钮置为有效状态。若一段时间内未收到握手信号,提示连接失败,需按下开发板上
21、的复位按钮,进行重新连接。文件扫描与重组在“打开文件”按钮下,首先执(2)行打开文件的操作,系统给出打开文件对话框,当程序.S19员选定文件后,系统首先识别文件类型,若不是文件,.S19将给出错误提示,若是文件,系统将该文件调入内存。.S19第二,对文件进行第一次扫描,主要判别用户程序地址是否符合范围,若符合要求,对文件按地址进行重新组织,为写入芯片做准备。第三,对文件进行第二次扫描,主要目的是对文件按照单片机对擦除及写入的要MC68HC908GP32Flash求进行合理的分页 每页,页地址必须满足方要(128BMCU求,不连续的机器代码,进行补处理,并对中断矢量区FF)进行重组,以满足写入要
22、求。第四,文件正确组织后,将文件名 包括其路径、文件内容分别显示在屏幕的 打开文件()显示框的两个区内,若文件内容较多,将出现移动条。写入芯片模块在“写入芯片”按钮下,系统首先(3)判定连接是否成功、文件打开是否正确,若错误则给出错误提示,若正确则转入下一步。第二,系统向开发板发送写入命令,随后发送总页数。第三,逐页向开发板发送写入地址及程序的机器代码,开发板进行擦除一页的操作并写Flash入程序的一页,同时将写入后的程序代码读出反送给PC机,机软件系统接收该程序代码,与发送的程序代码进PC行逐个校验,若正确继续发送下一页;若错误,给出提示对话框。第四,在正确写入过程中,给出写入进度指示。第五
23、 写入完毕后 系统提示程序员 开发板已经转入执行写入的,程序 请观察执行情况。此后,可根据写入程序的功能,观,察开发板的有关情况,还可以利用本系统的“在线调I/O试”界面进行断点设置、符号化在线调试。断点功能与符号化调试的支持断点功能给初学者(4)调试程序提供方面,一般的断点功能是让程序员输入断点地址,当程序执行到该地址时,程序中断执行,在机屏幕PC上显示有关寄存器、内存的内容,供程序员观察。但是,断点地址与源程序之间存在鸿沟,给程序员调试程序带来不便。本系统通过文件的调入,给出了直接选择操作的.LST符号化调试功能,解决了断点地址与源程序之间鸿沟问题,使得调试开发板中程序的过程,与目前直接在
24、机上MCUPC调试高级语言程序的过程相似。关于这些内容的技术细节,内容较多,也比较复杂,将另文讨论。此外,系统还提供了标准帮助系统,方便程序Windows员操作。结束语4 本文给出的在线编程开发系统是建立在存储器技Flash术发展基础上的,没有近年来存储器技术的发展,要Flash实现嵌入式系统的在线编程与调试是困难的。存储器Flash的在线编程技术为开发新型的编程开发系统提供了有力的技术支持。但是有关的在线编程的技术文献资料比MCUFlash较少,特别是实用程序及在线仿真应用等方面技术实例目前还较少见到,涉及在线编程的技术细节也应进一步研Flash究。本文利用的所具有的在线编程功能Motoro
25、laMCUFlash开发的在线编程开发系统,为应用系统的开发提供了MCU24图 3 在线编程系统 P C机界面之一(下转第73页)所有的的功能,实现跨平台的交换。SDRM是支持所有环境数据的信息格式。有了,STFSTFM&S只需要使用的数据模型就可以进行数据的交换。对SEDRIS于的用户来说,是透明的,不依赖于任何平台。M&S STF这 个核心技术紧密结合在一起,解决了环境数据的表5示和交换问题。的、和用来实现SEDRISSDRMEDCSSRM环境数据的表示,提供了一种环境数据的描述机制,清晰地将所有环境数据整合在一起,确保环境数据的含义和语义的捕获和交换。的和提供了强大的交换功能,SEDRI
26、SAPISTF实现了环境数据的交换。的应用2.4 SEDRIS捕获、整合了数据元素和数据之间的相互关SEDRIS系,构成了一个表示综合环境的完整集合,用来支持跨越所有环境场所 地形、海洋、大气和空间 的所有应用领域()、计算机图像、可视系统生成、传感器仿真、电子地(CGF图、游戏等 的仿真应用。在图 中给出了使用的数)3SEDRIS据库生成和共享系统。图使用的数据库生成和共享系统3 SEDRIS尽管最初起源于领域,人们很快认识到:SEDRISM&S在诸多应用领域中,环境数据的表示和共享都是一个根本性的问题,都必须予以解决。在仿真界 军事和商用、多兵种军事训练与演练、()C4、新武器系统在内的大
27、型产品的设计研制、气象、自ISR然灾害预报、医疗手术的模拟与训练、或更为广泛的环GIS(境信息系统 等应用领域都需要解决环境数据的共享和交换)问题。可来用于解决这些应用中的环境数据的表示SEDRIS和交换问题。使用、可以完成环境数据的分析和SDRMEDCSSRM建模工作。地形公用数据模型(Terrain Common Data Model)以及随后的一系列的项目,都显示了和的超值EDCSSDRM价值。使用的和实现了数据的交换功能,可SEDRISAPISTF以对规模庞大的数据集合进行更加直接的访问,减少了维护和研制多种单个格式转换器的费用。在美国一系列的政府项目的系统设计中,都采用了的概念和体系
28、结构;一些SDRM商业组织使用来拓展现有的工具集、开发下一代的SEDRIS环境工具。这些都证明了的强大功能。SEDRIS结束语3 环境数据具有复杂、多维和相互关联的特性,一同为用户提供有意义的信息。无论仿真系统的体系、实现方案如:同构 异构,集中分布等 有什么差异,环境数据的表(/)示和交换都是极为重要的,它贯穿在仿真的整个生命周期中。综合环境数据的重用可以节省经费,互操作可以提高仿真系统的效率。环境数据已经成为许多当今应用中的重要组成部IT分。未来的信息技术应用会越来越关注综合环境数据的无缝表示。是应用SEDRISIT中环境数据的表示、理解、共享和重用的基础。SEDRIS可以实现环境数据的集
29、成、评估、查看、分析、转换和操作等功能,还可以用于解决与环境数据关联的更为复杂的问题。参考文献1 Worley M.SEDRIS Data Repres-entation Model Overview.STC 2001,Lake Tahoe,Nevada,2001-062 Birkel P,Carson S,Gravitz P.En -vironmental Data Coding Specification.STC2001,Lake Tahoe,Nevada,2001-063 Welch M R.Synthetic Environment Database.http:/www.sedris.
30、org4 Welch M R.SEDRIS AS an Interchange Medium.http:/www.sedris.org5 James M R.The Synthetic Environment.http:/www.sedris.org赵沁平 分布式虚拟战场环境现代战争的实验场 系统仿真学报6.,增刊 2001,13()上接第页(24)有力的支持,已经在教学、科研开发中发挥了良好的作用,实际应用表明,系统开发是成功的。同时,我们将进一步对系统进行升级与移植,使之适用更广。致谢:感谢公司提供实验开发设备、样片及技Motorola术资料。参考文献1 MOTOROLA.MC68HC90
31、8GP32 HCMOS Micro-controller Unit Technical Data.1999第三届杯单片机设计应用大奖赛竞赛委员会编 第三届2 Motorola.杯单片机设计应用大奖赛论文集电子产品世界特刊 Motorola.,2000-01微软 中国 有限公司译中3 Microsoft Corporation.().Visual Basic 6.0 文版程序员指南北京希望电脑公司 .:,1998刘慧银程建平龚光华微控制器原理及其嵌入4,.MotorolaM68HC08 式应用 北京 清华大学出版社 .:,2001张友德涂时亮陈章龙编著系列单片机原理与应用嵌5,.M68HC08 入式系统初步上海 复旦大学出版社 .:,200173本 地数据库格式 2本 地数据库格式 3本 地数据库格式 n储存库资 源纹理图像数据库生成系统2数据库生成系统3数据库生成系统n标 准公用数据模型接 口转换器转换器转换器地 图生成系统传感器数据库C I G数据库C G F数据库C G F编译器视 觉编译器传感器编译器标 准公用数据模型接 口转换器转换器综 合数据库格式 1数据库生成系统1S E D R I S数据库属 性观测值描 述3 D 模型地图海图数据库地 图
限制150内