Step 4. Compile SDK & Flash Bin - 软件编译及烧录

ESP_Faye
Posts: 1643
Joined: Mon Oct 27, 2014 11:08 am

Step 4. Compile SDK & Flash Bin - 软件编译及烧录

Postby ESP_Faye » Fri Jan 09, 2015 2:41 pm

1. Use ESP Flash Download Tool to download the bin files into Flash.
Please select the corresponding Flash size on the tool while downloading, the size of Flash on your module will be shown in the "DETECTED INFO" area on the ESP Flash Download Tool.
2. More details are in documentation 2A-ESP8266-SDK__Getting_Started_Guide.

Thanks for your interest in ESP8266 !

1. 使用 ESP Flash Download Tool 烧录 bin 文件到 Flash。
请注意在工具上选择对应的 Flash size,硬件模块的 Flash 实际容量将在 ESP Flash Download Tool 的 DETECTED INFO 区域显示。
2. 编译与烧录的详细说明,请参考文档 2A-ESP8266-SDK__Getting_Started_Guide

感谢您对 ESP8266 的关注!

ESP_Faye
Posts: 1643
Joined: Mon Oct 27, 2014 11:08 am

Step 4. Compile SDK & Flash Bin - 软件编译及烧录

Postby ESP_Faye » Fri Jan 30, 2015 2:25 pm

Note: The steps here are suitable for ESP8266_SDK_V0.9.5 and later version

1. Introduction of how to compile esp_iot_sdk based on the linux environment.
2. Please using Espressif Official Flash download Tool
3. Compilation and downloading please refer to document 2A-ESP8266-SDK__Getting_Started_Guide

Compilation Steps:
(1) Run "./gen_misc.sh"
(2) Follow the tips and steps.

Bin Files Description
Using 1024KB flash size as example

if you want it to support upgrade firmware through Wi-Fi, you need to compile and download bins:
(1) blank.bin; provided in SDK and to be burned to flash 0xFE000;
(2) boot.bin, provided in SDK and to be burned to flash 0x00000;
(3) user1.bin, compiled by the steps said above and to be burned to flash 0x01000;
PS.
(1) boot_v1.5 is a new version of boot.bin which is recommended.
(2) In general, we don't burn user2.bin to flash, but upgrade it through Wi-Fi.
(3) if you are using Espressif Cloud,
master_device_key.bin, applied for through Espressif server;
if you are using your own server, this master_device_key.bin is not needed.

if you need not it to support upgrade firmware through Wi-Fi, you can compile and download bins:
(1) blank.bin; provided in SDK and to be burned to flash 0xFE000;
(2) eagle.flash.bin, compiled by the steps said above and to be burned to flash 0x00000;
(3) eagle.irom0text.bin, compiled by the steps said above and to be burned to flash 0x40000;
PS.
if you are using Espressif Cloud,
master_device_key.bin, applied for through Espressif server;
if you are using your own server, this master_device_key.bin is not needed.
NOTE: This FW cannot upgrade!

________________________________________________________

适用于 ESP8266_SDK_V0.9.5 及之后的 SDK 版本
本文说明基于 Espressif BBS 的 编译环境
请下载使用Espressif Official Flash download Tool
编译与烧录的详细介绍,参考文档 2A-ESP8266-SDK__Getting_Started_Guide

编译步骤:
(1) 运行 "./gen_misc.sh"
(2) 然后根据提示进行选择

Bin 烧录介绍
烧录地址以 1024KB flash 为例

如果您希望可以通过网络进行软件升级(云端升级),编译并烧录如下bin:
(1) blank.bin,由 Espressif 提供,烧录到 0xFE000 地址;
(2) boot.bin,由 Espressif 提供,烧录到 0x00000 地址;
(3) user1.bin,如上编译生成,烧录到 0x01000 地址;
说明:
烧录补充.
(1) 推荐编译及烧录时,使用最新版本的 boot(目前为 boot_v1.5)
(2) 一般不需要烧录 user2.bin 到 Flash; user2.bin 可通过云端升级。
(3) 如果您使用 Espressif 的云端服务器,
master_device_key.bin,向 Espressif 云端服务器申请,
如果您使用自己的服务器,则不需要烧录 master_device_key.bin

如果您不需要通过网络进行软件升级(云端升级),编译并烧录如下bin:
(1) blank.bin,由 Espressif 提供,烧录到 0xFE000 地址;
(2) eagle.flash.bin,如上编译生成,烧录到 0x00000 地址;
(3) eagle.irom0text.bin,如上编译生成,烧录到 0x40000 地址;
说明:
如果您使用 Espressif 的云端服务器,
master_device_key.bin,向 Espressif 云端服务器申请,
如果您使用自己的服务器,则不需要烧录 master_device_key.bin
注意:这样编译烧录的软件,不能云端升级!

Note: The steps below are for ESP8266_SDK_V0.9.4 and earlier version. Refer to post above for ESP8266_SDK_V0.9.5 and later version.

1. Introduction of how to compile esp_iot_sdk based on the linux environment.
2. Download Espressif Official Flash download Tool

There are two ways to compile and download ESP8266 application (IOT_Demo or AT):
1) Support upgrade firmware(FW) through Wi-Fi, in this case, we store two FWs (user1 & user2) in flash, run one to download and upgrade the other one. More details of FOTA are in documentation 99C-ESP8266__OTA_Upgrade
2) Cannot upgrade firmware through Wi-Fi, in this case, FW can be in a larger size with the same flash, because only one FW stored in it.

