当前位置: 首页 > news >正文

嵌入式基础_STM32F103C8T6从零开始建立一个项目(库函数)

第一步:stm32f10x标准库下载(STSW-STM32054)https://www.st.com/content/st_com/zh/products/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus/stm32-mainstream-mcus/stm32f1-series/stm32f103/stm32f103c8.html#tools-software

 下载时需要填写一个邮箱及用户名,登录成功后可通过邮件下载如下文件包:

 第二步:建立工程之前建议现在用户电脑某个目录下建立一个文件夹(Formwork_works),用于放置建立的工程;

    1)在该文件夹下建立四个子文件夹Project、OBJ、CORE、STM32F10X_FWLIB

                        Project :存放工程文件

                        OBJ :存放编译文件及HEX文件

                        CORE:存放启动文件

                        STM32F10X_FWLIB:存放必要的.c、.h文件

  2) 固件库移植

CORE                                                                                                      

路径:STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport

 路径:STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x

路径:STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm 

STM32F10X_FWLIB                                                                              

 路径:STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver

 Project                                                                                                   

路径:STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template

 3)固件移植成功后,打开KILE软件建立工程;

        新建工程(Project)-> 选择芯片(STM32F103C8T6)->添加库文件(如下)

 将项目所有的.h头文件所在文件夹包含进来(如下2)

“STM32F10X_MD,USE_STDPERIPH_DRIVER”到 Define 输入框里面(请注意,两个标识符
中间是逗号不是句号(如下1)

将编译过程生成的编译文件,HEX文件放入之前建好的OBJ文件夹中

 编译通过

相关文章:

  • Node.js | 基础完结、综合训练 —— 路由应用实战教程
  • 生命在于学习——代码审计基础
  • 【第十四篇】- Maven 自动化构建
  • c++中如何利用VA_LIST 和单体模式,构建自己的log小系统
  • 【Django】开发日报_4_Day:手机号码管理系统(1)
  • Oracle中含替换变量的查询(二)
  • 论文解读:Sadeepcry:使用自我注意和自动编码器网络的蛋白质结晶倾向预测的深度学习框架
  • Android Framework 框架层 | AMS 定义与知识点梳理
  • 工业场景全流程!机器学习开发并部署服务到云端
  • 真无线耳机哪个好?真无线耳机性价比排行榜
  • IDL学习:语法基础-程序控制
  • 市场调研团体怎么使用无人系统生产更安全
  • [ 常用工具篇 ] AntSword 蚁剑安装及使用详解
  • 百度校园招聘历年经典面试题汇总:测试开发
  • 支撑Java NIO 与 NodeJS的底层技术
  • 「译」Node.js Streams 基础
  • 2017 年终总结 —— 在路上
  • CentOS7简单部署NFS
  • ComponentOne 2017 V2版本正式发布
  • Docker 笔记(2):Dockerfile
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • egg(89)--egg之redis的发布和订阅
  • JavaScript 奇技淫巧
  • Java的Interrupt与线程中断
  • JSDuck 与 AngularJS 融合技巧
  • python_bomb----数据类型总结
  • underscore源码剖析之整体架构
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 面试总结JavaScript篇
  • 模型微调
  • 区块链共识机制优缺点对比都是什么
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • elasticsearch-head插件安装
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​ArcGIS Pro 如何批量删除字段
  • ​LeetCode解法汇总518. 零钱兑换 II
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • (1)(1.11) SiK Radio v2(一)
  • (pojstep1.3.1)1017(构造法模拟)
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)Unity3DUnity3D在android下调试
  • (转载)利用webkit抓取动态网页和链接
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .NET gRPC 和RESTful简单对比
  • .NET 表达式计算:Expression Evaluator
  • .NET 设计模式初探
  • .net解析传过来的xml_DOM4J解析XML文件
  • @Transactional 竟也能解决分布式事务?
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [Angular] 笔记 8:list/detail 页面以及@Input
  • [Angularjs]ng-select和ng-options
  • [BZOJ 1040] 骑士