看了网上许多人的代码以及各类开发板所带的例程,大多数运用的都是官方发布的函数库来编程,经过查询后发现,运用函数库来编程能够简化开发进程,并不需求追溯到各个寄存器,经过检查库手册,新手也能够快速运用STM32,因而,决议先从函数库开端入门!
1.树立带函数库的IAR项目工程
先从网上下载3.5版(听说3.0版今后的固件库才逐步安稳)stm32固件库(stm32f10x_stdperiph_lib)。因为与固件库版别兼容问题,从头下载安装了IAR6.30版。
1.1 创立项目文件夹“project”;
1.2解压“stm32f10x_stdperiph_lib.rar”后,
将…stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0下的“Libraries”文件夹复制到“project”文件夹,并在“project”文件夹中新建“project”文件夹以便与“Libraries”文件夹区别隔;
1.3将…stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template下的“main.c”、“stm32f10x_conf.h”、“stm32f10x_it.c”、“stm32f10x_it.h”复制至…projectproject文件夹中;
1.4将…stm32f10x_stdperiph_libSTM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_TemplateEWARM下的“stm32f10x_flash.icf”、“stm32f10x_flash_extsram.icf”、“stm32f10x_nor.icf”、“stm32f10x_ram.icf”复制至…projectprojectEWARM文件夹中。
1.5新建IAR工程项目,增加分组及文件如图:
其间:
lCore_cm3.c在…projectLibrariesCMSISCM3CoreSupport文件夹中;
lSystem_stm32f10x.c在…projectLibrariesCMSISCM3DeviceSupportSTSTM32F10x文件夹中;
lStartup_stm32f10x_md.s在…projectLibrariesCMSISCM3DeviceSupportSTSTM32F10xstartupiar文件夹中,此外依据所运用芯片巨细不同,所挑选的startup文件也不同,详细挑选如下:
startup_stm32f10x_cl.s互联型的器材,STM32F105xx,STM32F107xx
startup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_hd_vl.s大容量的STM32F100xx
startup_stm32f10x_ld.s小容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_ld_vl.s小容量的STM32F100xx
startup_stm32f10x_md.s中容量的STM32F101xx,STM32F102xx,STM32F103xx
startup_stm32f10x_md_vl.s中容量的STM32F100xx
startup_stm32f10x_xl.sFLASH在512K到1024K字节STM32F101xx,STM32F102xx,STM32F103xx
其间大、中、小容量的区别如下图所示:
各类型称号辨识如下图所示:
个人所运用的芯片类型是STM32F103VBT6,所以是归于中等容量,所以挑选的是”startup_stm32f10x_md.s”文件。
lLWIB组则依据需求增加,因为要点亮led灯需求用到GPIO和时钟,所以增加了stm32f10x_gpio.c和stm32f10x_rcc.c两个文件,均 在…projectLibrariesSTM32F10x_StdPeriph_Driversrc下
l依据需求修正“main.c”文件,也可自己创立空白文件,但需求包括#include “stm32f10x.h”代码。
项目设置
除了“学前预备”文中所需求的设置外,还需求设置的项有:
GeneralOptions>Library Configuration项:
C/C++Compiler>Preprocessor项:
OutputConverter项:
Output项:
至此,工程设置结束,能够往main文件里写空代码试着编译,如:
- #include“stm32f10x.h”
- Intmain()
- {While(1);}
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/256381.html