ESP8266开发课堂之 - 建立一个新项目

ESP8266开发课堂之 - 建立一个新项目

项目架构

ESP8266项目开发并非使用IDE自动管理工程文件,而是使用了诸多第三方程序如Python,以及使用了Makefile管理依赖与控制编译,所以项目的创建与日常维护较为复杂,本篇将详述创建一般项目的详细步骤。下图描述了一个ESP8266工程的大致模样:

要开始本篇的教程,请确保已经完成了上一课《开发环境搭建》中的内容,此处的编译需要上一篇所提到的IDE与IDE文件夹下的Cygwin的支持,否则无法工作。创建这样一个项目的大致步骤如下:

步骤1,SDK下载

官网下载最新SDK,以下地址:

http://www.espressif.com/zh-hans/support/download/sdks-demos

暂时请下载1.5.3的文档,下载完成后解压(保留原压缩包,后续会使用),可以看到如下的目录结构:

此处修改文件夹名称ESP8266_NONOS_SDK 为有意义的名称,此名称将默认作为其后的项目工程名出现。

步骤2,创建入口主文件

在app文件夹下创建user、include文件夹,并分别在其下创建user_main.c,user_config.h。
user_main.c文件内容如下:

#include "osapi.h"

//射频初始化函数,留空
void user_rf_pre_init(void) { } 

//主文件入口处
void user_init(void)
{
}

user_config.h头文件留空即可,但为了保持良好的编程习惯,我们倾向于在此构建保护头,内容一般如下即可:

#ifndef _GUARD_USER_CONFIG_H_
#define _GUARD_USER_CONFIG_H_

#endif

步骤3,复制工程管理Makefile文件

将example\peripheral_test目录中的Makefile文件复制到app目录下;将example\peripheral_test\user目录中的Makefile复制到app\user目录下。

删除documents,driver_lib目录,删除Examples目录,仅留下项目必须文件结构。

这里需要复制的Makefile亦可手写完成,但太过复杂,不推荐。最终形成如下所示的目录结构:

步骤4,项目导入与编译控制

导入Eclipse IDE中,导入项目,选择Existing Code as Makefile Project,选择目标文件夹。项目导入完毕后,首先请右击项目名称,选择Clean Project清理一遍,然后选择Build Project。默认编译成功后控制台输出如下:

完成!

常见操作释疑

  1. 向项目新增文件
    普通.c源文件,可直接复制到user目录,makefile会自动控制进行编译。

  2. 向项目新增文件夹

参考examples\IoT Demo工程,以新增driver文件夹为例,在app下新增driver后,修改app\Makefile,为SUBDIRS新增 driver值,为COMPONENTS_eagle.app.v6新增 driver/libdriver.a值。
或者拷贝iot文件夹的makefile吧。

  1. 链接第三方库

  2. 项目头文件包含目录修改

后续章节将会慢慢提及,但如果需要精通此工具的使用,建议先熟练Makefile的书写,可以参考网络文档:《跟我一起写Makefile》。

猜你喜欢

转载自blog.csdn.net/yichu5074/article/details/81210146