请选择 进入手机版 | 继续访问电脑版
论坛
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 418|回复: 4

ESP8266_03 SDK与Makefile的基本用法

[复制链接]

19

主题

38

帖子

129

积分

注册会员

Rank: 2

积分
129
发表于 2019-11-30 10:34:28 | 显示全部楼层 |阅读模式
本帖最后由 lazyduck 于 2019-12-2 13:12 编辑

有人问用什么板子合适,还有的直接问我买。这个,建议大家买个二三十的模块就行,可以是NodeMcu,也可以是安信可的模块加一个底板,没必要买太贵的。
还有的人手里拿着某某物联网平台的板子,问能不能用,只要是基于ESP8266的,都可以,但是你要找到板子配套的原理图。
好了,下面是正文。
先说一下什么是SDK?
定义(转自网络):一般都是一些软件工程师为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件时的开发工具的集合。
再看一下乐鑫内部对SDK的描述:ESP8266 Software Development Kit (SDK) 是乐鑫为开发者提供的物联网 (IoT) 应用开发平台,包括基础平台以及上层应⽤开发示例,如智能灯、智能开关等。 SDK 的基础平台按照是否基于操作系统可分为:non-OS 和 RTOS 两种版本。
简单来说,这是一个已经搭建好的工程框架,包含完整的源文件和头文件。同时,提供了一些例程供用户参考。
那么,SDK在哪里下载?
找厂家!芯片厂家是乐鑫,所以去乐鑫官网找。这里为了节省时间,我直接放上链接:
https://www.espressif.com/en/support/download/sdks-demos
注:本文写于2019年7月12日星期五,当前的ESP8266 NONOS SDK已经更新到了3.0.0 后续的教程也主要基于NONOS的版本。
下载解压后,可以看到下面几个文件:
接下来,需要进行一些操作,然后才能导入到AiThinker_IDE里。其实下面的操作主要参考安信可的网址:https://wiki.ai-thinker.com/ai_ide_use
但由于安信可的教程比较旧,所以这里做了一些调整。
1. 将 sdk 目录下的 driver_lib 重命名为 app
2. 拷贝 \examples\IoT_Demo 下的所有文件到刚才的 app 目录(提示覆盖则确认),完成后目录结构如下:
3. 将ESP8266_NONOS_SDK/third_party 这个文件夹删掉。
接下来,我们启动AiThinker_IDE,将项目导入
导入项目
1. 选择 File→Import
2. 点开C/C++分支,并选中Existing Code as Makefile Project
3. 去除C++支持,选中 Cygwin GCC
点击Browser,选中ESP8266_NONOS_SDK-3.0.0所在的目录
4. 点击 Finish 完成ESP8266_NONOS_SDK-release-v3.0.0_01的导入
如下图:

回复

使用道具 举报

19

主题

38

帖子

129

积分

注册会员

Rank: 2

积分
129
 楼主| 发表于 2019-11-30 10:38:35 | 显示全部楼层
本帖最后由 lazyduck 于 2019-12-2 13:12 编辑

编译项目
鼠标选中项目名称,点击右键出现菜单:
Build Project :编译项目
Clean Project:清理项目
选中编译项目,控制台输出如下图即编译成功

真的能编译成功? 那是不可能的。

安信可官网说的是能编译成功,但针对的可能是比较老的SDK版本,如果你使用3.0版本的SDK,肯定是会报错的。报错如下:



打开根目录下的makefile文件,找到第29行,把等号后面的值改掉。



SDK3.0里面写的是0,改成多少?根据你模块的FLASH大小来修改:如果是8MBIT,改为2;如果是16MBIT,改为3;如果是32MBIT,改为4.

这个关系不用背下来,makefile文件向下翻到第82行,你会看到它有一个说明:



它这里写的值的单位是BYTE。改完之后,再次编译,你会发现编译成功了:



接下来,思考另一个问题:为什么有人生成的bin文件是这样的?



其实,安信可官网曾经说过。可生成两种形式的bin文件,一种是不支持在线升级的,一种是支持在线升级的。刚才这个图,就是支持在线升级的。那么,如何生成这种bin文件?

打开根目录下的makefile文件,找到第25、26行。当第25行为new的时候,如果第26行是1,那么生成的是支持在线升级的,如果是0,那就不支持在线升级。



除此之处,当我们使用一些特殊功能的源文件的时候,也需要在Makefile里添加相应的库文件。所以,这里建议大家,多看几遍Makefile文件,不需要完全看懂,但要知道基本用法。

至此,关于ESP8266的环境搭建、程序下载、固件配置,基本用法都说了一下。后面,逐步开始敲代码的过程。
回复

使用道具 举报

1

主题

96

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
发表于 2019-11-30 12:25:13 | 显示全部楼层
本帖最后由 abcrazy 于 2019-11-30 12:28 编辑

我给楼主补充,新手一定要买自带串口USB插电脑立马能用的模块,不要买需要自己外接 TTL 转串口 USB 的模块。新手总是问为什么烧录不进去?GPIO 0 接地不放手再 RESET 会了么?不会就乖乖买集成 USB 串口的模块,一键下载不用任何另外的设置或接线。
回复

使用道具 举报

1

主题

96

帖子

498

积分

中级会员

Rank: 3Rank: 3

积分
498
发表于 2019-11-30 12:36:15 | 显示全部楼层
本帖最后由 abcrazy 于 2019-11-30 13:11 编辑

楼主,建议你在每篇文章顶头都加上分享内容的系列链接,参考  CSDN 半颗心脏  的文章导航很清晰,想看什么内容点一下文章开头链接马上直达。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

19

主题

38

帖子

129

积分

注册会员

Rank: 2

积分
129
 楼主| 发表于 2019-11-30 17:43:59 | 显示全部楼层
abcrazy 发表于 2019-11-30 12:36
楼主,建议你在每篇文章顶头都加上分享内容的系列链接,参考  CSDN 半颗心脏  的文章导航很清晰,想看什么 ...

可以,这几天我整理一下,然后发上来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|安信可论坛    

GMT+8, 2019-12-8 00:38 , Processed in 0.022682 second(s), 12 queries , Redis On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表