建立项目
导入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
!!!
说明编译成功。上面就是对应的下载地址