• 快速掌握STM32工程创建


    STM32 工程创建-- 使用Keil uVision5 软件
    晓理紫

    1 准备库函数

    STM32F10x_StdPeriph_Lib_V3.5.0
    VX 搜索“晓丽紫”关注回复STM32F10x即可下载

    2、创建一个目录用来存放工程

    STM32Study

    STM32Study/study1 存放本次工程目录

    3、打开Keil uVision5 创建工程

    在这里插入图片描述

    4、选择型号(根据板子型号选择)

    在这里插入图片描述

    5、在工程中添加必要文件

    5.1 、启动文件

    启动文件位于库函数
    STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

    在工程文件目录中创建文件目录Start把启动文件中的文件考到工程文件中

    在这里插入图片描述

    5.2 拷外设寄存器描述文件和时钟文件

    位于STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

    也拷入到Start中

    在这里插入图片描述

    5.3 拷贝内存寄存器文件

    位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

    在这里插入图片描述

    5.4 把必要文件加载到工程中

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    6、添加头文件路径

    在这里插入图片描述

    在这里插入图片描述

    7、测试工程可用性

    7.1 在工程中创建User存储main文件

    创建组并改名为User

    在这里插入图片描述

    7.2 添加main文件

    在这里插入图片描述

    在这里插入图片描述

    8、编写测试代码

    #include "stm32f10x.h"                  // Device header
    
    int main(void)
    {
    	while(1)
    	{
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    9、错误处理

    9.1 错误1

    Build target 'Target 1'
    Start/core_cm3.c(445): error: non-ASM statement in naked function is not supported
      uint32_t result=0;
    
    • 1
    • 2
    • 3

    原因: 使用的编译版本太新

    在这里插入图片描述

    9.2 错误2

    .\Objects\study2_1.sct(7): error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
    
    • 1

    原因:启动文件都加载进来了

    在这里插入图片描述

    当现实如图时工程可以使用了

    在这里插入图片描述

    10 debug,烧录调试

    10.1 选择下降方式并设置下载复位执行

    在这里插入图片描述
    在这里插入图片描述

    11、 使用库函数进行编程

    11.1 拷贝库函数

    创建Library目录并把\STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver中src以及inc中的文件拷入

    11.2 像上面一样添加Library组

    11.3 添加库函数头文件包含关系的文件以及中断函数

    位于 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 复制到User文件目录中

    在这里插入图片描述

    11.4 向上面一样加入头文件

    11.5 添加宏定义

    在这里插入图片描述

    在这里插入图片描述

    12、编译,下载到板子上运行

    在这里插入图片描述

  • 相关阅读:
    【超详细】MYSQL 8.0 数据库安装与配置教程
    [附源码]计算机毕业设计springboot基于vue的软件谷公共信息平台
    一文速学-HiveSQL解析JSON数据详解+代码实战
    AI编程案例002/ 根据草图设计小红书封面
    MySQL查询优化介绍
    【工具推荐】KeePass安装与插件推荐
    flutter报错-cmdline-tools component is missing
    Vue中Vue router和axios的封装使用。
    别人都不知道的“好用”网站,让你的效率飞快
    计算机毕业设计之java+ssm的洗衣店管理系统
  • 原文地址:https://blog.csdn.net/u011573853/article/details/132656360