ESP8285 : ESP8266 内封 8 Mbit Flash。
如下记录开发环境的搭建以及第一次编译打印HelloWorld。
搭建开发环境
使用安信可一体化开发环境。参考地址: http://wiki.ai-thinker.com/ai_ide_install
软件下载地址:http://pan.baidu.com/s/1skRvR1j
1、我下载了最新的版本,箭头所示。下载后双击exe文件,解压到非中文目录下。
2、解压后,如下图所示:按照readme步骤操作,进行相关配置,配置好后打开AiThinker_IDE.exe。
注:register时候以管理员方式运行ConfigTool。出现Unregister表示成功。
导入工程编译,打印HelloWorld
SDK下载
最新的NONOS的SDK下载地址:https://github.com/espressif/ESP8266_NONOS_SDK
解压到非中文路径后请注意以下操作:
- 将driver_lib和third_party两个文件夹下面的Makefile文件删除!
- 将example文件夹下面的smart_config文件夹复制到主目录,并且重命名app。
导入
- 打开AiThinker_IDE,导入项目。选择 File→Import ,
- 点开C/C++分支,并选中Existing Code as Makefile Project:
- 点击Browse浏览到你刚刚代码的目录,项目名称随便起,最后选择Cygwin GCC,然后点击Finish,就可以看到我们的工程了。
修改
导入成功后先不要急着编译,先修改几个地方。
-
修改MAP_SIZE
打开主目录中的makefile文件,修改这两处。
由于使用的是8285,spi模式要设置为DOUT,否则烧录后跑不起来,会打印err信息。
而flash为内置8Mbit,也就是1MByte=1024KB,参照82行之后,选择你相应的flash大小。 -
修改main入口函数
然后打开app->user->user_main.c文件,找到user_init函数,这是整个工程的入口函数。
注释下面三行,我们暂时用不到,增加一行打印Helloworld,然后保存。
多说一句,函数user_pre_init()在sdk3.0中也是必须的,需要在这个函数里面注册自己的分区,接口是system_partition_table_regist()。V2.0版本则没有这个
编译
编译前,把控制台Problems 栏目关掉,据说这个Problems 栏目报的错误不准确,只有Console 栏目下的输出为准。
点击工具栏中的Project,先Clean Project,再Build Project。Console中出现以下代码,就表示编译成功了:
固件下载
地址:烧录软件下载参考地址
我这里使用的是V2.3的版本,大家可以使用新版本。
生成的Bin文件在工程目录的Bin文件夹下,然后我们需要将代码下载到ESP8266上去。
强调:烧录时候,一定要让GPIO0处于低电平,即接GND。
打开下载工具flash_download_tools,参考下图设置好,bin文件就是上面编译生产的两个bin文件,地址要对应好。flash_size取决于你的Flash大小,我的是8Mbit flash,端口号是你的硬件实际端口号,波特率稍大即可。
串口显示
下载完成后我们打开串口助手,波特率选择76800(这是ESP8266在使用26Mhz晶振下的默认波特率),上电,可以看到打印一些信息后,就打印出我们的“Hello World”来了,关于上电打印信息,是ESP8266底层打印日志。
第一个HelloWorld就到此结束了。也是第一次写文章,主要还是为了记录和总结,以备以后查看。