task9笔记与总结

本文档详细介绍了如何在MDK环境下配置JLINK,使用库函数与直接操作寄存器对STM32进行开发。首先讲解了JLINK配置注意事项,接着对比了库函数和寄存器操作的异同。然后,通过实例演示了基于固件库创建STM32工程的过程,包括文件添加、环境配置、编译设置等步骤。最后,提到了基于寄存器的工程创建,遇到的问题及解决思路。整个过程旨在帮助开发者熟练掌握STM32的固件库和寄存器编程。
摘要由CSDN通过智能技术生成

目录

一.学习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的选项,以及配置驱动没有插口等,以上问题还需要再思考,去想办法解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
形式语言与自动机笔记主要涵盖了以下几个方面: 1. 形式语言:介绍了语言和形式语言的概念,并讨论了形式语法和推导的相关内容。 2. 有限自动机和正则文法:介绍了确定的有限自动机和不确定的有限自动机的区别,以及它们与正则文法的关系。 3. 图灵机和线性带限自动机:讨论了图灵机和线性带限自动机的特点和区别,特别强调了图灵机能够通过读/写头改变输入带的字符的能力。 4. 线性带限自动机和1型文法:介绍了线性带限自动机和1型文法的等价性,以及线性带限自动机的特点,包括其存储空间被输入符号串的长度所限制的特点。 5. 各类自动机的区别:总结了各类自动机之间的区别和联系。 总的来说,这篇笔记主要介绍了形式语言和自动机的基本概念、特点和应用,并通过详细的例子和解释来帮助读者理解这些概念。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [自然语言处理(3)——形式语言与自动机](https://blog.csdn.net/m0_53327618/article/details/121617719)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [统计自然语言处理(第二版)学习笔记:第三章 形式语言与自动机](https://blog.csdn.net/XB_please/article/details/100182309)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值