工程¶
FAQ1 如何新建一个工程?¶
一般来讲,如果要新建一个工程,有两种方法:
Solution已经发布的版本中,找一个相同
芯片以及存储类型配置的工程,然后进行修改(pinmux、 通过menuconfig修改feature)。
直接在这个工程进行修改
复制一个工程进行修改。
参见新工程创建。
FAQ2 screenless 工程怎么创建和维护?¶
screenless 可以基于 watch 工程派生,也可以直接参考 solution/examples/screenless 下的无屏工程样例。它的核心原则是:
通过模板把 LVGL、LCD、图片、字体、多语言和资源工程裁剪掉,只保留传感器、蓝牙、NVM、通信、OTA、低功耗等非 UI 能力;
新工程不要直接修改已生成工程的
hcpu/SConscript,如果要影响所有新建screenless工程的默认接入模块,应修改solution/framework/__template__/project/hcpu/SConscript;新工程初始化后,主要通过
menuconfig按芯片和外围配置 board、Flash/PSRAM、传感器、蓝牙、电池、OTA 等能力;如果客户需要新增 component 模块或 service,优先按
screenless的application/core、application/compat和application/stubs分层补适配,不要直接改公共框架。
FAQ3 什么时候只复制工程,什么时候需要新建 board?¶
可以按硬件差异判断:
如果只是功能裁剪、资源变化、menuconfig 配置变化,优先复制同芯片、同存储类型的参考工程修改;
如果新板的 pinmux、电源控制、外设连接和参考板差异较大,建议新建
board目录;新建工程后,需要同步配置工程目录、
CompilerBurnUser.ini和PrjCfg.ini,确保 Butterfli 能加载并编译该工程。
详细步骤请参考 新 board 创建 和 新工程创建。