注意:所有文件的路径都不要出现中文!!!
以arm_mdk为例,芯片是STM32F103ZE
本博客仅作学习,不提供软件资源
环境的搭建
软件资源:
- USB驱动将USB口转成一个.com端口(说法可能有误)
- 烧录软件,下载
- 支持包,提供软件支持,在arm_mdk安装完成后,双击等待进度条结束即可
- 安装包,按步骤安装即可
- 破解工具,安装完mdk后,以管理员身份运行,在File,License Management,复制第一个选项卡中的CID,打开破解工具(注意音量),选择相应的版本(专业版)、以及软件类型(arm),生成,将生成的LIC复制到选项卡中,添加即可。
创建新工程
需要一个适合内核使用的固件库,
- 在合适的位置创建一个文件夹(test)作为工程文件夹,再其中创建两个文件夹(user,app)user用来放main函数、中断函数的源文件,app用来放硬件的驱动(可能有误)
- 将固件库中的Libraries文件夹复制到test下,完成后
- 将固件库中==.\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template==,图中选中的文件复制到user文件夹中
- 打开keil,Project,new Project(就是第一个),选中刚刚的文件夹,命名,保存
- 选择微控制器的型号(STM32F103ZE)
- 接下来的直接cancel跳过就行
- 点击下图中1处,Groups中创建四个分组(app,user,cmsis,stdperiph),
创建完成后 - app中不添加文件,user分组点击add files将/user中的两个文件添加进去
- cmsis文件夹,添加==.\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm==下的 startup_stm32f10x_hd.s文件(文件类型选择所有类型)系统启动初始化文件;添加 .\Libraries\CMSIS\CM3\CoreSupport
下的 core_cm3.c文件,内核寄存器映射文件;添加 .\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x下的 system_stm32f10x.c文件,时钟配置文件。 - stdperiph文件夹(添加外设驱动文件),按需求添加可以减少编译时间,也可以将所有外设驱动全部添加,添加 .\Libraries\STM32F10x_StdPeriph_Driver\src中所有文件。添加完后点击OK结束
- 点击下图中2处,工程配置,选择源文件的头文件
- 选项卡output中勾选Create HEX File编译生成16进制文件
- 选项卡C/C++ 中:添加两个宏定义 USE_STDPERIPH_DRIVER STM32f10X_HD 中间的空格可以用英文逗号代替。
- 当前选项卡选择头文件的路径
- 点击新建,最右边选择路径,一条一条添加
- 添加:.\app; 添加==.\user==; 添加== .\Libraries\CMSIS\CM3\CoreSupport==;添加 .\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x;添加 .\Libraries\STM32F10x_StdPeriph_Driver\inc;完成后如图,提交
- 打开工程中user下的main函数,删除原有的数据后,添加以下代码段
#include "stm32f10x.h" //添加外设寄存器映射的头文件
int main()
{
}
//空行
写入一个空的主函数,注意最后要留一行空行,否则Keil会有警告
18. 编译,0 error,0 warning.即可。
19. 最后工程调试的配置,点击工程配置(2处),按图配置即可(debug选项卡),左侧软件调试
参考
MDK使用扩展学习视频
https://www.bilibili.com/video/av47749893?p=23
https://www.bilibili.com/video/av47749893?p=24
MKD使用手册
https://www.bilibili.com/video/av47749893?p=24
来源:CSDN
作者:无良小生
链接:https://blog.csdn.net/WuLiangXiaoSeng/article/details/104450672