• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 初中学习 > 正文

    [基于ARM的嵌入式虚拟实验室建设的探索]嵌入式实验室

    时间:2019-01-27 03:28:13 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘要:嵌入式开发需要良好的软硬件开发环境,并且硬件开发平台比较昂贵。Proteu$软件较好的解决了硬件仿真问题,它支持外围器件和常用处理器协同仿真,可以根据需要搭建虚拟仿真平台。使用嵌入式开发工具Keil进行软件开发,以处理器LPC2106为例,通过Proteus和Keil联合调试与仿真构建基于ARM嵌入式虚拟实验室,并通过一个演示实验来证明构建方案的可行性。
      关键词:Proteus Keil 嵌入式 虚拟实验室
      嵌入式系统是以应用为中心,软硬件可裁剪的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用电脑系统;主要由嵌入式CPU、相关硬件、嵌入式OS操作系统及应用软件等组成。嵌入式系统功耗低,可靠性高;功能强大,性能价格比高;实用性强,支持多任务;占用空间小,效率高;面向特定应用,可根据需要灵活定制。
      嵌入式系统应用广泛:用于移动电脑平台、信息家电、无线通信设备、工业控制,甚至军事应用等诸多领域。
      但对于嵌入式系统开发人员而言,往往没有足够的资金够买昂贵的开发板进行开发,使用虚拟实验室的软件仿真来学习嵌入式系统开发无疑是最好的选择。
      
      1、Proteus体系结构和VSM虚拟模型。Proteus是目前最好的能够虚拟嵌入式系统开发中常用的处理器和外围器件的EDA工具。
      
      Proteus是一个完整的嵌入式系统软、硬件设计仿真平台,它包括原理图输入系统ISIS、带扩展的ProSPICE混合模型仿真器、动态器件库、高级图形分析模块和处理器虚拟系统仿真模型VSM。Proteus软件提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。
      Proteus VSM的核心是ProSPICE,这是一个组合了SPICE3F5模拟仿真器核和不基于快速事件驱动的数字仿真器的混合仿真系统,能实现数字电路、模拟电路及数/模混合电路的设计与仿真,特别是能实现嵌入式与外设的混合电路系统设计和仿真。
      利用该软件用户可以根据需要搭建开发平台,将编译好的目标代码加载到芯片中。目前支持的编译器有Keil for ARM、IAR ARM、GNU ARM等。这些编译器都可以和Proteus软件整合实现代码级调试,即通过这些编译器在Proteus软件中调试程序。在Proteus软件中还可以查看各种调试信息,如源代码执行情况、CPU寄存器信息、变量值以及Flash与RAM中的信息等。
      大量的元件库支持大型设计,而且还可以观察各元件的状态。Proteus最重要的特点是它能把微处理器软件作用在处理器上,并与该处理器的任何模拟和数字器件协同仿真,仿真执行目标码就像在真正的嵌入式系统上运行一样。VSM模型能完整地仿真I/O口、中断、定时器、通用外设接口和其它与CPU有关的外设甚至能仿真多个处理器。
      
       2、Kei I For ARM集成开发环境。与Proteus联合使用的第三方软件Keil forARM,Keil支持c语言和汇编语言的编译器软件,可以编辑、编译汇编语言、c语言,连接定位目标文件和库文件,创建HEX文件,调试目标程序等。Keil可以进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可以利用硬件仿真器,搭接上嵌入式硬件系统,在仿真器中载入项目程序后进行实时仿真。
      
      本文将通过例子说明使用Keil和Proteus能够构建一个完整的虚拟实验系统,达到和硬件调试几乎相同的效果。虽然IAR Embeded Workbench for ARM也能和Proteus很好地结合起来联调,但IAR软件在易用性上比Keil要差一些,而且编译器的设置比较麻烦,不宜掌握。至于其它的ARM开发工具,比如ADS等,只能在Proteus中实现硬件仿真,不能实现软硬件联合调试。
      
      3、基于ARM的嵌入式虚拟系统的构建。
      
      3.1 利用该系统进行ARM虚拟开发的流程。利用该系统进行ARM虚拟开发的流程如图1所示:
      3.2 实例分析:利用Proteus的ARM虚拟系统实现UART于上位机的通信,实验完成的功能是在上位机显示Hello World。下面说明实现ARM虚拟实验完成的一般步骤。
      3.2.1 Proteus和Keil软件可以从相应的官方网站下载,软件安装于设置可以参考官方手册。
      3.2.2 软件程序。在Keil中新建一个工程,选择“CPU”我们选择LPC2106,加入必要的启动代码文件、头文件、主程序文件和链接配置文件,注意和CPU有关的文件一定要和所选用的芯片相对应。完成后工程视图如图2所示。
      然后在Keil中将源文件编辑完成进行编译和调试直至没有任何错误和警告后,保存为汇编源文件并编译、汇编产生源代码(HEX文件)。
      3.2.3 硬件电路。根据设计的要求,在Porteus中进行电路设计,完成的电路图如图3所示。
      3.2.4 调试和仿真。构建好电路图以后,下面就可以为LPC2106添加程序代码(HEX文件)了。双击LPC2106图标,添加上面的源文件所生成的程序代码,添加好以后,接着就可进行下面的仿真。点击运行按钮,系统就运行了起来,实验结果如图4所示。
      选择Debug->Step进行单步调试。查看Proteus软件中电路也单步运行,并且出现ARM7 Source Code窗口和反汇编代码窗口。在Proteus选择Debug->ARM7下有CPU Regster-UI、Flash-Ul、RAM-U1和Pinconfiguration-U1命令可以分别查看ARM7的CPU寄存器窗口、Flash内存、RAM内存和引脚的数据。如图5所示:
      我们在ARM试验箱实现UART于上位机的通信实验,并将Hello World字符串显示在终端上。
      通过在Proteus进行虚拟仿真实验结果和在ARM试验箱进行的软硬件结合实验结果对比,其实验所得到的结果是一致的,可见嵌入式虚拟系统在实验室资金短缺、硬件设备不足的情况下,完全可以达到实验的目的,同时在工程上还可以对设计方案进行预先仿真,验证方案是否可行。
      
      4、结束语。通过以上的研究可以发现,基于Proteus和Keil的ARM虚拟实验系统能够完成ARM7硬件仿真实验的虚拟仿真目的,而且具有硬件投入小、速度快、零损耗、灵活性好等优点。虚拟实验室为实验教学和项目开发提供了强有力的支持。相比较于一般实验箱而言系统更能体现操作者的创造性和系统的设计能力。当然虚拟实验系统也有它固有的缺点,它只能尽可能地接近实际情况,而不能代替真实的硬件运行。
      
      参考文献:
      1.周润景、张丽娜,基于PROTEUS的电路及单片机系统设计与仿真[M],北京:北京航空航天入学出版社,2006
      2.风标科技,PROTEUS嵌入式系统设计与仿真平台[EB/OL],http://www.省略.
      3.李东生,EDA仿真与虚拟仪器技术,北京:高等教育出版社,2004
      4.proteus仿真社区[EB/OL],http://www.省略
      5.[美]William R.Sherman,[美]Alan B.Craig著,魏迎梅、杨冰等译,虚拟现实系统接口、应用与设计[M],北京:电子工业出版社,2004
      6.马忠梅等,单片机的C语言应用程序设计[M],北京:北京航空航天大学出版社,2003

    推荐访问:嵌入式 探索 虚拟 实验室建设

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章