工程开发
本章节主要介绍基于 WQ SDK 的工程开发,包括工程创建、工程配置、代码编译、固件烧录等操作。
WQ SDK
WQ SDK 软件包代码目录如下所示:
WQSDK
├── application //样例应用目录结构(参考用)
├── target_a //样例工程 targe_a
│ ├── acore //acore 应用代码目录
│ │ ├── app.c //acore 应用代码
│ │ ├── app.h
│ │ ├── components //acore 组件代码
│ │ ├── Kconfig //acore 配置选项
│ │ └── SConscript //acore 构建脚本
│ ├── bcore //bcore 应用代码目录
│ │ ├── app.c
│ │ ├── app.h
│ │ ├── Kconfig
│ │ └── SConscript
│ ├── dcore //dcore 应用代码目录
│ │ ├── app.c
│ │ ├── app.h
│ │ └── SConscript
│ ├── build //target_a 编译生成文件目录
│ │ ├── acore //acore 编译生成文件目录
│ │ ├── bcore //bcore 编译生成文件目录
│ │ ├── dbglog_table.txt
│ │ ├── dcore //dcore 编译生成文件目录
│ │ ├── target_a.wpk //target_a 固件
│ │ └── memory_config.json //image 结构
│ ├── flash_layout.h //flash 区域划分
│ ├── SConstruct //构建文件
│ └── defconfig //默认工程配置文件
├── build //build 脚本
├── chipset //芯片级代码
├── components //SDK 组件
├── docs //说明文档
├── examples //样例工程、测试代码
├── driver //驱动代码
├── os //操作系统代码
├── pre-project //配置文件
└── tools //工具
工程创建
为了帮助开发者迅速开发应用程序,WQ SDK 提供样例工程供用户直接用于编译。样例工程存放于路径 <SDK>/examples/ 。
用户也可在 SDK 目录下创建应用工程文件夹。 工程创建步骤如下:
在 SDK 根目录下创建 <application> 文件夹,用于存放应用代码。
在 <application> 文件夹下创建 <target_a> 文件夹,用于存放工程代码。
说明
<>内文件夹名称为样例工程定义的名称,支持用户自定义。
用户可以在 <application> 文件夹内,自行搭建应用框架,如创建 target 、 components 、 driver 等文件夹。
参考工程模板,在 <target_a> 文件夹内创建必要的文件。也可以将 SDK/example/ 路径下的工程文件拷贝到 <target_a> 文件夹,作为新建工程。
图 3-1 SDK 目录下创建用户工程
工程配置
切换到工程的各个 core 的目录下,运行 scons --menuconfig 命令进行工程配置。
代码编译
切换命令行到 target 目录,如 target_a 工程。
cd <SDK>/application/target_a/
在 target_a 文件夹下执行 scons 编译指令。编译结果示例如:doc:图 3-2 所示。
图 3-2 编译成功
说明
Scons 为 SDK 构建工具,支持多核编译,如:scons -j32。
编译生成的固件存放于工程目录 target_a 下的 build 文件夹,如 <SDK>/application/target_a/build/<target_name>.wpk 。