IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> task9笔记与总结 -> 正文阅读

[嵌入式]task9笔记与总结

目录

一.学习JLINK在MDK上的配置

二.库函数和寄存器的区别:

三.基于固件库

1.创建新工程:

2.配置环境:

3.设置文件:

4.编译成功:

四.基于寄存器:

1.创建新工程

2.对环境进行配置


一.学习JLINK在MDK上的配置

*千万不能在JLINK升级的断开JLINK。

二.库函数和寄存器的区别:

- 本质上是一样的。我们可以再库函数模板里面,直接操作寄存器,因为官方库相关头文件有寄存器定义。但是不能在寄存器模板调用库函数,因为没有引入库函数相关定义。

?-?了解寄存器基本原理的目的是为了让我们对STM32相关知识有比较深入的理解,这样在开发过程中方可得心应手,游刃有余。底层代码配置出了问题需要调试的话,必须对寄存器有一定


三.基于固件库

1.创建新工程:

1).新建文件夹,然就在文件夹中建立一个子文件夹。

2).点击 MDK 的菜单:Project –>New Uvision Project ,然后将目录定位到刚才建立的文件夹 Template 之下,在这个目录下面建立子文件夹 USER录,?然后定位到 USER 目录下面,我们的工程文件就都保存到 USER 文件夹下面。工程命名为 Template,点击保存。接下来会出现一个选择 CPU 的界面,就是选择我们的芯片型号。,因为 ALIENTEK 战舰 STM32F103 所使用的 STM32 型号为 STM32F103ZET6,所以在这里我们选择 STMicroelectronics?STM32F1 Series?STM32F103?STM32F103ZET6。

3).点击 OK,MDK 会弹出 Manage Run-Time Environment 对话框,后点击cancel即可。

4).到现在为止USER中会含有两个文件夹和两个文件

5).接下来,我们在 Template 工程目录下面,新建 3 个文件夹 CORE, OBJ 以及 STM32F10x_FWLib。

6).打开官方固件库包,定位到我们之前准备好的固件库包的目录: STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver 下面, 将目录下面的 src,inc 文件夹 copy 到我们刚才建立的 STM32F10x_FWLib 文件夹下面。

成功之后变成这样。

7).下面我们要将固件库包里面相关的启动文件复制到我们的工程目录 CORE 之下

8).定位到目录。

2.配置环境:

9) 前面 8 个步骤,我们将需要的固件库相关文件复制到了我们的工程目录下面,下面我们将 这些文件加入我们的工程中去。右键点击 Target1,选择 Manage Project Items

10) Project Targets 一栏,我们将 Target 名字修改为 Template,然后在 Groups 一栏删掉一个 Source Group1,建立三个 Groups:USER,CORE,FWLIB。然后点击 OK,可以看到我们的 Target 名字以及 Groups 情况。

11) 下面我们往 Group 里面添加我们需要的文件。

12) 用同样的方法,将 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. 这样我们需要添加的文件已经添加到我们的工程中了,最后点击 OK,回到工程主界面。

13) 接下来我们要编译工程,在编译之前我们首先要选择编译中间文件编译后存放目录。

3.设置文件:

14) 下面我们点击编译按钮 编译工程,可以看到很多报错,因为找不到头文件。

15) 下面我们要告诉 MDK,在哪些路径之下搜索需要的头文件,也就是头文件目录。这里大 家要注意,对于任何一个工程,我们都需要把工程中引用到的所有头文件的路径都包含到 进来。回到工程主菜单,点击魔术棒 ,出来一个菜单,然后点击 c/c++选项.然后点击 Include Paths 右边的按钮。弹出一个添加 path 的对话框,然后我们将图上面的 3 个目录添 加进去。记住,keil 只会在一级目录查找,所以如果你的目录下面还有子目录,记得 path 一定要定位到最后一级子目录。然后点击 OK.

16)定位到 c/c++界面,然后填写 “STM32F10X_HD,USE_STDPERIPH_DRIVER”到 Define 输入框里面(请注意,两个标识符 中间是逗号不是句号,如果您不能确定您输入的是正确的,请直接打开我们光盘任何一个 库函数实例,然后复制过来这串文字即可)。这里解释一下,如果你用的是中容量那么 STM32F10X_HD 修改为 STM32F10X_MD,小容量修改为 STM32F10X_LD. 然后点击 OK。

17) 这次在编译之前,我们记得打开工程 USER 下面的 main.c 文件,复制下面代码到 main.c 覆盖已有代码,然后进行编译

18) 这样一个工程模版建立完毕。下面还需要配置,让编译之后能够生成 hex 文件。同样点击 魔术棒,进入配置菜单,选择 Output。然后勾上下三个选项。 其中 Create HEX file 是编 译生成 hex 文件,Browser Information 是可以查看变量和函数定义。

4.编译成功:

19) 重新编译代码,可以看到生成了 hex 文件在 OBJ 目录下面,这个文件我们用 flymcu 下载 到 mcu 即可(参考 3.4.2 小节)。到这里,一个基于固件库 V3.5 的工程模板就建立了。

四.基于寄存器:

1.创建新工程

1)新建文件夹,然就在文件夹中建立一个子文件夹。

2)创建新工程后在keil新建工程CPU中STM32的选择合适的芯片

3)后点击cancel。

4)将启动文件添加到USER下,然后新建OBJ文件夹,最后将SYSTEM文件夹复制过来

2.对环境进行配置

问题:在配置的过程中有些文件以及串口没有找到,通过百度查询以及请教学长解决了大部分问题,但还有一些没有解决,例如有些芯片的数据包找不到导致keil新建工程CPU没有STM32的选项,以及配置驱动没有插口等,以上问题还需要再思考,去想办法解决。

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:30:35  更:2021-08-28 09:31:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 5:05:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码