Beken WSS 无 PSRAM 工程

[English]

1. 简介

本工程是 beken_wss 的**无 PSRAM** 裁剪版:同样用 WebSocket 传音频,但关闭 PSRAM,把缓冲和任务栈收进 SRAM,方便无 PSRAM 的模组或 BK7257 方案。

工程目录:<source code>/projects/beken_wss_nopsram

有 PSRAM、需要单屏字幕时请用 Beken WSS 工程。 配网 / 按键 / App 仍参考:博通集成精灵AI(Beken_Genie)工程

2. 与 beken_wss 的差异

  • 同时打开 CONFIG_BK_WSS_TRANS=yCONFIG_BK_WSS_TRANS_NOPSRAM=y

  • CONFIG_PSRAM=nCONFIG_PSRAM_AS_SYS_MEMORY=n,音频走 SRAM(CONFIG_AUD_TRAS_USE_SRAM=y)。

  • BK7258:关闭 LVGL 与单屏字幕(CONFIG_SINGLE_SCREEN_FONT_DISPLAY=nCONFIG_LVGL=n),无 SD 卡 / FATFS,以省 RAM。

  • BK7257:同一工程另有 config/bk7257,打开 CONFIG_DUAL_SCREEN_AVI_PLAY,LDO 控制脚默认 GPIO42。

  • bk_wss.c / bk_wss_main.c 里多处 #if CONFIG_BK_WSS_TRANS_NOPSRAM:减小帧缓冲、关闭依赖 PSRAM 的路径。

  • 默认 WSS 地址与 beken_wss 相同:wss://ai.aclsemi.com:9015

3. 支持芯片

4. 主要配置(BK7258)

Kconfig

CPU

Format

Value

CONFIG_BK_WSS_TRANS

CPU0

bool

y

CONFIG_BK_WSS_TRANS_NOPSRAM

CPU0

bool

y

CONFIG_PSRAM

CPU0 & CPU1

bool

n

CONFIG_SINGLE_SCREEN_FONT_DISPLAY

CPU0 & CPU1

bool

n

CONFIG_LVGL

CPU1

bool

n

CONFIG_AUD_TRAS_USE_SRAM

CPU0

bool

y

CONFIG_WEBSOCKET / CONFIG_WEBSOCKET_TLS

CPU0

bool

y

BK7258 CPU0 SRAM 默认 CONFIG_CPU0_SPE_RAM_SIZE=0x68000。内存紧张时优先关日志、关未用外设,不要再打开 LVGL 字幕。

5. 编译与烧录

  • BK7258 固件:<source code>/build/beken_wss_nopsram/bk7258/all-app.bin

  • BK7257 固件:<source code>/build/beken_wss_nopsram/bk7257/all-app.bin

  • 无 SD-NAND 资源依赖(7258 默认关了 SD / FATFS)。烧录 all-app.bin 即可。

6. 问题&回答

Q:为什么 7258 没有字幕?

A:无 PSRAM 时 SRAM 不够同时跑 LVGL 字库和音频环。字幕请用带 PSRAM 的 beken_wss

Q:运行中出现 malloc 失败 / heap_4 assert?

A:先确认 CONFIG_PSRAM=n 且没有组件仍按 PSRAM 地址申请。可关 CONFIG_DEBUG_DUMP、减小 CONFIG_TRANS_APP_TASK_SIZE,并看串口 memory_free_show 日志。

Q:WSS 地址怎么改?

A:与 beken_wss 相同,改 bk_wss_main.cwebsocket_cfg.uri