在根据STM32标准外设库建立MDK工程的过程中,需要掌握多个知识点,包括工程的创建、文件和文件夹的准备、工程配置以及编译过程。下面详细说明这些过程中的关键知识点。
1. 文件和文件夹准备:
需要创建一个项目工程文件根目录,并在其中创建四个文件夹,分别是Core、Driver、MDK和User。这四个文件夹分别用来存放不同的类型文件,以便于工程的管理。
- Core文件夹用于存放内核文件和启动文件。内核文件通常包括startup文件夹以及stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h和core_cm3.c、core_cm3.h等文件,这些文件均来自STM32F10x标准外设库的相应路径。
- Driver文件夹用来存放标准的驱动文件,其内容来源于STM32F10x标准外设库中的STM32F10x_StdPeriph_Driver目录。
- MDK文件夹用于存放工程文件、hex文件和编译的中间文件,需要新建output和list两个子目录,分别用来存放hex文件和编译生成的中间文件列表。
- User文件夹存放用户文件,主要包含main.c、stm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h、system_stm32f10x.c等,这些文件通常来源于STM32F10x标准外设模板库。
2. 新建工程:
使用Keil MDK软件新建工程,需要按照以下步骤操作:
- 启动Keil MDK软件,选择版本号,如4.72。
- 新建工程,选择Project菜单中的New选项。
- 在弹出的对话框中选择工程的保存路径,通常为MDK文件夹。
- 输入工程名称并保存。
- 在弹出的芯片选择对话框中选择正确的STM32芯片型号,例如STM32F103RB。
- 在启动文件选择过程中,选择“否(N)”,以使用库文件中的启动文件,而不使用Keil提供的启动文件。
3. 添加文件:
将需要的文件添加到工程中,具体操作为:
- 添加Core文件夹,注意选择对应的启动文件,根据芯片的容量选择startup_stm32f10x_hd.s、startup_stm32f10x_md.s或startup_stm32f10x_ld.s。
- 添加Driver文件夹中的所有文件,可以根据实际需要选择性地添加特定驱动文件,减少代码量。
- 添加User文件夹中的文件,将main.c中的代码简化至仅保留一个空的主函数。
4. 工程配置:
完成文件添加后,对工程进行配置:
- 在Target选项卡中配置晶振,通常在仿真时较为重要。
- 在Device选项卡中核对或修改芯片型号设置。
- 在Output选项卡中选中“Create HEX File”复选框,并设置hex文件的输出路径。
- 在Listing选项卡中设置list文件的输出路径。
- 在C/C++选项卡中配置头文件的包含路径和定义符号,根据芯片型号定义STM32F10X_MD, USE_STDPERIPH_DRIVER等宏。
- Debug选项卡和Utilities选项卡用于设置仿真工具。
5. 编译工程:
完成以上步骤后,进行编译,若配置正确则编译会成功,并生成所需的hex文件,可以用来下载到目标芯片进行程序运行。
以上过程涉及的知识点较多,包括STM32系列微控制器的硬件架构、Keil MDK开发环境的使用、工程的构建与管理、文件和目录的组织结构、以及编译器和链接器的基本配置等。在实际操作中,理解这些概念有助于快速准确地建立和调试基于STM32的嵌入式系统项目。