初学ESP8266所遇到的坑

开发环境搭建这里就不说了,同为初学者的小伙伴们可以另外看其他博客,有些博主还是写得蛮详细的。

我们从如何拿到一个工程讲起:

1.下载最新的NONOS的SDK:https://github.com/espressif/ESP8266_NONOS_SDK

2.解压后,需注意如下操作

    2.1.driver_lib文件夹下面的Makefile文件删除!

    2.2.删掉third_party整个文件夹,这是第三方的demo,我们几乎不用。

    2.3.把example文件夹下面的任意一个工程,比如smart_config复制到主目录(主目录就是下载压缩包压缩后的目录),可重命名为app.

 2.4.以上做好了之后,开始导入IDE。 

具体如何导入这里也不介绍了,小白可以看看其他的博客,这篇文章主要讲的是编译时所遇到的问题。

3.一切就绪完毕,点击Clean Project,清完之后再点击Bulid Project.出现下面的错误

初学ESP8266所遇到的坑_第1张图片

我们可以看到,user_main.c:43:2: error: #error "The flash map is not supported"

解决办法是,在主目录的makefile里的配置如下:

                                                    初学ESP8266所遇到的坑_第2张图片

我们需将SPI_SIZE_MAP?=0改为适合我们的大小,一般改为 SPI_SIZE_MAP?=4即可。

重点注意的一个问题是,在user_mian.c文件中创建两个必要的函数user_init()和user_rf_pre_init()。在我导入一个新的工程的时候由于没有定义user_rf_pre_init()一直报如下的错误:

初学ESP8266所遇到的坑_第3张图片

刚开始还一直在纠结是不是makefile的配置问题,文件的一些路径不对,郁闷呢!!!

最后才注意到是没有定义user_rf_pre_init(),真不细心!

 

这段时间在学习ESP8266,遇到问题或者有什么新发现会继续发博客,希望也能帮到和我遇到一样的问题而浪费很多时间的朋友们!望路过的高手们也指点迷津,谢谢!

 

你可能感兴趣的:(初学ESP8266所遇到的坑)