论文部分内容阅读
如今ARM公司设计的Cortex-M3处理器因具有高性能、高代码密度和小硅片面积的优点,已大面积地成为了低成本单片机、汽车电子、数据通信、工业控制和消费类产品理想的处理平台。ARM处理器一般都使用JTAG调试接口,使得仿真、调试工具统一而廉价,方便用户的开发。但JTAG调试接口至少要占用芯片的5-6个引脚,这对于一些引脚较少的MCU来说非常不便。但Cortex-M3在保持原来JTAG调试的基础上还支持串行调试(SWD)。使用SWD(Serial wire debugger)只占用2个引脚即可进行所有的仿真和调试,节省了调试用引脚。现在市场上使用的支持SWD模式的程序调试下载器有SEGGER公司的JLINK、KEIL公司的ULINK和ST公司的STLINK,但国内在此方面存在一定的开发难度,主要原因在于外国公司并没有完全开放SWD协议的相关资料说明。本文针对公司的需求量身订做了一个支持SWD协议的程序调试下载器,具有非常现实的意义。本文重点研究了Cortex-M3的整体架构、嵌入式平台的SPI接口及通信协议、SWD协议和STM32flxx芯片。并通过三个模块实现基于SWD协议的烧写系统,三个模块分别是:SWD协议实现模块;目标板bootloader模块;SPI通信模块。文章的最后通过系统的联调和多次反复的测试对SWD程序烧写器进行了验证,保证其功能的完整性和使用的可靠性。