STM32开发学习进修学习入门教学教材.doc

上传人:小** 文档编号:2081597 上传时间:2019-04-18 格式:DOC 页数:60 大小:1.70MB
下载 相关 举报
STM32开发学习进修学习入门教学教材.doc_第1页
第1页 / 共60页
STM32开发学习进修学习入门教学教材.doc_第2页
第2页 / 共60页
STM32开发学习进修学习入门教学教材.doc_第3页
第3页 / 共60页
STM32开发学习进修学习入门教学教材.doc_第4页
第4页 / 共60页
STM32开发学习进修学习入门教学教材.doc_第5页
第5页 / 共60页
点击查看更多>>
资源描述

1、-_STM32 开发入门教程(一) 开发环境建立及其应用入门准备: 我们常用的 STM32 开发编译环境为 Keil 公司的 MDK (Microcontroller Development Kit) 和 IAR 公司的 EWARM.在这里我们提供了比较稳定的新版本编译软件下载: MDK4.10限于篇幅, 在我们的教程里面将先以 MDK 下的一个例子来介绍如何使用 MDK 进行嵌入式应用开发.MDK 安装与配置:基于 MDK 下的开发中基本的过程:(1) 创建工程;(2) 配置工程;(3) 用 C/C+ 或者 汇编语言编写源文件 ;(4) 编译目标应用程序(5) 修改源程序中的错误(6) 测试

2、链接应用程序-(1) 创建一个工程:在 uVision 3 主界面中选择 “Project“ - “New uVision Project“ 菜单项, 打开一个标准对话框选择好你电脑中的保存目录后, 输入一个你的工程名字后点确认.我们的工程中建了一个名字叫 “NewProject“ 的工程. 从设备库中选择目标芯片, 我们的 MINI-STM32 开发板使用的是 STM32F103V8T6, 因此选中 STMicrocontroller 下对应的芯片:ARM 32-bit Cortex-M3 Microcontroller, 72MHz, 64kB Flash, 20kB SRAM,PLL,

3、Embedded Internal RC 8MHz and 32kHz, Real-Time Clock,Nested Interrupt Controller, Power Saving Modes, JTAG and SWD,3 Synch. 16-bit Timers with Input Capture, Output Compare and PWM,16-bit 6-ch Advanced Timer, 2 16-bit Watchdog Timers, SysTick Timer,2 SPI, 2 I2C, 3 USART, USB 2.0 Full Speed Interface

4、, CAN 2.0B Active,2 12-bit 16-ch A/D Converter, Fast I/O Ports-_-_选择完芯片型号后会提示是否在目标工程中加入 CPU 的相关的启动代码, 如下图所示. 启动代码是用来初始化目标设备的配置, 完成运行的系统初始化工作, 因此我们选择 “是“ , 这会使系统的启动代码编写工作量大大减少.-(2) 配置工程:选择菜单中 “Project“ - “Option for Target“ 或者 选择快捷菜单中的图标:因为 MINI-STM32 开发板上使用的就是 8M 的晶振且是使用的片内的 RAM 和 ROM 因此 “taget“ 下我们

5、都可以使用默认的配置;在“Output“菜单下我们需要选中 “Creat Hex File“ 来生成编译好的工程代码, 此工程可以通过仿真器或者串口 ISP 烧录进开发板中.注: ISP 烧录过程我们将在入门教程二中给大家介绍.“Listing“ “User“ 菜单中我们保持默认即可.“C/C+“ 菜单为我们常用的菜单, 这里简单的介绍下他们的具体功能:PreProcesser Symbols 中的 Define, Undefine 菜单表示是工程的宏定义中的变量 , 我们将在今后的教程中详细介绍这个功能.-_Optimization 为优化选项, Level0 为不优化, 这种模式最适合调试

6、, 因为不会优化掉代码, 基本每个用到的变量都可以打断点. Level3 为优化等级最高, 最适合生产过程中下载到芯片中的代码. Include Path 为工程中的包含路径, 一般需将 .h 文件或者库文件的地址配置进去.“Asm“ 和 “Link“ 将在今后的高级教程中介绍.“Debug“ 为我们调试使用的配置选项, “Use Simulator“ 为使用软件仿真. 这里根据大家手里的仿真器来选择配置环境.如果你使用的是 Ulink, 那么就选择 “Ulink Cotex Debug“, 如果你选择的是 JLINK, 那么就选择 “ Cotex M3 Jlink“, 如果你使用的是 ST

7、公司出的简易仿真器 ST-Link , 那么你就选择 “ST-Link Debug“.注意: 右边当中的选项 “Run to main“ 选项如果勾上就表示仿真时进入了就会进入到 main 函数, 如果没有选上就会进入初始地址, 你需要自己打断点运行到你的主程序 main 处.-_当插上仿真器后选择上面右图中的 Setting 后会跳出一个仿真器的配置菜单. 左边会自动识别出你的仿真器的信息.如下图为 ULINK2 的信息:-_对于 SWJ 选项为三线制调试, 将在后面的高级教程中介绍.右下方有两个选项:“Verify Code Download“ : 表示下载后校验数据“Download t

