登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 文献综述 > 电子信息类 > 电子科学与技术 > 正文

基于STM32的脱机程序下载器设计与制作文献综述

 2020-04-14 07:04  

1.目的及意义

早期的单片机开发时使用仿真器开发应用项目,这么做是因为用户需要将开发好的应用程序交给单片机工厂制作掩模。程序一旦写进就不可修改,于是使用仿真器解决这个问题,用软件来模拟目标系统中MCU(MicrocontrollerUnit)的运行情况。如此做的缺点是无法实现100%的模拟硬件,出现问题时无法确定是仿真器的问题还是目标板的问题,加大了开发的难度和时间消耗。

随着FLASH技术的日渐成熟,现在许多MCU(Microcontroller Unit)内部集成了FLASH存储器,单片机允许内部运行的程序修改FLASH存储器的内容,这样就使单片机开发不再需要仿真器。FLASH存储器可反复擦除高达10万次以上,因此开发过程中不必担心寿命问题。同时,直接在目标版上运行应用程序,是在真实的硬件环境中进行的,相对于以前的仿真器开发更加可靠省力。

现在的FLASH是可以在线系统编程(ISP-In System Programming)的,是指电路板上的空白器件可以依靠某种外部工具写入最终的用户代码,而不需要从电路板上取下器件。外部工具多种多样,不同的处理器供应商会提供不同的方案。尽管接口不同,但原理都是一样的,即依靠外部条件触发,处理器不执行内部常规用户应用程序代码的进程,而是执行保存在FLASH内某个固定位置处的控制擦和写程序处理器的代码,然后将编译好的二进制代码文件装载到处理器的程序存储器。ISP技术的优势是不需要仿真器就可以进行单片机的实验和开发,单片机芯片可以直接焊接到电路板上,调试结束即为成品,免去了调试时由于频繁地插入取出芯片和电路板带来的不便,这一技术是未来发展的大方向。

Arm Cortex-M3提供了多种多样的调试模型和调试组件,构成了强劲的调试性能,使开发较大的应用程序也成为一件容易的事情。Cortex-M3处理器的调试系统是基于ARM的Core sight(片上调试和跟踪)调试架构,该架构是一个专业设计的体系,它允许使用标准方案来访问调试组件,收集跟踪信息,以及检测调试系统的配置。目前,Cortex-M3支持两种调试主机接口(debug host interface):一个是使用广泛的JTAG调试接口,另一个是新的“串行线调试(SW-Serial Wire)接口”。新的SW接口对信号线的需求只有两条,这对于管脚资源紧张的单片机来说是一个巨大的优势。

{title}

2. 研究的基本内容与方案

{title}

本文主要研究的是在系统编程(ISP)的基础上设计FLASH编程方法,原来的ISP编程只有JTAG接口编程方法,现在ARM Cortex-M3内核支持SWD接口编程方法。本文深入研究未完全开放资源的SWD协议,从SWD的基本结构入手,首先阐述SWD接口的逻辑电路结构及工作原理,重点分析SWD技术中访问端口、访问端口控制器、SWD指令寄存器和数据寄存器。接着,本文会以意法半导体公司生产的嵌入式芯片STM32F407为主芯片设计一款基于SWD协议的脱机程序下载器,从硬件和软件两个方面阐述,包括各子模块电路结构和寄存器功能描述等。最后,在电路设计的基础上搭建验证平台,对脱机程序下载器进行验证,说明设计的合理性与可行性。

现在市场上使用的支持SWD模式的程序调试下载器有SEGGER公司的JLINK、KEIL公司的ULINK和ST公司的STLINK,但是由于国外公司并没有完全开放SWD协议的相关资料说明,因此在国内开发SWD模式的程序下载器具有一定难度。而多数单片机具有实时性和功耗低的要求,管脚资源非常紧张,使用SWD协议的程序下载器既可以节省开支也可以提高性能。本文正是在研究已有SWD协议资料的基础上,通过大量实验摸索出SWD协议的使用方法,设计制作了一款脱机程序下载器,系统总体框图如图1。


图1 系统总体框图

本文所设计的脱机程序下载器硬件电路主要由STM32F407最小系统、按键控制、LED指示模块、USB接口、目标板接口、电源模块6部分组成,如图2所示。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图