STM32学习记录(1)创建工程

仅供个人学习,记录学习STM32中的要点,加深对知识的巩固

前言

首先我们编程的目的是操作硬件,而硬件在我们的处理器上都是以地址的方式存在。当我们访问某个硬件时,实际上就是访问这个硬件在我们CPU空间上的锁挂在的地址。而地址又被寄存器所记录。也就是说,在STM32中,每个外设和寄存器都有一个唯一的地址,可以使用该地址来读取或写入该外设或寄存器的值。

学好一个处理器的本质就是对寄存器的操作。如何用寄存器完成对代码的编写,可以加深如何操作一个CPU的理解。

第一个学习新的工程创建。

创建工程

  1. 启动Keil4软件,在菜单栏中选择“Project”->“New Project”。
  2. 在“Create New Project”对话框中,选择储存新项目的文件夹路径和文件名。
  3. 选择适合您的STM32微控制器类型。从“Device”中选择您的MCU型号,例如“STMicroelectronics->STM32F103RB”。
  4. 点击“OK”后,Keil4会自动为您创建一个新的项目。
  5. 在“Project”窗格中,您可以看到“Source Group”和“Header Group”。您可以在这些组中添加您的代码和头文件。
  6. 在“Source Group”中添加.c文件和.h文件。您可以右键单击“Source Group”并选择“Add New Item to Group”,然后选择您要添加的文件。
  7. 在“Options for Target”窗格中,您可以配置您的项目设置。例如,您可以选择编译器和链接器选项,以及编译选项和目标文件名等。
  8. 在“Project”菜单中,选择“Rebuild all target files”来构建和编译您的项目。如果没有错误,您可以在“Build”窗格中看到编译输出。
  9. 在构建和编译成功后,您可以通过“Flash”按钮将程序下载到您的MCU中。要进行此操作,请确保正确配置了下载选项和连接器。

配置文件与选项

文件配置

alt

startup.stm32f10x_md.s

startup.stm32f10x_md.s是STM32F10x系列微控制器的启动文件。这个文件包含了一些基本的初始化代码,例如设置堆栈指针、设置中断向量表、配置时钟和外设等。在程序运行之前,处理器会先执行这个启动文件中的代码,以确保处理器和外设正确初始化并且准备好运行应用程序。

startup.stm32f10x_md.s文件是一个汇编代码文件,它包含了处理器启动和初始化的一些关键代码。这些代码主要负责:

  1. 设置堆栈指针。堆栈是程序运行时的一个关键数据结构,用于存储函数调用时的临时变量和返回地址。启动文件中的代码会设置堆栈指针,以确保程序能够正确地使用堆栈。

  2. 设置中断向量表。中断向量表是一张表格,存储了处理器中所有中断向量的地址。启动文件中的代码会设置中断向量表的地址,以确保程序可以正确地响应中断。

  3. 配置时钟和外设。处理器的时钟和外设是处理器能够正常工作的重要组成部分。启动文件中的代码会配置时钟和外设,以确保它们能够正常工作并与处理器正确通信。

startup.stm32f10x_md.s文件是STM32F10x系列微控制器的启动文件,它包含了处理器启动和初始化的一些关键代码,用于确保处理器和外设能够正确初始化并准备好运行应用程序。

system_stm32f10x.c

system_stm32f10x.c文件是一个C语言代码文件,它包含了处理器系统初始化的一些关键代码。这些代码主要负责:

  1. 初始化系统时钟。系统时钟是处理器运行的基础,启动文件中的代码会配置系统时钟,以确保处理器可以正确地运行。

  2. 初始化外设时钟和时钟分频器。外设时钟是处理器中的各种外设运行所需的时钟信号。启动文件中的代码会初始化外设时钟和时钟分频器,以确保外设可以正确工作。

  3. 初始化外设模块和寄存器。STM32F10x系列微控制器中有很多不同的外设模块和寄存器,它们需要初始化以使它们可以正确地工作。启动文件中的代码会初始化外设模块和寄存器,以确保外设可以正常工作。

选项配置

再进行选项卡的设置,比如宏的预处理:

alt

  1. STM32F10X_MD是STMicroelectronics推出的一款基于ARM Cortex-M3内核的32位微控制器系列,主要用于工业控制、汽车电子、医疗设备、安防监控等领域。其中,MD表示这个系列的器件具有中等密度的Flash存储器

  2. USE_STDPERIPH_DRIVER是STMicroelectronics提供的一个HAL库的宏定义,用于指定使用标准外设驱动库(Standard Peripheral Library)。

相关路径的配置:

alt

选择STLink的连接方式:

alt

设备的选项情况:

alt

当配置好上述文件后,创建main函数。

alt

此时进行编译。注意这里并没有写任何代码,只是对创建一个新的工程进行编译。到这里,一个新的工程算是创建好了。

全部评论
大佬
点赞 回复 分享
发布于 2023-03-07 10:35 浙江
谢谢分享,大佬牛逼
点赞 回复 分享
发布于 2023-03-02 13:03 四川
厉害啊,大佬学习了
点赞 回复 分享
发布于 2023-03-02 10:21 甘肃
谢谢分享,这个很硬核
点赞 回复 分享
发布于 2023-03-02 10:06 吉林

相关推荐

迟缓的斜杠青年巴比Q了:简历被投过的公司卖出去了,我前两天遇到过更离谱的,打电话来问我有没有意向报班学Java学习,服了,还拿我学校一个学长在他们那报班学了之后干了华为OD当招牌
点赞 评论 收藏
分享
存一千万就可以进大厂实习
石圪节公社发型师:有存一千万的实力还实习个嘚,直接躺平
点赞 评论 收藏
分享
评论
2
15
分享

创作者周榜

更多
牛客网
牛客企业服务