STM32学习笔记之工程模板的建立
来源:互联网 发布:线路板工程设计软件 编辑:程序博客网 时间:2024/05/07 10:09
1、先在电脑的某个目录下建一个文件夹,名为“模板”,再在模板目录下建四个文件夹,分别为”USER”,”CORE”(存放核心文件和启动文件),”OBJ”(用来存放编译过程文件和hex烧录文件),和”FWLib”(存放ST官方提供的库函数源码文件)。其中USER目录用来放工程文件(即在KEIL软件中的点击新建工程的目录定位到USER中),以及主函数文件main.c和其它包括system_stm32f10x_c等。
2、在KEIL中新建工程时弹出第二个对话框询问是否添加启动代码到工程中(第一个对话框选择芯片类型自己选),选择“否”,因为我们使用的ST固件库文件已经包含了启动文件。
3、将官方的固件库包(我用的是stm32固件库3.5)中的源代码复制到工程目录文件夹下。复制后的每个目录文件内容如下:
FWLib文件夹:src文件夹、inc文件夹,分别存放固件库外设的.c文件和.h文件。
CORE文件夹:core_cm3.c文件(提供进入M3内核的接口,由ARM公司提供,对所有CM3内核的芯片都一样)、core_cm.h文件、startup_stm32f10x_hd.s文件(启动文件,大容量产品使用后缀hd.s,中等容量使用后缀md.s,小容量产品使用ld.s。这里的容量是指FLASH的大小,小于32K为小容量,大于64K小于128K为中等容量,大于256K为大容量)。
USER文件夹:stm32f10x.h(里面主要是系统寄存器定义申明以及包装内存操作)、system_stm32f10x.c(设置系统以及总线时钟,其中systemInit()函数在系统启动时用来调用系统的整个时钟系统)、system_stm32f10x.h、main.c、stm32f10x_conf.h(列出了引用什么文件,比如外设的头文件,若不用该文件,则须自己在MAIN函数里添加stm32f10x_adc.h等外设头文件)、stm32f10x_it.c(用来编写中断服务函数)、stm32f10x_it.h.
4、将上述文件复制到工程目录下后,右键KEIL软件中的工程Target1,选择Manage Components添加(注:头文件可不在此处添加)
5、点击KEIL界面上的魔术棒(option for Target),在“output”选项下面“select folder for objects”中选择我们最先建的OBJ目录,并勾上create HEX File。“output”选项中的Brouser Information是可以查看变量和函数定义,hex文件用来将程序烧录进开发板中执行。
在“C/C++”中“Include Path”中添加步骤4中的头文件路径,并且在“Define”中填写“STM32F10X_HD,USE_STDPERIPH_DRIVER”.
注程序的执行是从“main.c”文件开始的,其中必须包含有头文件“stm32f10x.h”,打开该文件,使用查找命令查找“USE_STDPERIPH_DRIVER”,第三次查找可以发现只有用预编译指令预定义了“USE_STDPERIPH_DRIVER”,才会将“srm32f10x_conf.h”文件包含进“stm32f10x.h”中,从而被“main.c”用到。“stm32f10x_conf.h”文件相当于一个开关文件,若要用到STM32固件库驱动标准外设,则外设驱动头文件必不可少。STM32F10X_HD可以同样查找方法来解释。
“Debug”选项中选择仿真工具Cortex_M3 J_LINK,并勾选Run to main()(不勾的话会先执行startup_stm32f10x_hd.s文件的Reset_Handler,再跳到main函数),再点击Settings Port选择SW模式,Max Clock选10MHz。
“Utilities”选项中目标编程器为Cortex-M3 J-LINK,再点击Settings,勾选Reset and Run并add芯片参数。
- STM32学习笔记之工程模板的建立
- 建立STM32工程模板
- STM32之工程模板
- STM32之工程模板
- 基于固件库建立一个STM32的工程模板
- STM32学习笔记1——建立一个工程
- STM32笔记0428/建立模板
- STM32 Keil5建立工程模板步骤
- 建立STM32工程模板(STM32F103ZET6为例)
- 用MDK建立STM32工程模板
- STM32入门之模板建立
- stm32固件库学习之:建立模板和初始化系统时钟
- STM32工程的建立方法
- stm32工程文件的建立
- 【2015-1-14】STM32学习之新建工程模板
- stm32固件库模板的建立
- STM32学习笔记之USB工程目录文件分析
- STM32学习笔记之Keil工程Lib库文件的制作和运用
- android中notification的用法(简单易懂用法)
- 《30天自制操作系统》学习笔记(三)
- Hive的体系结构
- Spring MVC入门
- UWP-ListView下模板宽度问题
- STM32学习笔记之工程模板的建立
- 《剑指offer》:[38]数字在排序数组中出现的次数
- JavaScript 删除数组的某些元素的问题
- 分布式消息中间件(七)——Kafka安装及配置详解(Linux)
- iso
- 深度学习概述
- LeetCode Integer Break
- UITableView 关于cell与cell之间的间距
- Ubuntu12.04lts下加装Windows双系统