STM32起步过程
1、安装MDK环境,下载程序的第三方软件mcuisp。
BOOT0开关拨到VCC、自动搜索串口、开始编程按钮,如果程序下载成功后则会打印出下面红色框中的信息、程序下载成功之后,需要将BOOT0开关拨
到GND,然后按下我们的复位按键就可以看到实验想象了(也可以通过如下设置)。
开始编程按钮时,还会出现mcuisp一直处于连接的状态,导致程序下载不了,如下截图所示。解决的方法是只需我们按一下开发板中的复位按键即可。
2.在线调试器、JLINK 驱动安装与MDK环境搭建。
3.如何新建工程模板。
新建工程,选择芯片型号、接下来的窗口问我们是否需要拷贝STM32的启动代码到工程文件中,这份启动代码在M3系列中都是适用的,一般情况下我们都点击是,但我们这里用的是ST的库,库文件里面也自带了这一份启动代码,所以为了保持库的完整性,我们就不需要开发环境为我们自带的启动代码了。
在文件夹建立五个子文件夹,FWlib(用于存放STM32库文件)、CMSIS(ARM_C处理器软件接口)、output(用来保存软件编译后输出的文件)、Listing(存放一些编译过程中产生的文件)、USER(用来存放工程文件和用户代码)。 main.c、stm32f10x_conf.h、stm32f10x_it.h、 stm32f10x_it.c 、system_stm32f10x.c 到\USER目录下。 stm32f10x_it.h、和stm32f10x_it.c这两个文件里面是中断函数,里面为空,并没有写任何的中断服务程序。stm32f10x_conf.h是用户需要配置的头文件,当我们需要用到芯片中的某部分外设的驱动时,我们只需要在该文件下将该驱动的头文件包含进来即可,片上外设的驱动在src文件夹中,inc文件夹里面是它们的头文件。这三个文件是用户在编程时需要修改的文件,其他库文件一般不需要修改。system_stm32f10x.c是ARM公司提供的符合CMSIS标准的库文件,等下我们把这个文件移动到\CMSIS这个文件夹中。需先在CMSIS新建好startup文件夹,用于存放这些是用汇编写的启动文件。core_cm3.c和core_cm3.h也拷贝到\CMSIS文件夹下。stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h拷贝到\CMSIS文件夹下。(这些均是STM32的库函数,启动代码等)
基本完成了,右键单击工程名称,打开“Manage Components”窗口,或点击工具栏上的品字图标。将Project Targets下的Target改名为自己想要的,即可。
然后就是需要建立用户组了,右键选中Add Group……,建立我们所需的四个用户组。
再来给每个用户组添加文件。
最后设置软件:工程已经基本建好,下面来配置一下MDK的配置选项,点击工具栏中的魔术棒按钮 ,在弹出来的窗口中选中 Output。然后点击Select Folder for Objects... 设置编译后输出文件保存的位置。同时把 Create HEX File 和 Browse information这两个选项框也选上。(我们曾经设定的路径文件夹)
选中“C++”选项卡,在Define里面输入添加USE_STDPERIPH_DRIVER,STM3210X_HD。添加USE_STDPERIPH_DRIVER是为了屏蔽编译器的默认搜索路径,转而使用我们添加到工程中的ST的库,添加STM32F10X_HD是因为我们用的芯片是大容量的,添加了STM32F10X_HD这个宏之后,库文件里面为大容量定义的寄存器我们就可以用了。添加USE_STDPERIPH_DRIVER是为了屏蔽编译器的默认搜索路径,转而使用我们添加到工程中的ST的库,添加STM32F10X_HD是因为我们用的芯片是大容量的,添加了STM32F10X_HD这个宏之后,库文件里面为大容量定义的寄存器我们就可以用了。
在Include Paths栏点击,在这里添加库文件的搜索路径,这样就可以屏蔽掉默认的搜索路径。但当编译器在我们指定的路径下 搜索不到的话还是会回到标准目录去搜索,就像有些ANSIC C 的库文件,如 stdin.h 、stdio.h。但当编译器在我们指定的路径下 搜索不到的话还是会回到标准目录去搜索,就像有些ANSIC C 的库文件,如 stdin.h 、stdio.h。
最后一步,就是修改main.c文件。
#include "stm32f10x.h"
int main(void)
{
while(1);
// add your code here ^_^。
} 至此,我们的工程模板就建成了。