你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32F103 工程模板的建立

[复制链接]
STMCU小助手 发布时间:2022-4-4 21:50
1.在磁盘根目录创建文件夹,命名为Template,并在该文件夹中创建CORE,LIB,OBJ,USER四个文件夹。

20181230110203593.png

2.打开Keil uVision5,选中Project中的New uVision Project 选择文件夹路径及工程名。

2018123011021374.png
20181230110218570.png

3.选择STM32F103C8芯片后点击OK。

20181230110224110.png

4.点击Cancel。

2018123011022971.png

5.打开Template-USER,删除Listings,Objects两个文件夹

20181230110233765.png

6.定位至官方库(需要自行下载)的如下路径:

< STM32F10x_Stdperiph_Lib_V3.5\Libraries\STM32F10x_Stdperiph_Driver >

(1)将inc文件夹中的所有文件复制到Template\LIB\inc中

(2)将src文件夹中的所有文件复制到Template\LIB\src中(以此处为准)

20181230110238946.png

7.定位至官方库的如下路径:

< STM32F10x_Stdperiph_Lib_V3.5\Libraries\CMSIS\CM3 >

注意:是把CoreSupport文件夹里面的core_cm3.c和core_cm3.h两个文件复制到Template\CORE,而不是把CoreSupport这个文件夹复制过去。

20181230110244177.png

8.定位至官方库的如下路径:

< STM32F10x_Stdperiph_Lib_V3.5\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x >

20181230110248967.png

9.定位至官方库的如下路径:

< STM32F10x_Stdperiph_Lib_V3.5\Project\STM32F10x_StdPeriph_Template >

20181230110253671.png

10.打开Keil uVision5,点击Manage Project Items;

删除Source Group 1,Target 1;新建Template,USER,LIB,CORE

20181230110258240.png

2018123011031683.png

11.添加文件到Groups,其中USER需添加system_stm32f10x.c和stm32f10x_it.c,LIB需添加stm32f10x_gpio.c和stm32f10x_rcc.c等所有.c文件,CORE需添加core_cm3.c和startup_stm32f10x_md.s

20181230110306721.png

20181230110311428.png



12.点击Options for Target

20181230110321790.png

13.点击Output勾选Create HEX File;点击Select Folder for Objects

20181230110326957.png

14.选择如下方框中的路径后,点击OK。

2018123011033384.png

15.再次点击Options for Target

在C/C++中Define,填入STM32F10X_MD,USE_STDPERIPH_DRIVER(注意中间是英文逗号)

Include Paths中增加\CORE,\USER,\LIB\inc(点击右边那个有"..."的小方块增删文件夹路径)

20181230110341451.png

16.新建main.c,保存到Template\USER中

20181230110347659.png

17.将main.c添加到工程中

20181230110352465.png

20181230110400545.png

18.输入以下代码

  1. #include "stm32f10x.h"

  2. void Delay(u32 count)
  3. {
  4.     u32 i = 0;
  5.     for(; i < count; i++);
  6. }

  7. int main(void)
  8. {
  9.     GPIO_InitTypeDef GPIO_InitStructure;

  10.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

  11.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
  12.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  13.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
  14.     GPIO_Init(GPIOC, &GPIO_InitStructure);

  15.     while(1)
  16.     {
  17.         GPIO_SetBits(GPIOC, GPIO_Pin_13);
  18.         Delay(300000);
  19.         GPIO_ResetBits(GPIOC, GPIO_Pin_13);
  20.         Delay(300000);
  21.     }
  22. }
复制代码

19点击Rebuild,检查和修改错误。

20181230110626919.png

20.下载到最小系统板看到小灯闪烁(如果板子上的灯没有反应,请检查原理图确认板子上的LED是否接在芯片的PC13引脚,如若不是PC13,将代码做相应修改即可),完成工程模板的建立(编译没有报错说明工程模板已经建立成功啦)。


最后,小R建议小伙伴们一开始不熟悉的时候,可以重复跟着本文多建几次工程模板。熟悉了自己的工程有什么文件(这个挺重要的,实际工程的代码量较大,通常需要进行代码文件的分类和归档,这时如果熟悉工程文件层次的话,事情就变得很轻松了),我们就能更好地进行开发啦。



20181230110302282.png
收藏 评论0 发布时间:2022-4-4 21:50

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版