WS53 构建与配置
本文介绍 SDK 目录、编译、menuconfig、串口配置和应用开发。尚未准备开发环境时,请先选择 Linux 环境配置或 Windows 环境配置。
SDK目录结构介绍
解压缩SDK后的根目录,如图1(编译后生成output目录)所示。

SDK根目录结构如表1所示。
表 1 SDK根目录
编译(CMake)
内核依赖配置
SDK编译默认包含Syschannel Host驱动编译,编译SDK前,需要修改“/middleware/utils/syschannel/syschannel_host/Makefile”指定正确的内核路径。
如果不需要编译Syschannel Host驱动,可以修改"build/config/target_config/ws53/config.py"文件,删除或注释掉ram_component中的"syschannel_host_ko"组件。
编译方法
根目录下执行“python3 build.py ws53_liteos_app”指令运行脚本编译ws53_liteos_app。编译命令列表如表1所示。
表 1 build.sh参数列表
编译得到的烧录全量镜像在“output/ws53/fwpkg/pack_all_core/ws53_liteos_app”目录下(如表2所示)。
表 2 烧录镜像
说明: 注:编译得到的中间文件在“output/ws53/acore/ws53_liteos_app”目录下。
menuconfig 配置
运行“python3 build.py -c ws53_liteos_app menuconfig”脚本会启动 menuconfig 程序,用户可通过 menuconfig 对编译和系统功能进行配置,如图 1所示。
SDK 集成默认配置。使用“python3 build.py -c ws53_liteos_app menuconfig”修改配置。

注:界面如存在差异,以实际版本为准。
Menuconfig操作说明如表1所示,在Menuconfig界面中可输入快捷键进行配置。
表 1 Menuconfig常用操作命令
所有命令可在Menuconfig界面的下方查看Menuconfig官方说明解释,如图2所示。

表 2 常用Menuconfig配置
Protocol → bt_host → Support bluetooth → sparklink host save smp keys |
打开星闪/蓝牙模块的密钥持久化能力(需要同时打开Middleware → Chips → Chip Configurations for ws53 → NV) |
UART配置方法
WS53总共有3个UART,SDK默认配置如下。
-
烧录功能,固定用UART-L0,不可更改。
-
HSO串口默认是UART-H0, 可以配置为UART-L0或UART-H1,波特率可以通过menuconfig进行定制,默认使用921600,支持关闭。
menuconfig的配置路径为Drivers->Chips->Chip Configurations for ws53。

-
AT串口默认是UART-L0,可通过menuconfig配置串口号(可选UART-L0、UART-H1)和波特率,默认使用UART-L0,波特率默认为115200,支持关闭。 menuconfig的配置路径为Drivers->Chips->Chip Configurations for ws53。

-
DEBUG串口可通过menuconfig配置串口号(可选UART-L0、UART-H1、UART-H0)和波特率,默认使用UART-L0,波特率默认为115200,支持关闭。

-
支持UART-L0 RX管脚复用为普通GPIO,仅保留TX功能。可通过打开CONFIG_UART_L0_NOT_SUPPORT_RX实现,默认未打开,menuconfig配置方法如下。

-
支持AT、DEBUG串口功能合一到HSO口上,可以用HSO工具完成AT命令及回显、DEBUG日志、HSO日志功能。需要先打开CONFIG_AT_SUPPORT_ZDIAG宏,再通过menuconfig配置HSO/AT/DEBUG为同一串口,波特率一致,可以选择是否打开HSO心跳功能。以下是将AT、DEBUG功能都合一到HSO上,并使用L0作为串口的配置示例如下。


- AT、DEBUG串口功能合到HSO口,使用时需要注意以下事项:
- 连接HSO工具前要配置关闭低功耗。
- 想要退出HSO工具连接,切换普通串口连接,需要在HSO工具主动发起断连,确保已退出HSO连接。
- 不支持串口合一到H0,深睡时H0不支持唤醒,会导致AT无法使用。
- 合一时HSO、AT、DEBUG波特率建议都配置为921600及以上。
- HSO工具的版本号,需要选择3.0.120版本及以上。
- AT、DEBUG串口功能合到HSO口,使用时需要注意以下事项:
-
串口管脚复用配置:
- DEBUG 串口方案上 A/C 核共用串口,DEBUG 串口管脚跟随选择的串口使用对应管脚。如果选择 UART L0,串口管脚采用 AGPIO1 和 AGPIO2;如果选择 UART H1,串口管脚 TX 采用 MGPIO12,RX 采用 AGPIO4。为了通过串口输入唤醒系统,RX 管脚均采用 AGPIO。
- AT 口/HSO 口可以选择与 DEBUG 口复用串口,此时管脚与 DEBUG 口一致。如果选择其他串口,可以更改管脚配置。配置代码位于文件 uart_porting.c,参考函数 uart_port_config_pinmux;该函数配置对应串口管脚的模式和上拉。硬件管脚与默认配置不一致时,需要修改函数中对应管脚定义的宏。
- 对于AT命令 UART RX管脚,建议选择AGPIO管脚,否则AT命令本身无法唤醒系统,需要由其它管脚唤醒或者关闭低功耗模式才能输入串口。
- UART RX管脚配置下拉可能导致误触发串口中断,建议针对该管脚在低功耗初始化函数uapi_pm_lpc_init调用pm_port_skip_pull_down配置跳过睡眠流程下拉处理。
须知:
- UART波特率建议配置典型值,如115200/921600/1M等,考虑到兼容性,不建议配置不常用的特殊值,比如115623此类波特率值。
- 修改UART序号请慎重,必须要与板级硬件工程师确认uart硬件连接,确保软件配置与硬件板级的实际电路连接匹配,否则无法正常工作。
注意事项
- 如果执行“./build.py”提示无权限,可执行命令“chmod +x build.py”添加执行权限或执行“python3 ./build.py”。
- 编译过程中,报错找不到某个包,请检查环境中的python是否已经安装了相应组件。如果构建环境中包含多个python,特别是多个同版本的python,而用户无法辨认正在使用的是其中的哪个版本,此情况下,在安装python组件包时,推荐使用组件包源码进行安装。
- 系统优先使用用户通过Menuconfig所做的配置,如果用户未配置,系统将使用默认配置进行编译。
新建APP
建立源码目录
说明: 用户可在“application/ws53”同级目录下参考“ws53_application”目录建立app,以下均以建立“my_demo”为例。
步骤如下:
- 新建“application/ws53/my_demo”目录,用来存放“my_demo”的源文件。
- 复制“application/ws53/ws53_application/CMakeLists.txt”到“application/ws53/my_demo/CMakeLists.txt”,并将源文件放在“application/ws53/my_demo”目录下。
-
修改“application/ws53/my_demo/CMakeLists.txt”文件。其中各个变量的含义如表1所示。
表 1 组件的CMakeLists.txt中的变量含义
当前组件的C文件列表,其中 CMAKE_CURRENT_SOURCE_DIR 变量标识当前“CMakeLists.txt”所在的路径。
-
修改“application/ws53/CMakeLists.txt”,将“my_demo”目录加入编译。
- 修改“build/config/target_config/ws53/config.py”,在ram_component字段中加入‘my_demo’,向编译系统中注册my_demo组件。
开发代码
目录结构建立完成后开始启动开发代码(用户可参考“application/samples”进行移植),代码开发完成后即可使用“python3 build.py -c ws53_liteos_app -component=my_demo”编译my_demo进行代码编译调试。
镜像烧录
镜像烧录方法,请参见 BurnTool 中“操作指南”章节。