8、o flash“: 表示当仿真的时候先将目标代码下载到 Flash 中.Trace 菜单为跟踪配置, 可以实时的将一些变量使用曲线的形式实时表示出来, 我们将在今后的高级教程中介绍这一项功能.注意: 市面上目前的盗版 Ulink2 不支持这项功能, 正版的支持, Jlink 也不支持这项功能.“Flash Download“ 菜单用来配置使用仿真器程序下载的配置选项, 大家务必选择好和你芯片配套的选项. 如果你是使用的别人模板下修改为你的工程 , 这个选项请注意一下, 如果不正确将不能将你的代码下载到芯片中.配置好 “Debug“ 后, 那么 “Utilities“ 可以不用配置.如果你使用的

9、是仿真器仿真, 在你已经正确得将目标板和仿真器建立了物理连接后, 请选择正确的仿真器进行配置.-_(二) ISP 在线下载程序ISP:in system programming简介:ISP: 用写入器将 code 烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时候就将接口设计在上面,所以叫“在系统编程“,即不用脱离系统; 应用场合: 1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了; ISP 的实现一般需要很少的外部电路辅助实现,通常可利用单片机的串行口接到计算机的 RS232 口,通过专门设计的固件程序来编程内部存储器。主要是指代芯片的烧写方式,以往写片子需要把片子

10、拿下来,离开电路,用 编程器烧,换句话说,芯片不能不脱离应用系统进行写入。 ISP 主要针对这个问题,使用 JTAG 或者串行口(MCU 内部有 Boot Loader,通过指定的方式激活之,它可以和 PC 或其它上位机通过串口联系,不用使单片机离开应用系统而更新内部的程序/设置)进行程序的烧写操作。因此,具有 ISP 功能的 MCU 可以不使用编程器进行编程。当然,实现 ISP 可能需要一些硬件电路支持,具体的在数据手册中有说明。一般具备 ISP 功能后,就不要编程器了,而是使用下载线进行编程工作。但是不是说他们就一定不支持编程器了,具体型号具体分析。是否需要仿真器进行仿真和是否具备ISP

11、和 IAP 没有必然的联系。只不过具备了 IAP 功能,可以在 MCU 内写入监控程序,模拟一个仿真器,当然,这个监控程序是要消耗资源的,和使用硬件的仿真器还有一定的差异。-以上就是 ISP 的一些概念上的描述, 现在通俗点说就是怎么利用工具把程序下载到芯片当中去.第一步: 配置工程, 输出编译后的代码 .Hex 文件:我们打开第一个我们的教程例子, GPIO_Test 这个例子工程. 先按照下面的步骤来配置一下工程:-_点击下图中的 Option 选项;选中 “Output“ 菜单下的 “Create HEX File “, 并且在右边的 “Name of Executable“ 中填写我们

12、生成编译代码的文件名称.-_配置完选项后, 点击工程编译按钮, 然后我们就可以在 Example2-GPIOGPIO_testoutput 目录下面得到 Gpio_Test.Hex 文件了.第二步: 准备串口物理连接和 设置 Boot 跳线选择芯片启动类型先需要准备一根串口延长线, 一头为公头,一头为母头的串口连接线 (非交叉线), 和一台有串口的电脑. (注意:如果您的电脑没有串口,请购买 “USB 转 RS232“ 的硬件设备来扩充你电脑的串口.) 将 Mini-STM32 的 J1 跳线帽跳至 2,3 两脚上选择芯片从内部的 Boot 区启动, 上电后会先进入 ISP 状态.连接串口线至

13、你的电脑上的串口将 USB 延长线连接至你的电脑上给 Mini-STM32 开发板供上 5V 电源. 当开发板上的电源指示灯点亮后一切准备就绪. 第三步: 配置 ISP 下载软件 mcuisp.exe:您可以点击下载稳定版的 mcuisp V0.975 版本的软件: mcuisp.rar (576.58 KB) 打开 mcuisp.exe 绿色软件,选择好您连接至开发板使用的电脑上的串口, 可以通过搜索串口菜单来自动搜索出你电脑上的串口信息.在左上方的 “程序文件“选择你准备烧入芯片中的代码, 就是前面我们生成的Gpio_Test.Hex. 然后在菜单选项栏上选择 “STMISP“ 菜单, 点

14、击 “读 STM32 器件信息“ 命令按钮.我们会在右边的信息框中显示出连接成功的信息: 如图所示:-_选择上“校验“和“编程后运行“两个选项后点击“开始编程“. 会报出程序成功烧入芯片的一些信息, 如下:-DTR 电平置高(+3-+12V),复位RTS 置高(+3-+12V),选择进入 BootLoader.延时 100 毫秒DTR 电平变低(-3-12V)释放复位RTS 维持高开始连接.3, 接收到:1F 在串口 COM4 连接成功115200bps,耗时 343 毫秒芯片内 BootLoader 版本号:2.1芯片 PID:00000410芯片 FLASH 容量为 128KB芯片 SRAM 容量为 65535KB(此信息仅供参考,新版本芯片已不包含此信息)96 位的芯片唯一序列号:33006C065839353235581943读出的选项字节:A55AFF00FF00FF00FF00FF00FF00FF00全片擦除成功第 547 毫秒,已准备好共写入 2KB,进度 100%,耗时 4343 毫秒成功从 08000000 开始运行 向您报告,命令执行完毕,一切正常-这个时候您可以看到您手中的 Mini-STM32 开发板上的两个红色 LED 有规律的轮流点亮, 说明程序已经成功的烧入芯片了.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。