一.前言
队伍名称:穿越时差队
队伍编号:CICC2297
简介: 蜂鸟系列的MCU开发工具分为基于SDK和图形化的IDE两种开发方式,我们采用了基于SDK的开发方式, SDK的构建主要由多个Makefile文件组成,本文主要介绍了各个Makefile文件之间的关系和主要功能.
二.内容
以application/helloworld 为例进行分析,首先编写完成main.c文件之后,我们会在helloworld文件夹下执行编译 make dasm; 然后执行 make upload对程序进行烧录.
完成上述过程,是一系列Makefile文件联合运行的结果.
1. helloworld文件的Makefile
应用中的Makefile主要定义了几个变量 TARGET HBIRD_SDK_ROOT SRCDIRS INCDIRS COMMON_FLAGS,这些变量在其他Makefile文件中都会用了.
Makefile文件中也include了 Makefile.base文件, 下一步我们要在 hbird-sdk/Build文件夹中找到Makefile.base进行分析
2. Build 文件夹中的Makefile.base文件
文件定义了SOC BOARD(BOARD变量在Makefile.soc.hbirdv2/hbird文件中定义) DOWNLOAD 这三个关键变量, (可以通过修改这三个值, 改为我们默认使用的版本, 我使用的是 hbirdv2 mcu200t ilm下载方式
,修改完之后就不需要每次make的时候都输入这三个变量了), 同时定义了 HBIRD_SDK_SOC变量用于指示相关外设底层文件和启动文件所在的路径.
最后include了另外三个Makefile文件,分别为 Makefile.misc Makefile.conf Makefile.rules
3. Makefile.misc Makefile.conf Makefile.rules
files文件主要append一些依赖文件list给变量,包括 SoC文件夹下的外设相关底层库文件和启动文件
rtos文件: 跟实时操作系统相关
soc文件: 定义了Soc文件夹等相关路径, 并赋给变量; 确定了 ld链接文件 和 openocd的配置文件
整体结构说明见下图: