ESP8266 non-os⑵SDK3环境搭建与makeFile

建立项目

导入sdk3到一体化开发AiThinker_IDE后,把examples里的示例代码复制1个到SDK根目录下,并改名为app(名字随便取),目录如下:
在这里插入图片描述
app:程序文件
bin: 编译生成的BIN文件,可以直接下载到Flash中。
documents: SDK相关的文件或连接。
driver_lib: 外设的驱动库文件,如I2C和GPIO等。
examples: 示例代码
include: SDK自带头文件,用户无需修改。
ld: 链接时所需的脚本文件,用户无需修改。
lib: SDK提供的库文件。
third_party:现在还不知道是做什么的
tools: 编译BIN文件所需要的工具,用户无需修改。

修改文件结构

一. 删除driver_lib目录下makeFile文件。
二.删除third_party目录下makeFile文件。
三.修改SDK根目录下makeFile文件:
未修改时:

##   在25行附近  ####
BOOT?=none
APP?=0
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=0

修改为:

BOOT?=none
APP?=0
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6

其实就是对应下面的8266内存容量选择:

 ifeq ($(SPI_SIZE_MAP), 6)
            size_map = 6
            flash = 4096
            ifeq ($(app), 2)
              addr = 0x101000
            endif

在user_main.c中也对应了程序烧录地址:

#elif (SPI_FLASH_SIZE_MAP == 6)
#define SYSTEM_PARTITION_OTA_SIZE							0x6A000
#define SYSTEM_PARTITION_OTA_2_ADDR							0x101000
#define SYSTEM_PARTITION_RF_CAL_ADDR						0x3fb000
#define SYSTEM_PARTITION_PHY_DATA_ADDR						0x3fc000
#define SYSTEM_PARTITION_SYSTEM_PARAMETER_ADDR				0x3fd000
#else

添加目录

一.在app目录下建立文件夹modules,这里面准备存放.c文件
二.在app目录include下再建立文件夹modules,这里面准备存放.h文件;这个文件夹不用管它。
三…在app目录下modules文件夹里建立Makefile文件,或者把app目录下的Makefile文件拷贝过来。然后修改modules文件夹里的Makefile文件内容为:

################新建目录##############
# GEN_LIBS = libmodules.a 就是指定该文件夹要生成的库文件的名字为libmodules.a 
ifndef PDIR
GEN_LIBS = libmodules.a
endif


INCLUDES := $(INCLUDES) -I $(PDIR)include
INCLUDES += -I ./
PDIR := ../$(PDIR)
sinclude $(PDIR)Makefile

四.修改app目录下Makefile文件:
第一处:大概25行的地方

SPECIAL_MKTARGETS=$(APP_MKTARGETS)
SUBDIRS=    \
	user

修改为:

SPECIAL_MKTARGETS=$(APP_MKTARGETS)
############################ 添加需要的目录,需要加 " \ " ############################
SUBDIRS=    \
    modules  \
	user

第二处:大概49行处

COMPONENTS_eagle.app.v6 = \
	user/libuser.a

修改为:

COMPONENTS_eagle.app.v6 = \
    modules/libmodules.a \
	user/libuser.a

注意,除了最后一条外,其他都需要加反斜杠 " \ "

现在,先Clean project,再Build project.如果IDE的Console输出
!!!
No boot needed.
Generate eagle.flash.bin and eagle.irom0text.bin successully in folder bin.
eagle.flash.bin-------->0x00000
eagle.irom0text.bin---->0x10000
!!!
说明编译成功。上面就是对应的下载地址

发布了27 篇原创文章 · 获赞 19 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/oXingChenWuJi/article/details/102662194
今日推荐