码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 快速掌握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、编译,下载到板子上运行

    在这里插入图片描述

  • 相关阅读:
    05-Nebula Graph 图数据 可视化
    在Ubuntu上为ARM 8处理器安装Python 3.10.4虚拟环境指南
    mysql学习笔记1:mysql字符集和字符集编码
    为什么重写equals方法,还必须要重写hashcode方法
    ica1靶机(hydra爆破)
    安防监控系统/视频云存储/视频监控平台EasyCVR无法级联上级平台,该如何解决?
    多功能手机无线充触摸IC-DLT8SA15B
    冰冰学习笔记:类与对象(中)
    huatuo 革命性热更新解决方案系列1·1 为什么这么NB?huatuo革命Unity热更新
    面试官:单例Bean一定不安全吗?实际工作中如何处理此问题?
  • 原文地址:https://blog.csdn.net/u011573853/article/details/132656360
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号