ESP8266固件SDK开发初体验-打印Hello World

我的硬件实验环境:我还没有购买演示板,所以起初玩起来有点痛苦,所以让我们继续讲这个话题。

1.设置开发环境https://wiki.ai-thinker.com/ai_ide_install来浏览Anxinke的官方网站,文档描述非常详细,因此在这里我不再赘述。

2.打开AiThinker_IDE。

在这里我们看到打开AiThinker_IDE时有N个以上的项目。

Anxinke已自动配置,不需要我们的开发人员导入任何源代码。

这是非常方便和认真的!在这里,我们只看esp8266_helloworld。

右键单击,然后选择“清理项目”,清除该项目的编译产品,然后右键单击“ Build_Project”。

编译完成后,您会看到以下成功编译的日志:我们可以参考Anxinke 17 ESP8266系列入门教程文档的第一部分。

其中:1. boot.bin代表bootloader。

& nbsp; & nbsp; & nbsp;这是第一个启动的程序。

2. esp_init_data_default.bin表示其他射频参数区域的初始化。

& nbsp;& nbsp;& nbsp;这需要至少燃烧一次。

初始化RF_CAL参数区域后,该区域也将被刻录。

3. user1.bin对应于我们刚刚在IDE上生成的user1.1024.new.2.bin。

& nbsp; & nbsp; & nbsp;这是我们的SDK程序。

4. blink.bin指的是用户参数区域。

& nbsp; & nbsp;  当然,还有其他的blink.bins,可用于初始化系统参数区域和RF_CAL参数区域。

在这里,我们只需要用户参数区域。

& nbsp; & nbsp;这些文件在哪里?我们找到IDE安装目录并执行以下批处理脚本:OpenWorkSpace.bat,它将打开我们的项目工作区。

此时,所有项目的位置都会弹出,如下所示:我们刚刚编译了esp8266_helloworld,因此我们进入此目录以查找刚刚编译的产品。

 & nbsp;& nbsp;发现其他生成的文件丢失。

让我们转到其他SDK来找到它们,然后将它们复制过来。

在这里,我们选择带来OS SDK。

如图所示,将三个bin文件复制到升级位置。

3. ESP8266-07硬件连接确认3.1正常连接上电后,ESP8266处于正常工作模式,与我们从淘宝购买的模式相同。

3.2固件下载模式请参考ESP8266系列产品入门教程的第6页:注意:如何进入下载模式?如上图所示:第一个原因:1表示模块已开机2表示外部复位4表示硬件看门狗复位引导模式:1下载模式3操作模式因此,当模块处于下载模式时,引导模式的第一个参数应为1。

以下是我的实验结果:第四,下载固件,然后打开刻录软件flash_download_tools_v3.6.6.exe,该软件可从https下载。

://wiki.ai-thinker.com/esp8266至。

接下来,配置该工具的基本信息:& nbsp;& nbsp;& nbsp;注意,必须标记该勾号。

我的闪存大小是8Mbit。

不要犯错。

然后单击开始以开始下载固件。

下载成功后,将提示您完成下载。

5.执行结果删除将模块连接到GPIO0的线,关闭刚用于下载的软件,然后重置模块,然后打开串行终端看到它。

该模块每3秒打印一次hello world,相应的源代码在user_main.c中:void ICACHE_FLASH_ATTRhello_world(void){struct scan_config config; char ssid [32]; os_printf(“; 你好,世界! ");} void system_done(){os_timer_disarm(& amp; hello_world_timer); os_timer_setfn(& amp; hello_world_timer,(os_timer_func_t *)hello_world,NULL); os_timer_arm(& amp; hello_world_timer,3000 ***,1);} / ************************************ ****************** ********************** * * FunctionName:user_init *说明:用户条目应用程序,此处是初始化用户函数*参数:无*返回值:无**** ************************************ ****************** ************************* / void ICACHE_FLASH_ATTRuser_init(void){ os_printf(“; SDK版本:%s,“,system_get_sdk_version()); os_printf(“”编译时间:%s%s ",__ DATE __,__ TIME__); system_init_done_cb(system_done);}& nbsp;& nbsp;& nbsp;此处应注意,SDK不提供主要功能,但由于ESP8266 IoT平台的所有网络功能均已实现在库中,对用户不透明。

用户应用程序的初始化功能可以在user_main.c中实现。

无效的user_init(void)是条目fu

欢迎您的咨询