zoukankan      html  css  js  c++  java
  • 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文件

    将exampleperipheral_test目录中的Makefile文件复制到app目录下;将exampleperipheral_testuser目录中的Makefile复制到appuser目录下。

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

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

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

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

    完成!

    常见操作释疑

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

    2. 向项目新增文件夹

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

    1. 链接第三方库

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

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

    更多教程、资料、文档,或者购买ESPUSH专属开发板,加Q群:480288089

  • 相关阅读:
    区别是否是 微信浏览器 ?
    添加收藏
    函数调用那点事
    移动端返回上一页,刚需!document.referrer 详解
    蓝桥杯-乘积尾零
    printf不能直接输出string类型
    bitset的简单用法
    to_string()函数(C++)
    蓝桥杯-明码
    手写C语言字符库
  • 原文地址:https://www.cnblogs.com/espush/p/new_project.html
Copyright © 2011-2022 走看看