复旦微平台新建软件工程指南——基于Keil

概述

    本文档基于复旦微 FM33LE026单片机详细描述基于复旦微平台如何新建标准工程,为广大读者和客户提供帮助。文档首先介绍关于复旦微标准库的结构,然后介绍在MDK-Keil软件新建标准工程,添加库函数文件,设置软件相关参数,帮助广大读者朋友们快速开发。该文档同样适用于 FM33LC0XX 、 FM33LG0XX和FM33FT0XXA 单片机。

  • 开发前准备

1.1、下载相关资料

在开发前可以准备以下相关资料,相关资料可在复旦微官方论坛下载:

1、安装好 Keil 软件;

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、在Keil中新建工程

(1)、打开Keil软件,新建工程,点击标题栏 【Project->New uVision project…】新建工程,并将其命名为【Templete】(你也可以根据自己的喜好命名)保存在工程目录下的 Project 文件夹中;

图2-2

(2)、保存工程后会弹出页面选取目标芯片,本次选择“FM33LE02X”型号的单片机并点击 OK,之后会弹出 “Manage Run-Time-Environment”窗口,直接点击取消;

图2-3

图2-4

(3)、在新建的工程下,编辑软件目录;点击选项卡如图1-7,编辑工程目录:

图2-5

图2-6

在工程目录下分别新建“STARTUP”、“CMSIS”、“LWIB”、“USER”、“APP”和“Doc”,也可以根据自己喜好添加或删除;

图2-7

2.3、向工程中添加库文件

点击选项卡添加文件到工程目录:

图2-8

添加内容如下表:

目录

目标文件

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”下的全部文件 (暂时没有就不添加)

由于添加文件时默认格式是 .c 文件,所以在添加 startup_fm33le0xx.s 文件时不显示改文件,此时可以选择文件类型添加:

图2-9

添加后如图2-8所示:

图2-10

2.4、添加文件文件相对路径

图2-11

2.5、添加宏定义

在库函数中使用了条件编译,为了编译预处理,需要添加相应的宏定义,打开一个官方的Demo例程,在C/C++选项中可以看到官方的例程中添加全局的宏定义,我们直接复制到自己新建的工程相对应的位置: 

图2-12

2.6、添加 main 函数

(1)、在工程中打开 main.c文件,然后编写简单的main函数,如下:

#include "fm33le0xx_fl.h"int main(void)
{FL_Init();FL_DelayMs(100);while(1){}
}

(2)、编译检查:

当写完main函数以后,可以编译检查是否有错误:

图2-13

三、软件工程的设置

3.1、下载设置

复旦微芯片使用的是ARM0内核,支持SWD下载模式,目前我们配置使用Jlink的SWD下载,如图3-1所示:

图3-1

选择下载时的相关参数:

图3-2

在【Flash Download】选项中,我们可以看到①处的几个参数:

【Erase Full Chip】: 表示将芯片的Flash全部擦除;

【Erase Sectors】: 表示是扇区擦除,一般只擦除需要的大小,速度会快些;

【Do not Erase】: 表示不擦除,可以在特定的时候使用;

至于【Program】和【Verift】是默认勾选的,不做解释,【Reset and Run】表示下载后立刻开始运行,这个地方可以不选,但是下载后只有通过复位单片机时才会运行,我们这里手动选择,让单片机下载后立刻开始运行;

第②处的是选择单片机的Flash大小,需要根据当前使用的单片机进行选择,选择错误时可能无法下载程序;

3.2、其他设置选项

3.2.1、如图3-3,在Target 选项下,第①处可以勾选【Use MicroLIB】选项,该选项是使用Keil下的简易库,当我们需要使用 printf 这样的函数时可以使用,这里我们默认勾选;第②处是设置单片机程序的起始地址和空间大小,在需要做BootLoader的时候需要进行相关的设置;

图3-3

3.2.2、如图3-4,勾选【Create HEX File】后才可以生成我们需要的HEX文件:

图3-4

3.2.3、如图3-5,在①处可以设置软件的编译等级,当程序所占的空间比较多的时候,可以通过提高编译等级优化程序,但是在优化程序时编译器往往会省略很多,这对编程规范有一定的要求,此时我们默认选择最低,防止程序出现一些不确定的异常;在②处勾选【C99 Mode】,这个表示使用 C99 格式的编写规范,可以方便我们编程,默认可以不勾选;

图3-5

结束语:

此文章用于学习交流,如有纰漏错误,还望指正;后期将不定时更新新的内容,感谢大家!

QQ : 3255302691


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部