一,基于nonos工程的“hello world”
简介:
硬件采用的是NodeMcu。固件下载工具和串口工具(一)中有介绍
1.下载nonos的sdk,进行简单的操作。下载链接如下:https://github.com/GUANSQ-LUCK/gitskills
- 1,解压缩ESP8266_SDK文件
- 2,driver_lib文件夹Makefile文件删除
- 3,删除third_party文件
- 4,把example文件夹下面的,Smart_config复制到主目录重命名为app
2.将文件导入到编辑器中,操作如下
- 1,file->import->c/c++ ->existing code as Make..
- 2,设置好项目名称和选择nonos_sdk的文件目录,
- 3,选择cygwin GCC,finish。
3.编写“hello world”程序
- 在app文件内user --- user_main.c中找到user_init(void)这个函数,在里面添加打印代码,os_printf("hello world");
user_init(void)
{
os_printf("SDK version:%s\n", system_get_sdk_version());
os_printf("hello world\n");
// smartconfig_set_type(SC_TYPE_AIRKISS); //SC_TYPE_ESPTOUCH,SC_TYPE_AIRKISS,SC_TYPE_ESPTOUCH_AIRKISS
// wifi_set_opmode(STATION_MODE);
// smartconfig_start(smartconfig_done);
}
4.进行编译配置(十分重要)
1,在最下面可以看到一个Makefile的配置文件,查看25-29行,并将29行SPI_SIZE_MAP?=0 改为SPI_SIZE_MAP?=4。
2,在工程文件名处右击,找到properties,在c/c++处build command处进行更改为25-29行的代码。
make COMPILE=gcc BOOT=none APP=0 SPI_SPEED=40 SPI_MODE=QIO SPI_SIZE_MAP=4
点击ok。
上述的代码在固件下载是要相互匹配,SPI_SIZE_MAP=4 对应的是下载工具中flash size 32Mbit
SPI_SIZE_MAP=6 对应的是下载工具中flash size 32Mbit-C1。
下载模式选择QIO,要与程序保持一致。
3,进行编译,project->bulid project,最终实现在console中看到,代表固件生成成功
!!!
No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in folder bin.
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000
!!!
5.固件下载
打开安信可固件下载工具,具体配置如下,点击下载即可。
6.下载完成后,进行验证
打开串口调试工具波特率选择76800。可以看到打印信息中有hello world