预准备——STM32开发环境搭建

一、几个重要文件的介绍
1.system_stm32f10x.csystem_stm32f10x.h主要实现的功能是设置系统以及总线时钟,其中SystemInit()函数在系统启动时都要调用(一般在启动文件中就被执行了)。

2.stm32f10x.h主要是系统寄存器定义申明和内存操作封装。

3.stratup_stm32f10x_hd.s启动文件(适用于Flash大于256K的芯片),主要进行初始化堆栈SP=,中断向量表以及中断定义,配置系统时钟,最后由启动文件调用main()函数。

二、新建工程可能会遇到的几个问题
1.工程建立后,MDK5.1以后的版本会在工程文件所在的目录下生成名为Objects和Listings的两个文件夹,用以存放编译过程中产生的中间文件,这与之前的版本不一致。为了兼容以前版本的MDK,可以在工程根目录下新建名为OBJ的文件夹,然后在MDK->[Option]->[Output]中把存放位置改到OBJ,在MDK->[Option]->[Listings]中把位置改到User。

2.官方固件库文件srcinc需要放在工程目录下。

3.core_cm3.c、core_cm3.h和启动文件startup_stm32f10x_hd.s需放在工程目录下,独立存放。

4.stm32f10x.h、system_stm32f10x.c、system_stm32f10x.hstm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h也要放在工程目录User文件夹下。
(以上2.3.4中的文件均来自官方固件包)

5.需要在MDK->[Option]->[C/C++]->Include Paths中添加工程用到的所有头文件的路径,需要注意的是MDK只会在一级目录中查找,所以Path一定要定位到最后一级子目录。

6.因为 3.5 版本的库函数在配置和选择外设的时候通过宏定义来选择的,所以我们需要配置一个全局的宏定义变量,在MDK->[Option]->[C/C++]->Define输入框中定义STM32F10X_HD,USE_STDPERIPH_DRIVER。值得一提的是,如果你用的是中容量那么STM32F10X_HD修改为STM32F10X_MD,小容量修改为STM32F10X_LD

7.软件仿真配置。[Option]里确认芯片型号和外接晶振,然后设置Dialog DLL分别为:DARMSTM.DLLTARMSTM.DLLParameter均为:-pSTM32F103ZE,用于设置支持 STM32F103ZE 的软硬件仿真。
软件仿真配置界面

8.Bin文件生成设置
[Options]->[User]->[After Build/Rebuild]->[Run #1]设置 C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin --output .\Objects\output.bin .\Objects\output.axf
前面路径随安装目录不同而改变,后面参数即生成bin文件及其位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值