MM32系列MDK5工程从0到1
1. 前言
灵动微官方已经给出库函数和寄存器例程,请点击传送门MM32例程下载,下载后的工程代码如下图所示,MBL073PF_n_lib和MBL073PF_n_reg分别对应着库函数和寄存器版本例程,因为其共用了部分文件,每个工程目录里不包含所有的驱动文件,直接把此目录下的工程代码复制到电脑其他位置则无法完成编译,作为一个有点强迫症的同学,我必须重0开始搭建自己熟悉的工程架构(感觉受到了原子哥的影响,┗|`O′|┛ 嗷~~)。
2. 开始盖楼
2.1地基工程
前往前言部分下载文件以及MDK5的兼容包(吐槽一下:MM32系列的MDK兼容包分的太细了),安装之后新建文件夹MM32L06xxDemo,包含子文件CORE,HARDWARE,OBJ,USER,STARTUP,SYSTEM以及MM32L06x_Lib。
2.2筑墙工程
首先需要一直M0内核相关文件,右侧\Device\CMSIS\KEIL_CORE中文件复制到左侧CORE文件;Device\MM32L0xx\HAL_lib文件下所有东西全部复制到MM32L06x_Lib;Device\MM32L0xx\Include文件复制到USER目录下;Device\MM32L0xx\Source目录下system_MM32L0xx.c复制到USER中;打开BLINK例程复制文件SYSTEM文件,HARWARE文件完全复制以及复制main.c到USER中,文件复制完毕。
有好奇心的同学马上就会提出疑问,你怎么知道需要复制哪些文件呢?大家可以随便用MDK5打开一个官方给出的例程,找到下图所示的内容可以看出其共用的文件路径,我们只要把此文件路径下的全部文件复制到我们新创建的文件目录下,并在此处添加对应的包含路径即可。(比较熟悉MDK5的同学可以直接把例程拷贝处理单独处理共用的文件即可)
2.3封顶工程
添加所有的.c文件到工程中,并且点击Option在C/C++中添加.h对应的包含路径,本人是把MM32L06x_Lib/src中的全部文件添加进工程中,朋友们可以根据自己的需求选择性添加对应的驱动文件。(注意一定要包含全部的头文件路径,如果出现cannot open source input file “HAL_device.h”: No such file or directory,则查看工程目录下是否有该文件以及此文件路径是否包含进去)
上述操作完成之后编译整个工程,出现 0 Error,1 Warning,说明文件编译OK,祝你大功告成。
但是前文有说到作者本人是一个有点强迫症的人,因此要把这个Warning消灭掉,双击Warning代码会跳到如下函数处。此Warning仅仅需要把函数设置程void类型即可完美解决这个问题。
_sys_exit(int x)
{
x = x;
}