工程

FAQ1 如何新建一个工程?

一般来讲,如果要新建一个工程,有两种方法:

  1. Solution已经发布的版本中,找一个相同芯片以及存储类型配置的工程,然后进行修改(pinmux、 通过menuconfig修改feature)。

  • 直接在这个工程进行修改

  • 复制一个工程进行修改。

  1. 参见新工程创建


FAQ2 screenless 工程怎么创建和维护?

screenless 可以基于 watch 工程派生,也可以直接参考 solution/examples/screenless 下的无屏工程样例。它的核心原则是:

  1. 通过模板把 LVGL、LCD、图片、字体、多语言和资源工程裁剪掉,只保留传感器、蓝牙、NVM、通信、OTA、低功耗等非 UI 能力;

  2. 新工程不要直接修改已生成工程的 hcpu/SConscript,如果要影响所有新建 screenless 工程的默认接入模块,应修改 solution/framework/__template__/project/hcpu/SConscript

  3. 新工程初始化后,主要通过 menuconfig 按芯片和外围配置 board、Flash/PSRAM、传感器、蓝牙、电池、OTA 等能力;

  4. 如果客户需要新增 component 模块或 service,优先按 screenlessapplication/coreapplication/compatapplication/stubs 分层补适配,不要直接改公共框架。


FAQ3 什么时候只复制工程,什么时候需要新建 board?

可以按硬件差异判断:

  1. 如果只是功能裁剪、资源变化、menuconfig 配置变化,优先复制同芯片、同存储类型的参考工程修改;

  2. 如果新板的 pinmux、电源控制、外设连接和参考板差异较大,建议新建 board 目录;

  3. 新建工程后,需要同步配置工程目录、CompilerBurnUser.iniPrjCfg.ini,确保 Butterfli 能加载并编译该工程。

详细步骤请参考 新 board 创建新工程创建