下载st官方固件库

STM32F103意法半导体32位微控制器 - STMicroelectronics

搜索并下载固件库

使用固件库创建工程模版(以后不用每次配置了)

新建一个“工程模版”文件夹,里边新建三个文件夹

工程模板

|----Project        自己编写的代码把下载的库中的\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下的

main.c
stm32f10x_conf.h
stm32f10x_it.c
stm32f10x_it.h
复制进来

|----Libraries      下载的库文件中的同名文件拷贝过来的

|----Output        存放编译完成后的机器码之类的

新建工程

然后打开keil5程序,Project -> New uvision Project...

目录选择为刚才新建的project目录,点保存会出现一个选择芯片的页面,选择所要用的芯片。
我所需芯片在STMicroelectronics -> STM32F1 Series -> STM32F103 -> STM32F103C 下
找到点击,然后OK。

没有的话,先不新建工程,先在keil主面板上点击打开pack installer

左侧 Device选项卡下搜索STM32F103,在出现的列表中选中STM32F103C8(根据自己的板子选)

右侧packs选项卡中,列出了Device Specific中有两个Keil::....点击安装这两个包。装好后退出来重新新建工程就可以看到STMicroelectronics下自己的板子的包了。

工程配置

添加工程组和组文件

在Groups中创建分组:

User            自己开发的程序代码

Deiver         管理STM32外设的驱动

CM3            管理CMSIS内核驱动

Startup       管理MDK开发环境下与芯片相对应的启动代码

在Files中加入文件

USER:project中的main.c\stm32f10x_it.c

Driver:Libraries\STM32F10x_StdPeriph_Driver\src下的所有.c文件

CM3:Libraries\CMSIS\CM3\CoreSupport 下的core_cm3.c

Startup:Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm\startup_stm32f10x_md.s

(这个目录下的一堆.s文件对应的是不同容量的芯片,stm32f103c8对应的是md后缀的)

target选项配置

1.Target选项卡中ARM Compiler选择版本5的编译器

2.Output选项卡将Create HEX File选上,output路径选择为刚才创建的output文件夹d

3.C/C++(4C6)选项卡,在preprocessor Symbols的define中写两个宏定义:

USE_STDPERIPH_DRIVER,STM32F10X_MD(中间是逗号),第一个宏定义是说使用固件库进行开发,第二个说的是芯片容量,分为LD,MD,HD,对于stm32f103c8来说是MD。

然后在include Path处,点击后面的三个点,把Libraries文件夹中的路径配上,分别为

Libraries\CMSIS\CM3\CoreSupport

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm

Libraries\STM32F10x_StdPeriph_Driver\inc

Libraries\STM32F10x_StdPeriph_Driver\src

Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

4. debug选项卡右上角的debugger选择为ST-Link Debugger

接线正确的话,插上stlink后点settings会在SW Device中出现stlink设备

测试

打开main.c文件只留空循环

运行程序

0error且生成了target就是正确的,否则排除error

使用STlink烧录程序

stm32boot0置1

boot0是1的时候可以调试,0的时候程序运行

对应引脚连接

stm32-STlink

3.3v-3.3v

swio-gnd

swclk-swdio

gnd-swclk

todo 需不需要装stlink驱动

