1、STM32开发环境准备ALIENTEK2 2.1.1 MDK3.8aMDK3.8a简介简介RVMDK源自德国的KEIL公司,是RealView MDK的简称。在全球RVMDK被超过10万的嵌入式开发工程师使用,RealView MDK集成了业内最领先的技术,包括Vision3集成开发环境与 RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模块,强大的Simulation设备模拟,性能分析等功能。与ARM之前的工具包ADS1.2相比,RealView编译器具有代更小、性能更高的优点,RealView编译器与ADS.2的比较:代
2、码密度:比ADS1.2编译的代码尺寸小10%;代码性能:比ADS1.2编译的代码性能提高20;例说例说STM32STM3232022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK2 2.2 2新建基于新建基于MDKMDK的的STM32STM32工程工程例说例说STM32STM3242022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司l具体操作请参考书本3.2小节。ALIENTEK2 2.3 3 程序仿真例说例说STM32STM3252022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司 2.3.1 软件仿真 2.3.2 J
3、LINK在线仿真ALIENTEK2 2.3.3.1 1 MDKMDK软件仿真软件仿真MDK的一个强大的功能就是提供软件仿真,通过软件仿真,我们可以发现很多将要出现的问题,避免了下载到STM32里面来查这些错误,这样最大的好处是能很方便的检查程序存在的问题,因为在MDK的仿真下面,您可以查看很多硬件相关的寄存器,通过观察这些寄存器,您可以知道代码是不是真正有效。另外一个优点是不必频繁的刷机,从而延长了STM32的FLASH寿命。当然,软件仿真不是万能的,很多问题还是要到在线调试才能发现。废话不多说了,接下来我们开始进行软件仿真。例说例说STM32STM3262022-10-10广州市星翼电子科技
4、有限公司广州市星翼电子科技有限公司ALIENTEK2 2.3.3.1 1 MDKMDK软件仿真软件仿真软件仿真的具体操作请参考书本4.1小节具体操作。例说例说STM32STM3272022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK2 2.3.23.2 JLINKJLINK在线仿真在线仿真串口只能下载代码,并不能实时跟踪调试,而利用调试工具,比如JLINK、ULINK等就可以实时跟踪程序,从而找到您程序中的bug,使您的开发事半功倍。这里我们以JLINK V8为例,说说如何在线调试STM32。JLINK V8支持JTAG和SWD,同时STM32也支持JTAG
5、和SWD。所以,我们有2种方式可以用来调试,JTAG调试的时候,占用的IO线比较多,而SWD调试的时候占用的IO线很少,只需要2跟即可。例说例说STM32STM3282022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK2 2.3.23.2 JLINKJLINK在线仿真在线仿真JLINK在线仿真操作请参考书本4.3小节。例说例说STM32STM3292022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK例说例说STM32STM32102022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK例说例
6、说STM32STM32112022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK例说例说STM32STM32122022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司ALIENTEK例说例说STM32STM32132022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司JTAG接口原理图接口原理图ALIENTEK2 2.4 4 串口下载串口下载例说例说STM32STM32142022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司2.4.1 硬件连接示意图2.4.2 下载软件介绍2.4.3 下载原理介绍ALIE
7、NTEK2 2.4.1 4.1 硬件连接示意图硬件连接示意图例说例说STM32STM32152022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司1.USB串口驱动安装串口驱动安装 -虚拟一个虚拟一个COM口口2.下载软件下载软件MCUISP USB/串口串口 转换电路转换电路MCU串口串口RX/TX脚脚1.常见转换芯片常见转换芯片 CH340/PL23032.实现实现USB信号信号 和串口信号转换和串口信号转换 还需要配还需要配STM32 的复位电路模式的复位电路模式 选择电路进行串选择电路进行串 口下载口下载ALIENTEK2 2.4.2 4.2 下载软件下载软件MCUI
8、SPMCUISP介绍介绍例说例说STM32STM32162022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司需要安装需要安装PL2303驱动。驱动。ALIENTEK2 2.4.3 4.3 下载原理下载原理例说例说STM32STM32172022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司 STM32只有串口1能实现下载。启动模式设置:STM32直接通过两个管脚Boot0和Boot1设置启动模式 通过跳线帽来改变Boot0,Boot1的电平来实现下载和运行。系统复位后,在 SYSCLK 引脚的第4 个上升沿,BOOT 引脚的值将被锁存。ALIENTEK例说
9、例说STM32STM32182022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司一般的STM32串口程序下载分2步:lBoot0接3.3,Boot1接GNDl按复位按键,实现下载 下载完成之后要执行代码有两种方法:lmcuisp勾选“编程后执行”,发送命令直接从FLASH启动。lBoot0接GND,Boot1接任意,按一次复位。上面的步骤非常的繁琐,经常要跳动跳线帽,要按复位按键,浪上面的步骤非常的繁琐,经常要跳动跳线帽,要按复位按键,浪 费时间和精力,而且打消您学习的费时间和精力,而且打消您学习的积极性!积极性!ALIENTEK例说例说STM32STM32192022-1
10、0-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司一键下载电路:ALIENTEK自主设计,ALIENTEK开发板独有的电路。不需要动跳线帽,不需要按复位,直接下载后立即运行。一键下载电路,利用串口的DTR和RTS信号,分别控制STM32的复位和B0,配合上位机软件(mcuisp),设置:DTR的低电平复位,RTS高电平进BootLoader,这样,B0和STM32的复位,完全可以由下载软件自动控制,从而实现一键下载。一键下载电路一键下载电路ALIENTEK例说例说STM32STM32202022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司 一键下载电路原理图一键下载电路原理图ALIENTEK2 2.5 5 MDKMDK使用技巧使用技巧例说例说STM32STM32212022-10-10广州市星翼电子科技有限公司广州市星翼电子科技有限公司 2.5.1 文本美化 2.5.2 代码编辑技巧 2.5.3 调试技巧