STM32复习笔记(一) —— 建立固件库工程模板
芯片型号: | STM32F407VET6 |
---|
MDK版本: | MDK 5.35.0.0 | 固件库版本: | STM32F4xx_DSP_StdPeriph_Lib_V1.8.0 |
1.建立文件夹用于存放源码
Libraries | 库文件 |
---|
Outputs | Output and Listing 文件 | Project | 工程文件 | Readme | Readme.txt | User | 用户编写的 inc and src 文件 |
2.向文件夹添加文件
Libraries | CMSIS and STM32F4xx_StdPeriph_Driver |
---|
User - inc | stm32f4xx_conf.h and stm32f4xx_i.h | User - src | main.c and stm32f4xx_it.c | Readme | Readme.txt | Outputs | 无 | Project | 无 |
3.主要文件夹展示 4.新建工程 新建工程 保存工程并选择芯片型号 关闭 Manage Run-Time Environment 对话框并右击 Target 1 选择 Manage Project Items … 建立文件夹用于管理代码 向文件夹添加文件 分别右击选择 stm32f4xx_:dma2d.c fmc.c ltdc.c (STM32F407 无此功能) 执行以下步骤 取消 Include in Target Build (即不编译此文件) 选项并点击 OK 5.主要文件夹展示 6.文件路径 (自定义的存放路径)
STARTUP | …\Libraries\CMSIS\Device…\Source…\arm\ |
---|
CMSIS | …\Libraries\CMSIS\Device…\Source…\ | STM32F4xx_StdPeriph_Driver | …\Libraries\STM32F4xx_StdPeriph_Driver\src\ | USER | …\User\src\ |
7.配置 Options for Target … 选择 Use MicroLIB 选择 Output 文件夹于Outputs - Objects 文件夹下 (Create HEX File 根据需求选择) 选择 Listing 文件夹于Outputs -Listings 文件夹下 添加宏定义 USE_STDPERIPH_DRIVER,STM32F40_41xxx
添加头文件路径 (根据自定义存放路径) 这里 Debug 先选择软件仿真 若 Debug 选择仿真器,将其连接芯片到电脑,选择匹配的选项 (或须先安装仿真器驱动) 选择 Use Debug Driver 配置 configuration options 根据需求选择 Erase Full Chip or Erase Sectors 根据需求选择 Reset and Run,根据芯片内部 ROM (即 FLASH)选择 Programming Algorithm 仿真器相关配置 (以 SW 接口为例,SW 接口勾选 SWJ,Max Clock 选择 5MHz) 至此,固件库工程模板配置完成
8.修改并编译文件 将 USER - stm32f4xx_it.c 中 #include “main.h” 去掉 (约第 32 行) 将 USER - stm32f4xx_it.c 中 TimingDelay_Decrement(); 去掉 (SysTick_Handler() 函数内部) 于 USER - main.c 中添加 main 函数,注意每个文件最后留出一行空行 编译如遇不通过 打开 Options for Target …
查看 ARM Compiler 是否为 Use default compiler version 6 将其替换为 Use default compiler version 5
点击 OK 返回,重新编译 Use default compiler version 6 替换为 Use default compiler version 5 重新编译 9.程序下载 (点击 Download 下载) Program Size: Code=500 RO-data=408 RW-data=0 ZI-data=1024
Code | 程序代码 |
---|
RO-data | 常量 | RW-data | 初值非0的全局变量 | ZI-data | 初值为0的全局变量 and 局部变量(栈) and 使用 malloc 动态分配的空间(堆) |
STM32 内部 ROM (即 FLASH) 占用空间 | Code + RO-data + RW-data |
---|
STM32 内部 SRAM 占用空间 | RW-data + ZI-data |
至此,固件库工程模板建立完成
|