配置选项参考¶
本章汇总 CI13XX_SDK_LLM_AIoT_V3.0.19 示例工程中的主要可配置宏选项,便于开发者按应用场景裁剪功能。
配置位置
- **算法使能开关**统一位于
system/user_alg_config.mk(MCU 核与 BNPU 核工程共用,修改算法组合后重新clean再编译,自动编译BNPU),并可在其中查看各算法在 BNPU 端的内存占用; - 板级、串口、OTA、离在线音频上传/播放、云端交互、VAD、语音识别、播放器、自学习、DOA 等功能宏位于各示例工程下的
projects\<工程名>\app\app_main\user_config.h; - 部分全局默认值(如
POST_MIN_CNT)位于system/sdk_default_config.h; - 各示例工程的默认值不同(如 uart 工程默认使用
CI-D06GT01D开发板),请以实际工程文件为准。
1. 算法使能配置(system/user_alg_config.mk)¶
| 宏定义 | 说明 |
|---|---|
USE_ASR |
ASR 识别功能(除事件检测外其他功能都依赖识别,默认 1) |
USE_ANY_MIC |
任意 MIC 识别(双麦) |
USE_AEC |
回声消除模块(单/双麦可用;双麦 + AEC 需硬件再增加一个 codec 做信号回采) |
USE_CWSL |
自学习功能(需在安静环境下清晰洪亮地学习) |
USE_NN_DENOISE |
NN 深度降噪 |
USE_NN_VAD |
语音活性检测 |
USE_NN_DOA |
NN DOA(暂不支持) |
USE_GCC_DOA |
GCC DOA 声源定位(当前默认支持) |
USE_IIS_RECORD |
IIS 采音(占用 PA2~PA6,多消耗约 20KB SYS 内存) |
USE_REF_IN_FROM_INNER_CODEC |
双麦算法时使用模拟右麦作参考信号(V3.0.19 新增;置 1 时 makefile 会向两个核传递 -DREF_IN_FROM_INNER_CODEC=1,需同步使能 AUDIO_IN_FROM_DMIC) |
SDK_ALG_PRO_SRAM_HOST_NOT_ALG_END_ADDR |
仅开 ASR 时 HOST 端基地址(V3.0.19 为 0x1FFD3000) |
各算法在 BNPU 端的内存占用(供链接脚本自动分配,一般无需修改):
| 内存宏 | V3.0.19 默认值 | 说明 |
|---|---|---|
AEC_USE_BNPU_SRAM_SIZE |
30*1024 | AEC(V3.0.19 由 27K 调整为 30K) |
CWSL_USE_BNPU_SRAM_SIZE |
0*1024 | 自学习 |
NN_DENOISE_USE_BNPU_SRAM_SIZE |
47*1024 | NN 降噪(V3.0.19 由 43K 调整为 47K) |
TVAD_USE_BNPU_SRAM_SIZE |
0*1024 | NN VAD |
NN_DOA_USE_BNPU_SRAM_SIZE |
60*1024 | NN DOA |
GCC_DOA_USE_BNPU_SRAM_SIZE |
23*1024 | GCC DOA(V3.0.19 由 20K 调整为 23K) |
IIS_RECORD_USE_BNPU_SRAM_SIZE |
0*1024 | IIS 采音 |
内存表与链接脚本的联动
SDK_ALG_PRO_SRAM_HOST_NOT_ALG_END_ADDR 与 utils/common.lds 中的 SDK_ALG_PRO_SRAM_HOST_END_ADDR(V3.0.19 为 0x1ffbfc00)、各工程 lds/ci130x_asr_alg_mcu_temp.lds 中的 SRAM_END_ADDR / SYS_HEAP_SIZE(V3.0.19 默认 120KB)共同决定内存布局,三者需随算法组合保持匹配。
user_alg_config.mk 中的可组合开关:
| 宏定义 | 说明 |
|---|---|
AIOT_AUDIO_COMPRESS_TYPE |
AIOT 音频压缩类型(仅 uart_sample 使用):0-null、1-speex、2-opus、3-g722 |
2. 工程编译参数(project_file/makefile)¶
| 宏定义 | 说明 |
|---|---|
AUDIO_UPLOAD_TYPE |
音频上传云端接口类型:1-串口、2-hpout、3-iis(不可修改) |
ALG_PRO_LINK_LDS |
MCU 核链接脚本,固定为 ../lds/ci130x_asr_alg_mcu.lds |
LIB_BNPU_CORE_ALG_PRO |
BNPU 核算法库,固定为 ci130x_asr_alg_bnpu.a |
3. 板级与芯片配置(user_config.h)¶
| 宏定义 | 说明 |
|---|---|
USE_CI_xxx_BOARD |
板级选择开关(如 USE_CI_D06GT01D_BOARD、USE_CI_D06GT01J_BOARD),同一时刻只置 1 个 |
CI_CHIP_TYPE |
芯片型号(1302/1306/1312/2312/2306 等),随板级选择自动定义 |
BOARD_PORT_FILE |
板级驱动文件(如 "CI-D06GT01D.c"),随板级选择自动定义;文件位于 driver/boards |
HOST_MIC_USE_NUMBER |
MIC 数量(1 单麦 / 2 双麦) |
AUDIO_IN_FROM_DMIC |
是否使用数字 MIC 输入音频(V3.0.19 新增) |
MIC_RECORD_IIS_SELECT |
MIC 输入的 IIS 选择:0-内部 codec IIS1、1-外部 IIS0(V3.0.19 新增) |
MIC_DIFF_SINGLE |
MIC 电路模式:1 单端、0 差分(通用模块为差分,省成本模块单端时置 1) |
REF_DIFF_SINGLE |
REF(回采)电路模式:1 单端、0 差分(V3.0.19 新增;D 类功放单 MIC AEC 用差分,AB 类功放用单端) |
REF_IN_FROM_INNER_CODEC |
采用 2 DMIC + 内部 codec 右通道(或模拟右麦)输入 REF 信号(V3.0.19 新增)。默认值 0,定义于 system/sdk_default_config.h;置 1 的推荐方式是在 system/user_alg_config.mk 中设置 USE_REF_IN_FROM_INNER_CODEC := 1(makefile 会为 BNPU/MCU 两核传递 -DREF_IN_FROM_INNER_CODEC=1) |
IF_USE_ANOTHER_CODEC_TO_GET_REF |
采用 2 DMIC + 外挂 codec 输入 REF 信号(V3.0.19 新增);AUDIO_IN_FROM_DMIC 且未开启 REF_IN_FROM_INNER_CODEC 时由 user_config.h 自动置 1 |
USE_IIS_RECORD(makefile) |
IIS 采音开关(V3.0.19 由 makefile 控制,取代原 USE_IIS1_OUT_PRE_RSLT_AUDIO) |
4. 串口与通讯配置¶
| 宏定义 | 说明 |
|---|---|
CONFIG_CI_LOG_UART |
LOG 输出串口(默认 HAL_UART0_BASE,勿与协议串口共用) |
UART0/1/2_PAD_OPENDRAIN_MODE_EN |
通讯串口开漏模式使能(对接 5V 电平 IO 时开启) |
USE_EXTERNAL_CRYSTAL_OSC |
时钟源:1 外部晶振、0 内部 RC(离在线应用必须为 1) |
UART_BAUDRATE_CALIBRATE |
波特率自适应使能;配套 BAUDRATE_SYNC_PERIOD、BAUDRATE_FAST_SYNC_PERIOD、BAUD_CALIBRATE_MAX_WAIT_TIME |
MSG_COM_USE_UART_EN |
语音模块通讯协议开关(离在线应用默认关闭) |
UART_PROTOCOL_NUMBER / UART_PROTOCOL_BAUDRATE / UART_PROTOCOL_VER |
语音模块协议串口 / 波特率 / 协议版本(1 一代、2 二代、255 平台生成) |
CLOUD_UART_PROTOCOL_EN |
云端协议使能(仅启英开发者平台做固件配协议时可用,与 MSG_COM_USE_UART_EN 互斥) |
USE_UART_SEND_PRE_RSLT_AUDIO_NUMBER / _BAUD / _BUF_LEN |
串口输出算法处理后音频数据的串口 / 波特率 / BUF 大小(V3.0.19 新增) |
5. OTA 配置¶
| 宏定义 | 说明 |
|---|---|
CI_OTA_ENABLE |
OTA 使能:1 使能、0 不使能(默认 0) |
说明
V2.2.7 起,OTA 功能统一由 components/ota 组件承载,各工程不再包含 app/app_ota 目录;OTA 版本为 V4.1.12,打包固件时需将 firmware/config.ini 中 firmware_version 设为 FW_V4。详见 ☞《语音芯片OTA V4.1.X使用和说明》。
6. 离在线音频上传 / 播放配置(全局宏开关)¶
V2.2.7 重点
V2.2.7 起,UART、IIS、HPOUT 三个工程统一使用下列 全局宏开关 控制上下行、串口通信、本地播报与云端播报,可灵活配置各通路。
| 宏定义 | 说明 |
|---|---|
AUDIO_DATA_UPLOAD_BY_UART |
通过串口上传录音(uart 工程;消耗约 75KB 内存) |
AUDIO_DATA_PLAY_BY_UART |
通过串口接收音频数据并播放(uart 工程) |
AUDIO_DATA_UPLOAD_BY_IIS |
通过 IIS 上传录音(iis 工程) |
AUDIO_DATA_PLAY_BY_IIS |
通过 IIS 接收音频数据播放(iis 工程) |
AUDIO_DATA_UPLOAD_BY_HPOUT |
通过 HPOUT 上传录音(hpout 工程,不支持压缩) |
WIFI_CMD_BY_UART |
上下行均关闭时,仅通过串口与 WIFI 交互指令 |
AUDIO_VAD_CHECK_ENABLE |
VAD 检测功能使能(V3.0.19 起 VAD 由 NN VAD 承载) |
AUDIO_SEND_WITH_PROTOCOL_HEADER |
上传数据是否带协议头:1 带(默认)、0 裸数据(调试用) |
UART_NUM_SEND_PLAY_AUDIO_NUMBER / UART_NUM_SEND_PLAY_AUDIO_BAUDRATE |
与网络端(WIFI)交互的串口 / 波特率 |
IIS_UPLOAD_IS_WAKEUP |
IIS 工程:1 唤醒后(或收到开始录音指令后)开始录音、0 上电后开始录音 |
IIS_DOWNLOAD_BY_CMD |
IIS 工程:1 收到指令后开始 IIS 播报、0 上电后开始 IIS 播报(V2.2.7 新增) |
HPOUT_UPLOAD_IS_WAKEUP |
HPOUT 工程:1 唤醒后开始录音、0 上电后开始录音(V2.2.7 新增) |
ASR_MIDDLE_RESULT_OUT_EN |
ASR 中间识别结果输出使能(V3.0.19 新增) |
AUTO_GET_AEC_GAIN |
AEC 自动增益测试使能;配套 GET_AEC_GAIN_AUDIO_ID、GET_AEC_REF_THR_AUDIO_ID、GET_AEC_GAIN_POEWR_ON_START、DEFAULT_MIN_MIC_GAIN、DEFAULT_EXPECT_VOLUM(V3.0.19 新增) |
IIS_CHANNEL_ENG_CALC_EANBLE |
IIS 通道能量计算使能(V3.0.19 新增) |
CIAS_HAVE_AUDIO_ENG_MICL/MICR/REFL/REFR |
各通道音频能量阈值(默认 50dB,产测用,V3.0.19 新增) |
CIAS_UPLOD_FACTORY_TEST_REAL_VAL |
上传音频过程中的实时值(产测用,V3.0.19 新增) |
6.1 压缩算法选择(三选一)¶
| 宏定义 | 说明 |
|---|---|
AUDIO_COMPRESS_RECORD_DISABLE |
PCM 上传,不做压缩(建议 SYS_HEAP_SIZE=1024*130) |
AUDIO_COMPRESS_SPEEX_ENABLE |
SPEEX 压缩上传(建议 SYS_HEAP_SIZE=1024*110) |
AUDIO_COMPRESS_OPUS_ENABLE |
OPUS 压缩上传(比 SPEEX 多消耗约 31KB 内存;V2.2.7 起节约 10K 内存) |
AUDIO_COMPRESS_G722_ENABLE |
G722 压缩上传(20ms 压缩一次,4:1 压缩率) |
注意
上述压缩宏需与 makefile 中 AIOT_AUDIO_COMPRESS_TYPE 保持一致(0-PCM、1-SPEEX、2-OPUS、3-G722)。
表中 SYS_HEAP_SIZE 建议值取自 user_config.h 注释;V3.0.19 工程 lds/ci130x_asr_alg_mcu.lds 中 SYS_HEAP_SIZE 默认值为 (1024*120)(V2.2.7 为 1024*130),切换压缩算法或云端播放格式后请同步调整该值。
6.2 云端播放格式选择(三选一)¶
| 宏定义 | 说明 |
|---|---|
NET_AUDIO_PLAY_BY_MP3 |
云端播放 MP3 格式(建议 SYS_HEAP_SIZE=1024*110) |
NET_AUDIO_PLAY_BY_PCM |
云端播放 PCM 格式(建议 SYS_HEAP_SIZE=1024*130) |
NET_AUDIO_PLAY_BY_G722 |
云端播放 G722 格式(必须使用精简播放器) |
NET_PLAY_PCM_OR_G722_ENABLE_LOCAL_PLAY |
云端播放 PCM/G722 时同时开启本地播报 |
USE_HP_OUT_NET_AUDIO |
使用 HPOUT 直接输出云端音频 |
7. 云端交互配置¶
| 宏定义 | 说明 |
|---|---|
CUR_INTERACTION_MULTI_ROUND_ENABLE |
1 多轮对话、0 单轮 |
UPLOAD_PLAY_FULL_DUPLEX_ENABLE |
全双工处理:播放音频的同时支持 VAD 检测音频上传 |
VAD_START_STOP_PLAY_ENABLE |
全双工模式下 VAD 起来是否立刻停止播放:1 停止、0 不停止 |
CLOUD_ANS_TIME_OUT_ENEABLE |
云端响应超时功能使能(使用 NN VAD 后置检查模式时建议关闭) |
CLOUD_ANS_TIME_OUT_VALUE |
云端响应超时时间(秒,需 > 0) |
AUDIO_PLAY_MODE |
1 支持打断当前播放、0 顺序播放(暂不用) |
UPLOAD_NNDENOISE_AUDIO_DATA_ENABLE |
1 上传降噪后的音频、0 上传非降噪音频 |
DENOISE_STRENGTH_ADAPT_ENABLE |
降噪强度自适应调整模式(V3.0.19 新增,需在 ci_ssp_config.c 中配置自适应参数) |
CHECK_NET_WORK_STATE_ENABLE |
检测网络状态后再上传音频 |
PCM_MSG_STREAM_NUM |
原始数据 stream buf 大小 |
NN_VAD_BACK_PORCH |
前端回退帧数(默认 25 帧 ≈ 400ms)(V3.0.19 由 PCM_ALG_ROOLBACK_FRAME_LEN 更名) |
PCM_ALG_FRAME_LEN |
前端原始音频帧长(16K 采样,每帧 256 点共 512 字节) |
8. VAD 配置(NN VAD)¶
| 宏定义 | 说明 |
|---|---|
NN_VAD_SENSITIVITY |
NNVAD 灵敏度等级:0/1/2 对应低/中/高(V3.0.19 新增) |
NN_VAD_FRONT_PORCH |
后窗口大小,VAD_ON→VAD_END 最多持续帧数(20~40,过小会导致停顿即结束)(V3.0.19 由 NN_VAD_END_DELAY 更名) |
NN_VAD_VALID_NUM |
VAD_ON 状态至少满足的有效帧数,低于该阈值识别结果无效(V3.0.19 新增) |
NN_VAD_VALID_CHECK_MODE |
语音有效性检查模式:1-前置检查(等待判断有效后回退已存录音再上传)、2-后置检查(优先实时上传,检查结果后通知 WIFI 端)(V3.0.19 新增) |
LOCAL_REC_VAD_END_ENABLE |
本地识别后立即停止 VAD;若不停止,在半双工且本地词条有播报时,播报会丢录音 |
WEAK_VAD_ENABLE |
1 唤醒后开始检测 VAD、0 一直检测 VAD(IIS / HPOUT 工程) |
VAD_TIMEOUT_CHECK_ENABLE |
VAD 算法内部是否进行超时检测(不可修改)(V3.0.19 由 VAD_TIMEOUT_CHECK 更名) |
VAD_TIMEOUT_VALUE |
强制结束录音时间(秒)(V3.0.19 由 VAD_FORCE_OVER_NUM_TIME 更名) |
9. 语音识别与播放器配置¶
| 宏定义 | 说明 |
|---|---|
POST_MIN_CNT |
识别结果后处理帧数(V3.0.19 调整默认值为 2,位于 sdk_default_config.h;1 提升识别率但误识增加,3 误识最低但识别率下降) |
USE_SEPARATE_WAKEUP_EN |
是否使用独立的唤醒词模型 |
DEFAULT_MODEL_GROUP_ID |
上电默认进入的语言模型(0 命令词模型、1 唤醒词模型) |
PLAY_WELCOME_EN / PLAY_ENTER_WAKEUP_EN / PLAY_EXIT_WAKEUP_EN / PLAY_OTHER_CMD_EN |
开机 / 唤醒 / 退出唤醒 / 识别到命令词时是否播放提示音 |
EXIT_WAKEUP_TIME |
退出唤醒超时时间(毫秒) |
BF_DEEPSE_MODE |
深度分离模式:1 全深度分离(更耗内存)、0 半深度分离 |
BF_ASR_VALID_MODE |
是否开启 ASR 打分有效性判断(仅针对全/半深度分离) |
AUDIO_PLAYER_ENABLE |
是否启用音频播放器(默认播放器约 52K、精简播放器约 36K) |
PLAYER_CONTROL_PA |
播放器是否控制音频功放开关 |
VOLUME_MAX / VOLUME_MIN / VOLUME_DEFAULT |
音量上限 / 下限 / 默认值 |
MP3_NO_CONSTANT_BITRATE |
开启非恒定比特率(VBR、ABR)适配 |
10. 算法相关配置¶
| 宏定义 | 说明 |
|---|---|
AEC_INTERRUPT_TYPE |
AEC 打断类型:2 命令词与唤醒词都可打断、1 仅命令词、0 仅唤醒词 |
USE_DUAL_MIC_ANY |
任意 MIC 均可识别(双麦无 BF/DOA/去混响时) |
DEREVERB_FREQ_RANGE_INDEX |
去混响起效频率范围索引 |
GCC_DOA_OUT_TYPE |
GCC DOA 输出类型:0-周期输出角度、1-唤醒词和命令词都输出角度(V3.0.19 新增,取代 AI_DOA_OUT_TYPE) |
NN_DOA_OUT_TYPE |
NN DOA 输出类型:1 唤醒词、2 命令词、3 两者都输出(V3.0.19 新增) |
USER_CODE_SWITCH_ENABLE |
两份 code 动态切换功能 |
NN 降噪参数在 projects\<工程名>\app\app_main\ci_ssp_config.c 的 nn_denoise_config 中配置:
| 字段 | 说明 |
|---|---|
alpha_forget |
遗忘因子(默认 0.75f) |
denoise_beta |
降噪强度系数,范围 0.0 < beta <= 1.0,1.0 为默认降噪强度(V3.0.19 新增) |
denoise_beta_adaptive_mode |
beta 自适应模式,配合 NN 噪声估计模块使用(V3.0.19 新增) |
denoise_ratio_upper_limit / _lower_limit |
beta 上限 / 下限值(推荐大于 0.85) |
denoise_energy_highest_thr / _lowest_thr |
噪声能量对数高低阈值,均分 4 个噪声能量分区,各分区取不同 beta |
GCC DOA 参数在 ci_ssp_config.c 的 gcc_doa_config 中配置:distance(麦间距 30~80mm)、energy_thr(能量阈值 0~1)、denoise_en 等。
V3.0.19 算法相关变化
- DOA 不再被 AEC 阻断:V3.0.19 起
components/alg/doa/ci_doa_apply.c移除了“AEC 工作状态时直接返回”的判断,AEC 运行期间 DOA 同样输出角度结果; - 前端算法执行顺序以
ci_ssp_config_t成员顺序为准:V3.0.19 中components/audio_in_manage/alg_preprocess.h将doa成员调整到aec之前(顺序:ALC → 噪声估计 → FFT → DOA → AEC → 去混响 → BF → NN 降噪 → 传统降噪 → IFFT → EQ → DRC → NN VAD → IIS 输出 → SED → PWK); - IIS 输出支持重采样到 32kHz:当开启
IF_USE_ANOTHER_CODEC_TO_GET_REF(外挂 codec 取 REF)、INNER_CODEC_AUDIO_IN_USE_RESAMPLE且使用 IIS 上传/输出时,audio_pre_rslt_iis_out会通过components/ci_common/ci_alg_common_api.c的ci_common_create(CI_COMMON_UPSAMPLE)与upsample_linear_interp()对 IIS0 输出做线性插值升采样(16kHz → 32kHz); - 新增算法公共接口
components/ci_common/ci_alg_common_api.h:ci_common_create()(创建句柄)、upsample_linear_interp()(线性插值升采样,无抗镜像滤波)、downsample_process()(带低通滤波的降采样),随 MCU 工程源码编译,同时提供预编译库libs/libci_common.a。
11. 自学习(CWSL)配置¶
| 宏定义 | 说明 |
|---|---|
CWSL_WAKEUP_NUMBER |
可学习的唤醒词数量(最大 2) |
WAKE_UP_ID |
学习的唤醒词对应的命令词 ID |
CWSL_REG_TIMES |
学习时每个词需说几遍(1、2 遍;FOR_REG_2TIMES_FLOW_V2=1 时最多 3 遍) |
CWSL_WAKEUP_THRESHOLD / CWSL_CMD_THRESHOLD |
学习的唤醒词 / 命令词阈值门限(越小越灵敏) |
CWSL_REG_VAD_LEVEL |
学习过程灵敏度:0 低(抗噪)、1 高 |
CICWSL_TOTAL_TEMPLATE |
可存储模板数量 |
注意
在线 SDK 只支持唤醒词学习。为避免指令词被学习成模板,请确保 cmd_info 表格中词条的语义 ID、命令词 ID 与需学习的词条语义 ID、命令词 ID 不重复。
12. 编译期互斥约束(部分)¶
SDK 在 user_config.h 中通过 #error 对非法组合做了强制校验,常见约束包括:
- 压缩算法 SPEEX / OPUS / G722 只能三选一;云端播放 MP3 / PCM / OPUS / G722 只能择一;
- 双麦算法(BF / GCC DOA / NN DOA / 去混响 / 任意 MIC)与
USE_CI_D12GS01J_BOARD(1312)不能同时使用; USE_ALC_AUTO_SWITCH_MODULE与双麦算法(GCC/NN DOA、去混响、BF、AEC)不能同时使用;MSG_COM_USE_UART_EN与CLOUD_UART_PROTOCOL_EN不能同时使用;- 离在线应用必须
USE_EXTERNAL_CRYSTAL_OSC = 1; USE_PWK与动态 ALC、NN 降噪、自学习等算法不能同时使用。
关于内存
音频上传/播放与压缩算法会显著消耗内存,SYS_HEAP_SIZE 需按所选组合配置(如 PCM 上传推荐 1024*130、SPEEX/MP3 推荐 1024*110)。具体组合请参考 ☞《CI13XX离在线大模型对话SDK开发流程》。
13. BNPU 核算法配置的联动构建(V3.0.19 新增)¶
V3.0.19 起,算法使能宏与内存表既决定 MCU 核工程的编译,也决定 BNPU 核算法库的构成,因此 makefile 增加了自动联动构建逻辑:
| 相关文件 / 变量 | 作用 |
|---|---|
system/user_alg_config.mk |
算法使能与 BNPU 端内存表的唯一来源,两个核工程共享 |
components/bnpu_core_alg_pro/project_file/config.a |
BNPU 工程的算法宏快照,由 utils/parse_user_alg_config_mk.lua sync 写入 |
utils/parse_user_alg_config_mk.lua |
check 比对 user_alg_config.mk 与 config.a(一致返回 0、不一致返回 1);sync 把宏以 key=value 写回快照(数学表达式会求值,如 30*1024 → 30720) |
LIB_BNPU_CORE_ALG_PRO |
固定为 ci130x_asr_alg_bnpu.a,位于 $(LIBS_PATH) |
联动规则(三个模板工程 makefile 一致):
libs/<LIBS_PATH>/ci130x_asr_alg_bnpu.a缺失或比system/user_alg_config.mk陈旧时触发重建;- 先
check宏快照:不一致提示alg config changed: sync config.a and rebuild bnpu project,一致(仅库陈旧)提示alg config identical: rebuild bnpu project (bnpu lib outdated/missing); - 随后
cleanBNPU 工程 →sync写入宏快照 → 编译 BNPU 核工程,完成后再继续 MCU 核工程的编译。
固件分区地址
firmware/config.ini 中的分区地址(command_addr、module_addr、user_file_addr、voice_addr、code1_size 等)在 V3.0.19 中相对 V2.2.7 整体偏移 0x1000(起始地址向低地址方向减小 0x1000),例如 command_addr 由 0x3C000 改为 0x3B000、code1_size 由 0x38000 改为 0x37000(V3.0.19 实际值:command_addr=0x3B000、module_addr=0x3D000、user_file_addr=0x1A9000、voice_addr=0x16F000、NV_addr=0x3FC000)。请以 SDK 包内 firmware/config.ini 与 合成分区bin文件.bat 为准,不要沿用旧版本地址表。