STM32F103C8的keil环境配置和STlink烧录相关推荐

  1. MSP432P401R LaunchPad教程(二)keil环境配置

    MSP432P401R LaunchPad教程(二)keil环境配置 专栏目录 MSP432P401R LaunchPad教程 基于keil的开发环境 MSP432P401R LaunchPad教程( ...

  2. 【致敬未来的攻城狮计划】--RA2E1 开发板测评(1)keil环境配置

    前言 (1)首先感谢 李肯前辈的活动,从而申请到了RA2L1开发板的测评. (2)本文将会简单介绍此开发的Renesas RA2L1 开发板的前期配置.需要注意的是,MDK版本要5.30 以上. MD ...

  3. pynq 环境搭建_PYNQ系列学习(一): Pynq开发环境配置

    PYNQ项目是一个新的开源框架,使嵌入式编程人员在无需设计可编程逻辑电路的情况下充分发挥Xilinx Zynq All Programmable SoC(APSoC)的功能. 与常规方式不同的是,通过 ...

  4. pynq 环境搭建_PYNQ系列学习(一)——Pynq开发环境配置

    PYNQ项目是一个新的开源框架,使嵌入式编程人员在无需设计可编程逻辑电路的情况下充分发挥Xilinx Zynq All Programmable SoC(APSoC)的功能. 与常规方式不同的是,通过 ...

  5. 如何安装KEIL并配置好51与STM32的环境

    Keil编辑和STM32cubemx配置STM32控制步进电机 \\\插播一条:文章末尾有惊喜哟~/// 使用Keil ARM V5 IDE编程和STM32CUBEMX代码配置实现STM32F103和 ...

  6. 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录

    目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 沁恒CH32F103C ...

  7. 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录

    目录 沁恒CH32F103C8T6(一): Keil5环境配置,示例运行和烧录 沁恒CH32F103C8T6(二): Linux PlatformIO环境配置, 示例运行和烧录 沁恒CH32F103C ...

  8. 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置

    目录 沁恒CH32V103C8T6(一): 核心板焊接和Windows开发环境配置 沁恒CH32V103C8T6(二): Linux RISC-V编译和烧录环境配置 硬件准备 CH32V103 开发板 ...

  9. Keil MDK配置ARM开发环境

    Keil MDK配置ARM开发环境 1. 安装Keil MDK 安装方法这里不再说明,懂得都懂!

  10. stm32使用stlink烧录后jlik烧不进去_【MCU实战经验】+用stm32单片机做J-Link和ST-Link...

    网上买一个成品J-Link和ST-Link要好几十块,于是出了一批用stm32f103c8芯片制作的J-Link和ST-Link调试器,功能和成品模块几乎一样,同时外观也十分小巧,便于携带和使用... ...

最新文章

  1. mysql mairadb skysql
  2. LIVE 预告 | 哈工大微软:多任务、多语言、多模态的预训练模型 | CVPR21系列
  3. python源代码不需要编译成什么-python需要编译么
  4. bzoj3450 Easy(概率期望dp)
  5. 【Linux】一步一步学Linux——telinit命令(144)
  6. js中函数对象的方法,原型方法apply、call、bind、toString、toLocaleString、valueOf
  7. registered php streams sqlsrv,tp5与SQL Server的爱恨情仇(1)
  8. css模拟title和alt的提示效果[转]
  9. Android之内容提供者ContentProvider的总结
  10. 可代替 ASM,使用 AnnotationProcessor 做代码插桩
  11. 以汉维语音翻译为例-uniapp原生顶部栏维语翻译-使用字体图标
  12. Excel下拉列表式的动态图表,你会制作吗?
  13. 聚合支付第三方支付通道
  14. 【GPT-3】第1章 大型语言模型时代
  15. 数学笔记14——微积分第一基本定理
  16. DTS北洋曳舞社网站开发手记
  17. 杂谈——如何合并两个有序链表(时间复杂度为O(n))
  18. ssh登录ubuntu
  19. JavaScript高级程序设计(第3版)电子版,非扫描下载
  20. c语言中按键设置上下限,控制图中的控制上限和控制下限标明()。A.客户将要接受的界限B.可能出现的过程的偏差范围C.可以接受 - 信管网...

热门文章

  1. 由火车上的查票事件所引起的思考
  2. 简单html开源游戏案例,基于CreatejsHTML5游戏案例(看你有多色游戏案例)
  3. 易基因|表观发育:ChIP-seq揭示精子H3K4me3可传递到胚胎并与代谢功能障碍遗传有关
  4. crucible-4.8.2更改mysql5.7数据库报错User ‘crucible‘ has exceeded the ‘max_questions‘ resource
  5. 新品周刊 | 雀巢脆脆鲨推出坚果巧克力威化;金宾波本威士忌推出父子合作酒品...
  6. html怎么快捷审查源代码,怎样查看网页源代码和审查元素?
  7. InvalidArgumentError (see above for traceback): Number of ways to split should evenly divide the spl
  8. 2016,后余额宝时代:基金电商沉浮录
  9. 为什么阿里,腾讯,百度和京东都是在开曼岛注册的?
  10. C++ Beep()演奏简谱的改进以及实现背景音乐