工程开发 ========= 本章节主要介绍基于 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 提供样例工程供用户直接用于编译。样例工程存放于路径 **/examples/** 。 用户也可在 SDK 目录下创建应用工程文件夹。 工程创建步骤如下: 1. 在 **SDK** 根目录下创建 **** 文件夹,用于存放应用代码。 2. 在 **** 文件夹下创建 **** 文件夹,用于存放工程代码。 .. admonition:: 说明 - <>内文件夹名称为样例工程定义的名称,支持用户自定义。 - 用户可以在 **** 文件夹内,自行搭建应用框架,如创建 **target** 、 **components** 、 **driver** 等文件夹。 3. 参考工程模板,在 **** 文件夹内创建必要的文件。也可以将 **SDK/example/** 路径下的工程文件拷贝到 **** 文件夹,作为新建工程。 .. image:: ../../_static/3-1_SDK_engineering_construction.png :align: center .. centered:: 图 3-1 SDK 目录下创建用户工程 | 工程配置 ---------- 切换到工程的各个 core 的目录下,运行 **scons --menuconfig** 命令进行工程配置。 代码编译 -------- 1. 切换命令行到 **target** 目录,如 **target_a** 工程。 .. code-block:: python cd /application/target_a/ 2. 在 **target_a** 文件夹下执行 **scons** 编译指令。编译结果示例如:doc:`图 3-2` 所示。 .. image:: ../../_static/Compilation_succeed.png :align: center .. centered:: 图 3-2 编译成功 .. admonition:: 说明 Scons 为 SDK 构建工具,支持多核编译,如:scons -j32。 3. 编译生成的固件存放于工程目录 **target_a** 下的 **build** 文件夹,如 **/application/target_a/build/.wpk** 。