feat(app): 使用传感器驱动重构电池和模式切换模块

- 将电池模块从ADC直接采样改为使用sensor子系统,通过battery_sense传感器获取电压
- 将模式切换模块从ADC采样改为使用mode_sense传感器获取模式电压
- 移除GPIO控制的电池使能脚,改用传感器的PM管理机制
- 更新DTS配置,移除大量设备状态设置,添加boot-mode保留内存支持

perf(pm): 调整分区大小以支持单应用引导模式

- 将mcuboot分区从0xc000扩大到0x100,为单应用模式提供更大空间
- 相应调整app分区地址布局,确保内存分配合理
- 移除secondary镜像相关配置,优化flash使用

refactor(boot): 添加MCUBOOT单应用模式配置

- 在sysbuild中启用单应用模式支持
- 为引导加载程序添加保留内存和启动模式配置
- 配置CDC ACM串口用于引导模式通信
This commit is contained in:
2026-03-31 15:09:23 +08:00
parent 82be5cae52
commit 302df0230d
8 changed files with 243 additions and 273 deletions

View File

@@ -2,16 +2,7 @@
/ {
chosen {
zephyr,display = &st7789v3;
};
aliases {
backlight = &backlight;
};
zephyr,user {
vbat-en-gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
io-channels = <&adc 5>, <&adc 7>;
zephyr,boot-mode = &boot_mode0;
};
hid_dev_0: hid_dev_0 {
@@ -45,64 +36,12 @@
};
};
&gpio0 {
status = "okay";
};
&gpio1 {
status = "okay";
};
&gpiote {
status = "okay";
};
&led_0 {
status = "okay";
};
&led_1 {
status = "okay";
};
/* 使能 SAADCmode_switch_module 使用 channel 7 采样模式拨码电压。 */
&adc {
status = "okay";
};
&i2c1 {
&gpregret1 {
status = "okay";
ip5305: pmic@75 {
boot_mode0: boot_mode@0 {
compatible = "zephyr,retention";
status = "okay";
keepalive-interval-ms = <10000>;
reg = <0x0 0x1>;
};
};
&usbd {
status = "okay";
};
qdec: &qdec {
status = "okay";
};
&spi3 {
status = "okay";
};
&mipi_dbi {
status = "okay";
};
&st7789v3 {
status = "okay";
};
&pwm_leds {
status = "okay";
};
&pwm0 {
status = "okay";
};