历史上的今天
今天是:2025年07月26日(星期六)
2019年07月26日 | keil5新建STM32工程总结--库函数版本
2019-07-26 来源:eefocus
最近在重新系统学习嵌入式软件编程,先复习以前学过的STM32,今后会发一些自己的学习心得跟大家分享,欢迎大家一起讨论,一起来找茬
1、文件构成:库函数版本工程一共有四个文件夹:CORE、OBJ、STM32F10x_FWLib和USER
① USER用于存放工程文件(最好在新建工程之前创建):
在Kelil5中点击:
project -> New μVision Project后选择 USER文件夹作为工程文件路径
里面包含两个文件夹:Listings 和 Objects,以及两个文件.uvprojx和uvoptx
Listings 和 Objects文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件;.uvprojx是工程文件
此外需要将以下文件复制到USER文件夹中
stm32f10x.h,
system_stm32f10x.c,
system_stm32f10x.h
main.c,
stm32f10x_conf.h,
stm32f10x_it.c,
stm32f10x_it.h
③STM32F10x_FWLib用于存放 ST 官方提供的库函数源码文件
需要把STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver文件夹中的src和inc文件夹复制到此文件夹中
②CORE用于存放启动文件
包含三个文件:core_cm3.c、core_cm3.h和startup_stm32f10x_hd.s
core_cm3.c、core_cm3.h是cortex_M3的启动文件
startup_stm32f10x_hd.s是芯片启动文件,由芯片型号、flash大小决定
④OBJ用于存放编译过程文件和hex文件
通过点击option for target(俗称魔术棒),在output选项中的Select folder for objects选择此文件作为输出文件夹
2、在keil5中把以上文件添加到工程中
右击工程选择Manage Project Items,在文件工程项目中创建相关USER、CORE、FWLIB、OBJ四个项目,并把相应文件夹中的.c和.s文件添加到项目中
注:keil5默认是添加C文件,但CORE项目需包含.c和.s文件
3、头文件路径
点击魔术棒,在C/C++选项卡中点击Include Paths,添加包含.h文件的文件夹作为头文件目录;路径要包含到最后一层路径
4、宏定义
点击魔术棒,在C/C++选项卡中添加 USE_STDPERIPH_DRIVER **(若已经选择芯片型号,就不能添加STM32F10X_HD,否则报错 error: #67: expected a “}”)**作为标准宏定义,
史海拾趣
|
IGBT负载短路下的几种后果 (1) 超过热极限:半导体的本征温度极限为250℃,当结温超过本征温度,器件将丧失阻断能力,IGBT负载短路时,由于短路电流时结温升高,一旦超过其热极限时,门级保护也相应失效. (2) 电流擎住效应:正常工作电流下,IGBT由于薄 ...… 查看全部问答> |
|
条码手持终端应用程序开发!!! 本人在条码行业有多年的工作经验,一直从事条码手持终端应用程序的开发 开发过多种设备: CASIO DT900,DT300,DTX10; Cipher 711 ; SYMBOL MC50,MC1000,PPT8800; Intermec 700系列 有需要的请联系本人 QQ:6 ...… 查看全部问答> |
|
急!!!如何在PC机上实现对单片机的控制(用VC++6.0编程) 小弟正在想弄一个在PC机上实现对单片机的控制,但不知道从哪个方面入手? 希望各位达人给予小弟一些指点.发个程序给小弟参考参考(用C语言编写的)… 查看全部问答> |
|
经历了很多推销的宣传,今天买了10片样品,准备把以前ATMEL8的东西都移植过来. 有几个问题,一直没搞明白: 1. STM8S103K3会不会象ATMEL那样,1000元就能把代码都读出来?STM8S103K3的 解密难度有多大? 2. 以前一直用ICC和KEIL开 ...… 查看全部问答> |
|
2812程序烧到片内flash中运行,能否用CCS和仿真器观察内部变量 2812程序烧到片内flash中运行,能否用CCS和仿真器观察内部变量, 调试电机程序,使用仿真器容易跑飞,希望能烧到flash中运行,同时也希望能像在ccs里仿真一样观察几个关键变量,听有的工程师说是能实现的,希望有能得到指点?… 查看全部问答> |
|
这是个试验程序,就是把整页写入同一个数据,,另外ID什么都可以读出来,,个人感觉数据是可以读出来的,,但读出来的全是FF,2112个FF后是64个0x15,我把读命令改错的话,读出来的是那个输入的数据,说明内部没把数据读出来,这是不是说明FF读出来 ...… 查看全部问答> |
|
在整个APF中基准电流的产生方法是核心环节,只有产生正确的基准电流信号才能很好的补偿谐波和无功电流。当只是补偿谐波电流时只需获取负载电流中的谐波分量即可,当补偿谐波及无功时除了要获取谐波电流信号外还需获取基波电流中的无功分量。基准电 ...… 查看全部问答> |




