| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> STM32_基础入门_新建工程文件—基于固件库 -> 正文阅读 |
|
[嵌入式]STM32_基础入门_新建工程文件—基于固件库 |
1) 在建立工程之前,建议用户在电脑的某个目录下面建立一个文件夹,后面所建立的工 ? 2、将目录定位到刚才建立的文件夹Template 之下,在这个目录下面建立子文件夹 USER、CORE、OBJ、STM32F10x_FWLIB ?3、点击 MDK 的菜单: Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹 ? ?接下来会出现一个选择 CPU 的界面,就是选择我们的芯片型号。因为ALIENTEK 精英 STM32F103 所使用的 STM32 型号为 STM32F103ZET6,所以在这里我们选择STMicroelectronics→STM32F1 Series→STM32F103→STM32F103ZET6(如果使用的是其他系列的芯片,选择相应的型号就可以了,特别注意: 一定要安装对应的器件 pack 才会显示这些内 ?4、点击 OK, MDK 会弹出 Manage Run-Time Environment 对话框, ?这是 MDK5 新增的一个功能,在这个界面,我们可以添加自己需要的组件,从而方便构建开发环境,不过这里我们不做介绍。所以在上图所示界面,我们直接点击 Cancel,即可,得到如下图所示界面 ?5、现在我们看看 USER 目录下面包含 2 个文件夹和 2 个文件,如下图? 所示: ?这里我们说明一下, Template.uvprojx 是工程文件,非常关键,不能轻易删除。 Listings 和 Objects文件夹是 MDK 自动生成的文件夹,用于存放编译过程产生的中间文件。这里,我们把两个文件夹删除,我们会在下一步骤中新建一个 OBJ 文件夹,用来存放编译中间文件。 当然,我们不删除这两个文件夹也是没有关系的,只是我们不用它而已。 6、
7、?STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下面, 8、STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport 下面,将文件 core_cm3.c和 文 件 core_cm3.h 复 制 到 CORE 下 面 去 。 然 后 定 位 到 目 录 9、STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x 下面将里面的三个文件 stm32f10x.h, system_stm32f10x.c, system_stm32f10x.h,复制到我们的 USER目录之下。 ?然后将STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template 下面的 4 个文 件main.c, stm32f10x_conf.h, stm32f10x_it.c, stm32f10x_it.h 复制到 USER 目录下面。 10、前面 9 个步骤,我们将需要的固件库相关文件复制到了我们的工程目录下面,下面我们将 11、?Project Targets 一栏,我们将 Target 名字修改为 Template,然后在 Groups 一栏删掉一个 SourceGroup1,建立三个 Groups: USER,CORE,FWLIB。然后点击 OK,可以看到我们的 Target名字以及 Groups 情况。 ? 12、下面我们往 Group 里面添加我们需要的文件。我们按照步骤 10?的方法,右键点击Tempate,选择选择 Manage Components.然后选择需要添加文件的 Group,这里第一步我们选 择 FWLIB , 然 后 点 击 右 边 的 Add Files, 定 位 到 我 们 刚 才 建 立 的 目 录STM32F10x_FWLib/src 下面,将里面所有的文件选中(Ctrl+A),然后点击 Add,然后 Close.可以看到 Files 列表下面包含我们添加的文件。这里需要说明一下,对于我们写代码,如果我们只用到了其中的某个外设,我们就可以不用添加没有用到的外设的库文件。 例如我只用 GPIO,我可以只用添加 stm32f10x_gpio.c 而其他的可以不用添加。这里我们全部添加进来是为了后面方便,不用每次添加,当然这样的坏处是工程太大,编译起来速度慢,用户可以自行选择。 13、用同样的方法,将 Groups 定位到 CORE 和 USER 下面, 添加需要的文件。这里我们的 CORE 下面需要添加的文件为 core_cm3.c, startup_stm32f10x_hd.s (注意,默认添加的时候文件类型为.c,也就是添加 startup_stm32f10x_hd.s 启动文件的时候,你需要选择文件类型为 All files 才能看得到这个文件), USER 目录下面需要添加的文件为 main.c, stm32f10x_it.c,system_stm32f10x.c. ? ? ?14、接下来我们要编译工程,在编译之前我们首先要选择编译中间文件编译后存放目录。方法是点击魔术棒,然后选择“Output”选项下面的“Select folder for objects…” ,然后选择目录为我们上面新建的 OBJ 目录。 这里大家注意,如果我们不设置 Output 路径,那么默认的编译中间文件存放目录就是 MDK 自动生成的 Objects 目录和 Listings 目录。 15、下面我们要告诉 MDK,在哪些路径之下搜索需要的头文件,也就是头文件目录。 这里大 ? ? ?16、接下来,我们再来编译工程,可以看到又报了很多同样的错误。为什么呢?这是因为 3.5 版 ?17、注意,还要对 main.c 文件的代码做修改,大家可以打开光盘目录的工程模板,从工程的 main.c文件中复制过来即可。 具体工程为“实验 0-1 Template 工程模板-新建工程章节使用”。 18、这样一个工程模版建立完毕。下面还需要配置,让编译之后能够生成 hex 文件。同样点击 以上工程建立就基本完成了,如需新加文件夹,重复10-14即可!! |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 1:40:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |