微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > Freescale+HC08+MCU集成开发环境的设计

Freescale+HC08+MCU集成开发环境的设计

时间:03-28 来源:互联网 点击:
1 引言

Freescale(其前身为Motorola半导体部)公司推出的系列MCU,具有单一电源供电、支持在线编程的内部Flash。在线写入、读出稳定,为研制新型嵌入式应用开发工具提供了技术基础。Freescale公司的MCU应用非常广泛,销量已多年名列前茅,其中HC08系列MCU,功耗低、运用灵活.占销量中的重要部分。开发廉价且实用的Freescale HC08系列MCU的编程调试开发工具对该系列MCU在我国的推广应用具有重要价值。目前市面上能支持HC08的集成开发环境(IDE).除了CodeWarrior,虽对HC08系列MCU都支持。但系统庞大,功能复杂。价格贵,另外一些高校如清华、复旦等,只能支持某几款芯片,对于有200多款的HC08 MCU,较大局限,使用不便,不利于应用开发,更不便于教学实践。

本实验室从1999年开始研制集成开发环境.在分析了各种嵌入式系统集成开发系统后.推出了一种新型的HC08MCU通用型的集成开发环境.每年不断进行改进升级.现已基本成型。本IDE具有结构清晰、操作简洁的特点.集成了程序编辑、编译、下载、联机调试、硬件评估等功能,有较好的实用前景。在阐述本IDE的设计基础上,本文简要分析了IDE的Pc方软件主要技术要点和简单介绍了本IDE配套的硬件系统的基本结构。

2 设计思路与技术优势

对HC08系列MCU。进行深入的研究。经过长期的实践与探索,研制了新型的嵌入式应用系统的集成开发环境。软件分两大部分:PC方软件和MCU方软件,配套硬件分三大部分:PC机、写入器(也称调试器或编程器)和实验箱(或评估板或嵌入式产品)。

1) IDE主要设计思路是:

(1)PC方软件提供程序管理、编辑、编译、下载、联机调试等功能,源程序经过编辑和编译成S19目标文件后.通过USB接口与写入器中的MCU(称主控MCU)方软件通信.将该目标文件发给主控MCU,然后写人器又与实验箱MCU(称目标MCU)芯片串行通信,将该目标文件写入目标MCU芯片的FIash中。成功后可以试运行。检验目标MCU中的程序能否正常运行.否则联机调试该程序。

(2)HC08系列MCU间资源差异较大,进入监控的支撑电路有差别,为了设计适用于不同MCU的通用IDE,解决这些问题是关键,具体方法参考文献,即MCU间资源差异的问题是通过PC机中的数据库保存其差异而得到解决。进入监控的支撑电路问题是通过在PC机和目标MCU间加一个主控MCU而得到解决从而为实现通用的IDE奠定基础。

(3)作为以MC908GP32(旧称MC68HC908GP32)MCU为蓝本进行“单片机原理与嵌入式应用”教学的实验箱配套软件,实验箱提供了基本实验所需的接线端口.还提供了扩展实验的接线排孔。运用本开发环境根据实验项目开发软件要求.可完成所有基于MC908GP32 MCU的接口实验。对于Freescale该系列其他MCU。可通过置换核心板(MCU与其支撑电路构成的),而达到更换HC08 MCU的目的,便于进行其他MCU的实验。

2) 本开发环境与传统的仿真器相比具有如下技术优势:

(1)传统仿真器的“仿真系统”一般是使用软件仿真的技术,在宿主机上通过软件的方式实现目标机的功能。这种方式虽可以模拟大部分目标机的功能。但是这种方式并非是真正的目标系统.往往在此基础上开发出来的程序.一旦移到目标系统上运行.却会出现一些在仿真软件中无法遇到的问题。而本开发环境是基于硬件之上的,对目标系统可以达到完美的模拟,即在本开发环境上开发出来的程序在移到目标系统上时,由于硬件基础相同.因此不会发生任何兼容性问题。

(2)与传统仿真器相比,提供的调试功能为在线调试方式,操作界面为Windows界面,操作犹如调试纯软件,方法简洁。

3 集成开发环境的设计

为方便开发和调试嵌入式系统,设计了基于C编译的HC08 MCU集成开发环境.软件总体分两大部分:PC方软件与MCU方软件.PC方软件可分为脱机编辑编译和联机下载调试两部分。MCU方软件设计请参考文献。

PC方软件采用标准的Win32界面.利用Visual C++MFC编写.主界面设计如图1所示,其中左边为工程管理窗口,右边为代码编辑窗口.下面为编译输出及调试窗口。


图1 集成开发环境主界面

本IDE的主要设计功能和技术特点如下:

(1)标准的Win32视窗界面,充分体现Windows平台的特性。具有安装方便、操作简洁等特点。并配置内容丰富的帮助系统,帮助用户快速入门,学习HC08 MCU的编程方法。

(2)工程管理。工程管理分别对c文件和头文件两种源文件进行管理.对汇编也支持.在主界面上以文件树的形式呈现。工程属性根据编程要求而设置,通过“编译设置”对话框进行,它包括MCU类型、Flash区程序的起始地址、RAM起始地址和终止地址、堆栈起始地址等设置。工程管理的主要功能是管理源程序文件和生成编译器所需的文件。在保存T程的同时后台生成了该工程的make file文件(包含编译选项和工程属性)、src文件(包含工程中使用到的文件和资源)。

(3)下载程序。下载程序是将生成的目标机器码写入目标MCU中的.包括通信模块和S19文件分析模块两部分。通信模块负责实现PC机与主控MCU的USB通信。发送命令、参数和程序代码等,和主控MCU一起对目标MCU完成相应的擦除、写入和调试等操作功能。S19文件分析模块负责先对S19文件进行分析和打包.将文件的内容转换成便于传输的格式,并判断文件中程序的起始地址、页数以及是否越界等.然后进行发送通信。

(4)调试器以及寄存器查看器和内存变量查看器。写入器也兼有调试功能.所以也称调试器。调试的功能设计是参照通用IDE的调试方法而设计的,进入调试模式(即监控模式),可以单步调试或断点调试。调试时可以通过寄存器查看器和内存变量查看器观察目标MCU运行的当前值,以便发现程序问题所在.实现在线调试功能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top