黄山派介绍

立创·黄山派开发板基于 SF32LB52-MOD-1 模组,标配 SF32LB525UC6 芯片,内置 8MB OPI-PSRAM,外置 128Mb QSPI-NOR Flash,在 Solution 中采用 NOR 方案,工程名为sf32lb52-ulp

以watch产品为例

具体说明如下

支持Feature

支持 Solution 2.0 的核心功能(详见Solution Feature介绍

提供应用

参考Solution通用示例应用 黄山派版本发布时包含以下内置应用和外置应用,用户可通过ButterFli工具装入工程文件,选择是否编译或预置,也可参考示例修改以满足产品需求:

内置应用

状态

说明

mainmenu

内置应用

主菜单,提供蜂窝、列表以及重力菜单

setting

内置应用

设置应用

guide

内置隐藏应用

开机向导应用,完成蓝牙配对、语言选择等功能

aod

内置隐藏应用

睡眠时进入的常亮屏应用

tileview / watchface

仅watch支持

提供平铺/表盘框架

OTA、应用推送

内部机制

提供完整OTA、应用(及表盘,仅针对watch)的推送方案

-

内部机制

消息、弹窗、电池管理、低功耗、动态应用、nvm存储、
button、sensor框架等机制

外置应用

状态

说明

activity

预置 (dyn)

活动应用,用于运动健康等活动数据的UI展示

alarm

预置 (dyn)

闹钟应用,支持设备闹钟的设置与管理

compass

预置 (dyn)

指南针应用,通过陀螺仪实现方向识别功能

dyn_plane

预置 (dyn)

飞机游戏应用,提供休闲游戏体验

game_dice

预置 (dyn)

骰子游戏应用,提供最多5个骰子的投掷点数游戏

heartrate

预置 (dyn)

心率监测应用,实时展示心率数据

interphone

预置 (dyn)

蓝牙对讲机应用,支持组队实时对讲功能

music

预置 (dyn)

音乐播放应用,实现音频播放、暂停、切换等基础功能

phonecall

预置 (dyn)

电话功能应用,支持呼叫管理及通话记录查看

sport

预置 (dyn)

运动应用,重点展示多运动类型列表菜单UI的流畅交互

weather

预置 (dyn)

天气应用,通过PAN请求获取网络天气数据并展示

nxp_demo

不选择

Squarelin Studio生成代码的集成示例(需适配分辨率)

squareline_demo

不选择

NXP GUI Builder生成代码的集成示例((需适配分辨率)

chatbot

非预置

小智聊天机器人应用,提供智能对话交互功能。素材太多,
需要通过TF装入

注意:

  • Solution应用例程主要以动态应用的形式提供,目的是为了支持应用跨产品复用,展示Solution在应用市场方面的能力。

  • 实际产品开发中,建议:

    • 根据产品的实际情况固化内置应用。1. 外置改内置 2. 内置改外置

    • 对需要灵活扩展内容(如表盘/应用市场)设为动态应用,通过应用表盘/市场推送替换。

发布

黄山派 Solution 包含以下发布内容::

  1. 产品 demo(bin 文件):

    1. watch
      手表方案 demo,支持表盘框架平铺框架

    2. gridview
      宫格菜单方案 demo,不含表盘和平铺框架

    3. container
      单应用架构 demo,烧写后无默认应用(开机黑屏但日志正常)。注意,container没有内置setting的应用,因此设计时只支持一个单应用(推送时会删除前一个应用)

    用户可在黄山派上直接烧写体验,或基于对应工程/GUI_Builder开发自定义表盘 / 应用,通过手机端 SiFli_Demo_APP/串口推送到板端运行。

  2. 工程文件(部分 lib + 源代码):

    提供watch、gridview、container三个工程,功能对应上述产品 demo,支持用户自定义开发:

  3. SiFli_Demo_APP

    思澈提供手机APP的demo。该手机APP实现了与Solution的固件的适配,支持以下的基本功能:

    • 支持设备的连接和配对

    • 支持OTA

    • 支持表盘和应用推送

    • 支持背景图的替换

    • 与固件端数据的对接(部分对接,尚在完善)

  4. GUI_Builder

    思澈提供的可视化开发工具,支持:

    • 0 编程开发表盘(含丰富数据接口);

    • 0 编程开发应用(存在部分限制);

    • 串口屏应用开发。

外部存储空间分配

Flash 分区定义在 solution\framework\__template__\config\hcpu\flash_map\flash_map_52x_nor(16MB)_psram(8M)_spi_sd.xlsx

分区及用途如下:

分区名称

用途说明

nvm

基于 Flashdb(4KB 扇区)存储,包含:\n支付宝信息(upay)、OTA 状态(dfu)、蓝牙信息(ble)等 KVDB 分区,\n以及:
运动记录(his_sport)、睡眠数据(his_sleep)等 TSDB 分区。

dfu_mng_code

OTA 管理程序(NOR 方案受 Flash 容量限制,采用覆盖升级模式,
异常时持续在 OTA manager 收包直至完成)。

solution_code

主程序代码存储区。

img

存放经 eZIP 压缩后的图片文件,实现紧凑存储。

font

存储 ttf 字体文件。

root

文件系统分区,用于存放外置应用、表盘及背景图
(空间有限,不足时需删除已有内容再推送)。

注意:代码和数据的分区位置由 solution\framework\__template__\config\hcpu\linker_script\link_flash_52x.sct 定义。

用户开发

用户可以在黄山派Solution上进行以下自定义开发:

  1. C 应用开发

    1. 内置C应用参考solution\examples\xxx\application下的示例开发应用(wf,app, aod);
      外置C应用参考solution\examples\_dynamic_app\c\app下的示例进行开发

    2. 内置C表盘参考solution\examples\watch\application\watchface下的示例进行开发;
      外置C表盘参考solution\examples\_dynamic_app\c\wf下的示例进行开发;

    3. PC仿真使用butterfli进行编译,运行Visual Studio行调试

    4. 板级使用butterfli进行编译,烧写验证功能

    5. 通过SiFli_Demo_APP进行推送butterfli生成包(在project\sf32lb52-ulp\bin_bak\sf32lb52-ulp\zip_output下面)的.zip文件(wf,app, aod)到板级进行验证

    同理,AOD的开发类似

  2. QJS表盘/应用开发

    1. 参考solution\examples\_dynamic_app\qjs下的示例开发表盘和表盘(qjs_wf,qjs_app)

    2. PC仿真使用butterfli进行编译,运行Visual Studio行调试 在对应的Simulator的工程进行调试

    3. 板级使用butterfli进行编译,烧写验证功能

    4. 通过SiFli_Demo_APP进行推送butterfli生成包(在project\sf32lb52-ulp\bin_bak\sf32lb52-ulp\zip_output下面)的.zip文件(qjs_wf,qjs_app)到板级进行验证

    同理:AOD的开发类似

  3. 使用GUI Builder工具进行表盘/应用开发(注:工具位于solution\tools\GUI_Builder

    1. 准备表盘/应用素材(图片、字体)

    2. 确定访问的数据接口

    3. 创建对应板级、分辨率、色深的工程(黄山派是固定的52x, 390x450, 16bit)

    4. 开始使用素材进行布局,设置素材的效果,以及绑定数据接口

    5. 在GUI Builder中启动PC仿真,验证UI效果

    6. 通过GUI Builder提供的串口推送功能,把应用生成BIN推送到板子,进行板级验证(注意此时板子必须烧写对应主框架固件)

    7. 通过SiFli_Demo_APP推送GUI Builder生成的发布包

  4. 利用第三方工具Squareline以及NXP GUI builder进行表盘/应用开发,并集成相应的生成代码到Solution中

    1. Squareline生成的代码集成到Solution

    2. nxp GUI Builder生成的代码集成到Solution

  5. 添加sensor的算法到黄山派的sensor中
    参见Sensor算法添加

  6. 使用SiFli_Demo_APP

    1. OTA升级

    2. 表盘及应用推送

      • 参照上面的步骤开发表盘/应用或选择思澈发布的表盘/应用

      • SiFli_Demo_APP 表盘/应用推送

    3. 更新表盘的[背景图]

      • 推送一个支持背景可替换的表盘

      • SiFli_Demo_APP 背景推送

TF卡

黄山派支持插入TF卡,可通过TF卡实现外置应用/表盘安装及OTA升级,具体操作如下:

  1. OTA

    • 准备升级包:通过ButterFli编译工程后,在IMG保存路径中会生成带时间戳的bin文件(如ota_2025_08_13_15_38_28.bin)。

    • 存放文件:将该bin文件复制到TF卡的/ota目录下,插入黄山派并重启设备。

    • 执行升级:开机后通过路径 菜单→设置→系统→系统升级→SD卡升级,选择需升级的bin文件,系统会进行初步校验;校验通过后重启进入OTA manager解析安装,完成后自动重启。

    注意

    • 升级不会覆盖FTABLEBOOTLOADEROTA_MANAGER分区;

    • 若重复升级相同OTA包或校验失败,目前均提示“最新版本”,暂不细分具体原因。

  2. TF卡安装外置应用

    • 准备应用包

      • 打开GraphicsTool工具,点击资源图标进入工具路径下的Resource_Src目录;

      • 找到ButterFli编译后工程的./ZIP_OUTPUT/目录,将其中appqjs_app文件夹内的zip包复制到Resource_Src/dynamic_app路径。

    • 转换资源:点击GraphicsTool的转换图标处理文件,完成后点击目标图标进入Resource_Dst目录。

    • 存放与安装:将Resource_Dst/dynamic_app目录拷贝到TF卡根目录,插入黄山派并重启;系统默认开机时会自动检测并更新外置应用。

    注意

    • 可手动通过 菜单→设置→应用管理→添加 主动更新外置应用;

    • 若在HCPU menuconfig中关闭DYN_AUTO_INSTALL_USED宏,可禁止开机自动更新功能;

    • 开启DYN_AUTO_INSTALL_USED时,开机速度会受TF卡中外置应用数量影响。

  3. TF卡安装外置表盘
    暂未支持。

参考工具文档GraphicsTool说明

限制

  1. 16MB NOR Flash 容量有限,大型应用可能无法支持,空间不足时需删除root分区已有内容。

  2. Solution支持分辨率200x300的H264视频播放以及eZIP格式视频播放,但受限于16MB Flash限制,因此没有开放该功能

  3. flash_map_52x_nor(16MB)_psram(8M)_spi_sd.xlsx中,ROOT分区默认配置为8480KB,采用的LittleFS,目前配置的Sector size为4KB,因此文件不足4K将占用4KB的控件,加上文件系统本身的开销,实际可用空间小于标称值。可通过df /命令查看剩余空间

  4. 当前推出的版本受限于一些中间件打库的原因,因此不支持换屏以及换分辨率;后续会推出升级版本解决换屏和分辨率的问题

后续发布的规划

  1. 持续更新 Solution 版本及新增应用

  2. 完善传感器数据分发与存储方案

  3. 支持gcc的编译

  4. 支持修改屏幕分辨率、支持24位色

  5. 支持其他芯片平台

其他

  1. 批量需求用户可联系思澈销售,获取大用户支持,开放更多的代码。