Beken WSS without PSRAM

[中文]

1. Overview

This is the no-PSRAM cut of beken_wss: the same WebSocket audio path, but PSRAM is off and buffers / stacks stay in SRAM. Use it on modules without PSRAM or on BK7257.

Path: <source code>/projects/beken_wss_nopsram

If the board has PSRAM and you need on-screen subtitles, use Beken WSS Project. Provisioning / keys / App: Beken Genie AI Project

2. Differences from beken_wss

  • Both CONFIG_BK_WSS_TRANS=y and CONFIG_BK_WSS_TRANS_NOPSRAM=y.

  • CONFIG_PSRAM=n, CONFIG_PSRAM_AS_SYS_MEMORY=n, audio in SRAM (CONFIG_AUD_TRAS_USE_SRAM=y).

  • BK7258: LVGL and subtitles off (CONFIG_SINGLE_SCREEN_FONT_DISPLAY=n, CONFIG_LVGL=n); SD / FATFS off to save RAM.

  • BK7257: extra config/bk7257 with CONFIG_DUAL_SCREEN_AVI_PLAY; LDO GPIO default 42.

  • bk_wss.c / bk_wss_main.c shrink frame buffers under CONFIG_BK_WSS_TRANS_NOPSRAM.

  • Default URI is the same: wss://ai.aclsemi.com:9015.

3. Supported SoCs

4. Key configuration (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

Default CPU0 SRAM is CONFIG_CPU0_SPE_RAM_SIZE=0x68000. If heap is tight, drop logs and unused peripherals; do not turn LVGL subtitles back on.

5. Build and flash

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

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

  • No SD-NAND assets on the 7258 default config. Flash all-app.bin only.

6. Q&A

Q: Why no subtitles on 7258?

A: Without PSRAM there is not enough SRAM for LVGL fonts plus the audio loop. Use beken_wss when PSRAM is available.

Q: malloc fails or heap_4 asserts?

A: Confirm CONFIG_PSRAM=n and that no component still allocates at PSRAM addresses. Disable CONFIG_DEBUG_DUMP, shrink CONFIG_TRANS_APP_TASK_SIZE, and watch memory_free_show on the UART.

Q: How do I change the WSS URL?

A: Same as beken_wss: websocket_cfg.uri in bk_wss_main.c.