资源描述:
《ST'M32开发学习进修学习入门教学教材》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、-_STM32开发入门教程(一)开发环境建立及其应用入门准备:我们常用的STM32开发编译环境为Keil公司的MDK(MicrocontrollerDevelopmentKit)和IAR公司的EWARM.在这里我们提供了比较稳定的新版本编译软件下载:MDK4.10限于篇幅,在我们的教程里面将先以MDK下的一个例子来介绍如何使用MDK进行嵌入式应用开发.MDK安装与配置:基于MDK下的开发中基本的过程:(1)创建工程;(2)配置工程;(3)用C/C++或者汇编语言编写源文件;(4)编译目标应用程序(5)修改源程序中的错
2、误(6)测试链接应用程序----------------------------------------------------------------(1)创建一个工程:在uVision3主界面中选择"Project"->"NewuVisionProject"菜单项,打开一个标准对话框选择好你电脑中的保存目录后,输入一个你的工程名字后点确认.我们的工程中建了一个名字叫"NewProject"的工程.从设备库中选择目标芯片,我们的MINI-STM32开发板使用的是STM32F103V8T6,因此选中STMicroco
3、ntroller下对应的芯片:ARM32-bitCortex-M3Microcontroller,72MHz,64kBFlash,20kBSRAM,PLL,EmbeddedInternalRC8MHzand32kHz,Real-TimeClock,NestedInterruptController,PowerSavingModes,JTAGandSWD,3Synch.16-bitTimerswithInputCapture,OutputCompareandPWM,16-bit6-chAdvancedTimer,216
4、-bitWatchdogTimers,SysTickTimer,2SPI,2I2C,3USART,USB2.0FullSpeedInterface,CAN2.0BActive,212-bit16-chA/DConverter,FastI/OPorts-_-_选择完芯片型号后会提示是否在目标工程中加入CPU的相关的启动代码,如下图所示.启动代码是用来初始化目标设备的配置,完成运行的系统初始化工作,因此我们选择"是",这会使系统的启动代码编写工作量大大减少.--------------------------------
5、--------------------------------(2)配置工程:选择菜单中"Project"->"OptionforTarget"或者选择快捷菜单中的图标:因为MINI-STM32开发板上使用的就是8M的晶振且是使用的片内的RAM和ROM因此"taget"下我们都可以使用默认的配置;在"Output"菜单下我们需要选中"CreatHexFile"来生成编译好的工程代码,此工程可以通过仿真器或者串口ISP烧录进开发板中.注:ISP烧录过程我们将在入门教程二中给大家介绍."Listing""User"菜单
6、中我们保持默认即可."C/C++"菜单为我们常用的菜单,这里简单的介绍下他们的具体功能:PreProcesserSymbols中的Define,Undefine菜单表示是工程的宏定义中的变量,我们将在今后的教程中详细介绍这个功能.-_Optimization为优化选项,Level0为不优化,这种模式最适合调试,因为不会优化掉代码,基本每个用到的变量都可以打断点.Level3为优化等级最高,最适合生产过程中下载到芯片中的代码.IncludePath为工程中的包含路径,一般需将.h文件或者库文件的地址配置进去."Asm"
7、和"Link"将在今后的高级教程中介绍."Debug"为我们调试使用的配置选项,"UseSimulator"为使用软件仿真.这里根据大家手里的仿真器来选择配置环境.如果你使用的是Ulink,那么就选择"UlinkCotexDebug",如果你选择的是JLINK,那么就选择"CotexM3Jlink",如果你使用的是ST公司出的简易仿真器ST-Link,那么你就选择"ST-LinkDebug".注意:右边当中的选项"Runtomain{}"选项如果勾上就表示仿真时进入了就会进入到main函数,如果没有选上就会进入初始地
8、址,你需要自己打断点运行到你的主程序main处.-_当插上仿真器后选择上面右图中的Setting后会跳出一个仿真器的配置菜单.左边会自动识别出你的仿真器的信息.如下图为ULINK2的信息:-_对于SWJ选项为三线制调试,将在后面的高级教程中介绍.右下方有两个选项:"VerifyCodeDownload":表示下载后校验数据"Downloadto