概述
本文档基于复旦微 FM33LE026单片机详细描述基于复旦微平台如何新建标准工程,为广大读者和客户提供帮助。文档首先介绍关于复旦微标准库的结构,然后介绍在IAR软件新建标准工程,添加库函数文件,设置软件相关参数,帮助广大读者朋友们快速开发。该文档同样适用于 FM33LC0XX 、 FM33LG0XX和FM33FT0XXA 单片机。
一、开发前准备
1.1、下载相关资料
在开发前可以准备以下相关资料,相关资料可在论坛下载:复旦微官方论http://www.fmdevelopers.com.cn/forum.php?mod=viewthread&tid=1749
1、安装好 IAR软件(本次使用的是8.32.1版本);
2、复旦微 FM33LE0XX_FL_Library_v1.2.1 标准库文件;
3、复旦微 FM33LE0XX_KEIL例程_v1.3;
1.2、库文件结构介绍
图1-1
如图1-1所示,打开“FM33LE0XX_FL_Library_v1.2.1”文件夹,可以看到【CMSIS】和【FM33LE0xx_FL_Driver】两个文件夹,其中【CMSIS】文件夹下是与内核有关的文件,包含单片机启动后的环境配置,在【FM33LE0xx_FL_Driver】文件夹下,包含两个文件夹“Inc”和“Src”,其中“Src”文件夹下是关于单片机外设有关的C文件,例如 fm33le0xx_fl_gpio.c 、 fm33le0xx_fl_adc.c 等等,每一个.c文件都对应一个外设功能。在“Inc”文件夹下,对应的则是在“Src”文件夹下C文件的.h文件,例如 fm33le0xx_fl_gpio.h 、 fm33le0xx_fl_adc.h 等等;
1.2、新建工程文件夹
首先新建一个工程文件夹,可以命名为【Templete】,在其中新建以下文件夹:
APP | 用于存放应用有关的文件 例如 wifi.c、 wifi.h |
BSP | 用于存放驱动层有关的文件 bsp_led.c、 bsp_led.h |
Doc | 用于存放版本说明相关的文件,例如 readme.txt |
Libraries | 用于存放单片机库文件 |
Project | 用于存放工程文件和目录 |
User | 用于存放 main.c |
新建文件夹后如下图所示:
图1-2
二、新建工程
在使用单片机编程前,首先要学会新建一个软件工程,然后编写代码,接下来详细介绍如何新建工程。
2.1、新建工程库文件
(1)、在新工程文件夹下的【Libraries】文件夹下新建【CMSIS】文件夹,并打开“FM33LE0XX_FL_Library_v1.2.1”库文件;
(2)、将库中【…\CMSIS\Device\FM\FM33xx】目录下的【Include】文件夹复制到新建的【CMSIS】文件夹下;
(3)、将库中【…\CMSIS\Device\FM\FM33xx\Source\Templates】目录下的【ARM】文件夹复制到新建的【CMSIS】文件夹下;
(4)、将库中【…\CMSIS\Device\FM\FM33xx\Source】路径下的 “system_fm33le0xx.c”文件复制到新建的【CMSIS】文件夹下;
(5)、将库中【FM33LE0xx_FL_Driver】文件夹复制到新工程文件夹下的【Libraries】文件夹下;
图2-1
(6)、在新建的工程文件下的User文件夹中新建“main.c”文件;
2.2、在IAR中新建工程
(1)、打开IAR软件,新建工程,点击标题栏【Project】->【Create New Project..】新建工程,工程名称可以命名为【Templete】(你也可以根据自己的喜好命名),然后将工程保存在工程目录Project文件夹下;
图2-2
选择ARM新建一个空工程:
图2-3
(2)、选择芯片型号,然后设置芯片为FM33LE02X,点击【OK】保存:
图2-4
图2-5
(3)、保存参数设置
注意:点击OK以后会退出该界面,然后此时要保存一下设置,点击状态栏下全部保存,给设置文件起一个名字后保存参数设置:
图2-6
(4)、保存工程文件后,新建管理组,添加软件目录:
图2-7
在工程目录下分别新建“STARTUP”、 “CMSIS” 、 “LWIB” 、“USER”、 “APP” 和“Doc” ,也可以根据自己喜好添加或删除;
图2-8
(5)、添加库文件
图2-9
添加的内容如下表:
目录 | 目标文件 |
STARTUP | 工程路径“\Libraries\CMSIS\ARM”下的 startup_fm33le0xx.s 文件 |
CMSIS | 工程路径 “\Libraries\Drivers\CMSIS”下的 system_fm33le0xx.c |
LWIB | 工程路径 “\Libraries\FM33LE0xx_FL_Driver\Src”下的全部C文件 |
USER | 工程路径 “\User”下的main.c文件 |
APP | 工程路径 “\APP”下的全部文件 (暂时没有就不添加) |
DOC | 工程路径 “\Doc”下的全部文件 (暂时没有就不添加) |
添加完成后如下:
图2-10
2.4、添加文件的相对路径
在左侧标题栏下的工程文件中,点击鼠标右键,选择【Options…】->【C/C++ Compiler】中的【Preprocessor】添加文件目录;其中文件添加的时候建议选择相对文件路劲,这样的话再工程复制转移的时候不会丢失文件路径;需要添加当前引用的所有文件路径:
图2-11
添加文成后如图所示:
图2-12
2.5、工程设置
(1)、配置输出文件为Hex文件:
图2-13
(2)、连接控制文件配置
图2-14
(3)、配置仿真器
图2-15
下载配置设置:
图2-16
设置下载时的复位选择Reset Pin 复位:
图2-17
(4)、添加全局宏定义参数
库函数中有部分断言,需要添加相关宏定义才能正常编译,需要添加“FM33LE0XX”和“USE_FULL_ASSERT”,其中“USE_FULL_ASSERT”用于判断函数引用的参数设置,一般可以在程序发行的时候去掉,节省程序空间;
图2-18
2.6、添加 main 函数
(1)、在工程中打开 main.c文件,然后编写简单的main函数,如下:
#include "fm33le0xx_fl.h" int main(void) { FL_Init(); FL_DelayMs(100); while(1) { } } |
(2)、编译检查
图2-19
(3)下载测试
注意:在第一次编译下载的时候,会出现弹窗提示,FM33LE026是M0内核,本次选择M0内核即可:
图2-20
三、IAR软件的相关设置
3.1、软件库设置
在IAR的Options -> General Options ->Library Configuration里设置一下函数库,可以使用 printf 相关函数;
图3-1