AT first, no matter which way above, we need to copy files in folder "IOT_Demo" or "AT" to "\esp_iot_sdk\app" to complie!

Then here goes more details.

1) Support upgrade firmware through Wi-Fi (FOTA)
Compilation Steps:
(1) Run "./gen_misc_plus.sh 1" to generate user1.bin at "\esp_iot_sdk\bin\upgrade".
(2) Run "make clean" to clean up all previous compilation.
(3) Run "./gen_misc_plus.sh 2" to generate user2.bin at "\esp_iot_sdk\bin\upgrade".
Output:
user1.bin and user2.bin at "\esp_iot_sdk\bin\upgrade".
Download:
blank.bin; provided in SDK and to be burned to flash 0x7E000;
boot.bin, provided in SDK and to be burned to flash 0x00000;
user1.bin, compiled by the steps said above and to be burned to flash 0x01000;
PS.
(1) In general, we don't burn user2.bin to flash, but upgrade it through Wi-Fi.
(2) if you are using Espressif Cloud,
master_device_key.bin, applied for through Espressif server and to be burned to flash 0x3E000;
if you are using your own server, this master_device_key.bin is not needed.
NOTE: "AT" firmware always goes this FOTA way, because there is a command "AT+CIUPDATE" to upgrade AT FW through Wi-Fi.

2) CANNOT upgrade firmware through Wi-Fi
Compilation Steps:
(1) Run "./gen_misc.sh"
Output:
eagle.app.v6.flash.bin and eagle.app.v6.irom0text.bin at "\esp_iot_sdk\bin"
Download:
blank.bin; provided in SDK and to be burned to flash 0x7E000;
eagle.app.v6.flash.bin, compiled by the steps said above and to be burned to flash 0x00000;
eagle.app.v6.irom0text.bin, compiled by the steps said above and to be burned to flash 0x40000;
if you are using Espressif Cloud,
master_device_key.bin, applied for through Espressif server and to be burned to flash 0x3E000;
if you are using your own server, this master_device_key.bin is not needed.
NOTE: This FW cannot upgrade !

Thanks for your interest in ESP8266 ! ;)

______________________________________________________________________________

适用于 ESP8266_SDK_V0.9.4 及之前版本的 SDK
本文说明基于 Espressif BBS 的 编译环境
请下载使用Espressif Official Flash download Tool

ESP8266 的软件 (IOT_Demo 或 AT) 有两种编译及运行的方式:
1. 支持云端升级 (FOTA) : 详细说明可参考文档99C-ESP8266__OTA_Upgrade
这种方式其实是将 Flash 存储空间对半分,存放了两份软件 (user1 & user2) 在里面。
运行 user1 时下载并升级 user2,然后跳转到 user2 运行,下次就下载升级 user1。
2. 不支持云端升级
这种方式软件 bin size 可以大一些,因为 Flash 里仅放一份软件。

首先,无论哪种方式,编译时,需要先将“IOT_Demo” 或者 “AT”文件夹中的所有文件拷贝到路径 “\esp_iot_sdk\app” 下编译

然后,我们来详细说说具体步骤。

1. 支持云端升级(FOTA)
编译指令如下:
(1) gen_misc_plus.sh 1,在路径“\esp_iot_sdk\bin\upgrade”下生成user1.bin;
(2) 执行make clean,清除之前的编译信息;
(3) gen_misc_plus.sh 2,在路径“\esp_iot_sdk\bin\upgrade”下生成user2.bin
生成:
user1.bin 和 user2.bin ,位于路径 "\esp_iot_sdk\bin\upgrade"
烧录到 Flash:
blank.bin,由Espressif 提供,烧录到0x7E000地址;
boot.bin,由Espressif 提供,烧录到0x00000地址;
user1.bin,如上编译生成,烧录到0x01000地址;
烧录补充.
(1) 一般不需要烧录 user2.bin 到 Flash; user2.bin 可通过云端升级。
(2) 如果您使用 Espressif 的云端服务器,
master_device_key.bin,向Espressif 云端服务器申请,烧录到0x3E000地址
如果您使用自己的服务器,则不需要烧录 master_device_key.bin

注意:只有这样编译烧录的软件才能云端升级! AT 软件总是采用支持云端升级的方式编译烧录,因为 "AT+CIUPDATE" 指令实现软件云端升级功能。

2. 不支持云端升级
编译指令:
运行 "./gen_misc.sh"
生成:
eagle.app.v6.flash.bin 和 eagle.app.v6.irom0text.bin ,位于路径 "\esp_iot_sdk\bin"
烧录到 Flash:
blank.bin,由Espressif 提供,烧录到0x7E000地址;
eagle.app.v6.flash.bin,如上编译生成,烧录到0x00000地址;
eagle.app.v6.irom0text.bin,如上编译生成,烧录到0x40000地址;
如果您使用 Espressif 的云端服务器,
master_device_key.bin,向Espressif 云端服务器申请,烧录到0x3E000地址
如果您使用自己的服务器,则不需要烧录 master_device_key.bin

注意:这样编译烧录的软件,不能云端升级!

希望本文对您有帮助。
感谢您对 ESP8266 的关注!
Attachments
Flash_Download_Tool_Example.png
Flash_Download_Tool_Example.png (36.69 KiB) Viewed 19741 times

Who is online

Users browsing this forum: No registered users and 1 guest