【前言】
前几篇,我介绍了如何使用MDK生成固件并下载到开发板,由于他的示例工程是基本evk开发板创建的,工程放在Pack目录下面,因此为了方便移植,我从零创建了工程模板,方便以后移植。
1、在一个空的文件夹下创建三个空白文件夹:
CMSIS用于存放系统工程使用,FWLIB用于存放驱动,USER用于存放用户文件。
2、下载好MAX32625的驱动包到本地,库的链接地址:https://github.com/analogdevicesinc/max32625
3、把PeriphDriver下面的两个文件夹复制进FWLIB文件夹下。
4、把库的CMSIS下的文件夹拷到模版工程的CMSIS文件夹下。
5、在USER文件夹下创建src与inc两个文件夹,在src下面创建main.c,在Inc文件夹下复制示例工程中的mxc_config.h、max32625.h、RTE_compnents.h:
6、创建一个新的mdk工程,文件夹选在Template。
7、创建分组如下:
8、HAL分组中添加必要的文件到工程中:
这些文件在FWLIB的source目录下面。
9、添加启动文件到STARTUP中:
10、添加系统库函数到工程CMSIS分组中:
11、添加gpio.c到FWLIB工程中
12、添加main.c到USER工程中。
13、添加头文件到工程中:
14、配置工程,C/C++选项中启用C99,同时在Misc Controls中添加--diag_suppress=1296
15、编写main.c:
#include "gpio.h" #include "mxc_config.h" void pause(void) { unsigned int i; for (i = 0; i < 5000000; i++) { __NOP(); } } gpio_cfg_t LED1 = { PORT_2, PIN_4, GPIO_FUNC_GPIO, GPIO_PAD_OPEN_DRAIN }; int main(void) { GPIO_Config(&LED1); while(1) { GPIO_OutToggle(&LED1); pause(); } }
16、修改APP起始位置:
17、修改输出hex文件:
【试验】
编译后,下载固件到开发板,就可以实现LED灯的亮与灭,说明新建工程是成功的。
附工程代码:Template.zip