CSR867X sink例程的VM工程属性编译选项简析
Posted NiceBT
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSR867X sink例程的VM工程属性编译选项简析相关的知识,希望对你有一定的参考价值。
为了让CSR867x的开发更容易,现与思度科技联合推出CSR867x学习板【淘宝链接:思度科技CSR开发板】。
技术交流QQ群号:743434463
开发板会员QQ群号:725398389(凭订单号入群,赠PPT、项目源码、视频教程)
——————————正文分割线———————————–
1. 引言
很多初学者在刚开始接触ADK的sink例程的VM工程时,对VM工程编译选项的用途缺乏了解,以致于经常遇到编译问题而无法继续开发。
本文以ADK4.4的sink例程的VM工程编译选项为例,尝试给出一些经验和理解。
2. VM编译选项简介
sink工程的编译选项既可以在xIDE的工程属性中查看,也可以在sink文件夹中的headset_vmprops.xml文件中查看详细介绍。
编译选项 | 功能简介 |
---|---|
battery_operation | 产品是否由电池供电 |
device_id_pskey | 使能DIP描述协议 |
enable_gatt | 使能GATT服务,所有基于BLE的服务的基础 |
ble_power_off_behaviour | 在关机状态是否打开ble功能 |
enable_ancs_client | 使能ancs客户端,ancs协议是苹果外设专属的服务协议,基于GATT |
enable_hrs_client | 使能hrs客户端,hrs是心率监测协议,基于GATT |
enable_findme_client | 使能findme客户端,findme是呼叫设备协议,基于GATT |
enable_hid_client | 使能hid客户端,hid是设备接口协议,基于GATT |
enable_gatt_battery_server | 使能电池电量服务端,基于GATT |
enable_gatt_remote_battery_server | 使能远程电池电量服务端,基于GATT |
enable_gatt_peer_battery_server | 使能对等设备电池电量服务端,基于GATT |
enable_gatt_findme_server | 使能findme服务端,基于GATT |
enable_gatt_gaia_server | 使能GAIA服务端,GAIA是高通的一个应用层协议 |
enable_gatt_proximity_server | 使能接近服务端,基于GATT |
enable_heart_rate_server | 使能心率服务端,基于GATT |
enable_ir_remote | 使能红外遥控接收功能,可以解码红外遥控指令 |
enable_capsense | 使能触摸按键功能 |
enable_avrcp | 使能avrcp协议,音乐播放必备协议 |
enable_avrcp_now_playing | 使能avrcp协议的now playing特性,显示歌曲信息必备选项 |
enable_avrcp_player_app | 使能avrcp协议的player app特性,支持更多特性 |
enable_avrcp_browsing | 使能avrcp协议的browsing特性,支持菜单显示等特性 |
include_cvc | 使能高通的cvc语音通话算法,通话功能必备 |
three_way_calling | 使能hfp协议的三方通话功能,支持呼叫保持等功能 |
enable_subwoofer | 使能低音炮无线连接,支持通过蓝牙连接低音炮 |
enable_partymode | 使能聚会模式,支持2个蓝牙设备连接并操作同一设备 |
enable_usb | 使能USB device功能,是USB音乐播放、控制的基础选项 |
enable_usb_audio | 使能USB audio功能 |
copy_usb_ms_readme | 使能USB mass storage功能,可以枚举成一个移动存储设备 |
enable_speech_regcognition | 使能语音识别功能,支持简单的本地语音指令 |
enable_wired | 使能有线音频输入,包括模拟输入、SPDIF输入、I2S输入 |
enable_hi_res | 使能对Hi-Res的支持,支持88.2和96KHz 24bit的音频处理和输出 |
enable_fm | 使能对FM设备的支持,FM指的是无线电台接收模块 |
enable_fm_rds | 使能对FM设备的RDS特性的支持,RDS是通过FM传输的节目信息等 |
enable_pbap | 使能pbap协议,pbap是电话簿协议,可以将手机电话簿同步到音箱本地 |
enable_gaia | 使能GAIA协议,GAIA协议是高通的应用层协议,支持基于手机APP的定制功能 |
enable_gaia_rfcomm | 使能GAIA协议的rfcomm连接,rfcomm是传统蓝牙的数据传输通道 |
enable_gaia_persistent_user_eq_bank | 使能GAIA协议的用户EQ设置功能,可成组存储EQ设置,方便用户在手机端切换 |
enable_mapc | 使能消息访问协议,常用于车载蓝牙免提装置 |
enable_display | 使能显示功能,搭配官方开发板自带的显示屏 |
enable_voice_assistant | 使能语音助手,支持alexa的AMA协议 |
include_a2dp_extra_codecs | 支持a2dp的扩展解码格式,如aptx, ldac等 |
include_aptx_acl_sprint | 支持高通的aptx-ll解码格式 |
include_faststream | 支持高通的faststream解码格式 |
enable_peer_device | 使能对等设备支持,支持传统TWS连接(TWS耳机)、音频中继、广播模式(类JBL的一对多) |
enable_peer_battery_level | 使能对等设备电池电量通知,TWS从设备将电量通过avrcp通知给主设备 |
enable_upgrade | 使能固件升级功能 |
enable_anc | 使能主动降噪功能 |
enable_bredr_sc | 使能传统蓝牙的加密连接功能 |
enable_watchdog | 使能看门狗功能,当出现代码异常后可以自动软件复位 |
ahi_transport | 应用主机接口,在ADK4.2之前只有SPI可以配置ADK config tool,ADK4.4支持通过SPI、USB、TRB设备配置ADK config tool |
SW_VARIANT | 软件参数 |
HW_VARIANT | 硬件参数,与官方开发板型号有关,CSR867X选CNS10001v4即可 |
enable_selfie | 使能selfie功能,支持蓝牙自拍杆应用 |
Execution mode | 执行模式,建议用默认设置 |
Stack size | 运行时栈大小,建议设为0 |
Transport | 主机接口,默认是VM USB,如需支持串口应改为RAW |
Firmware | 固件参数,建议用默认设置 |
BlueCore hardware | 默认自动识别,编译时需连接SPI才能识别,否则报编译错误 |
Flash/ROM size | 默认自动识别 |
Build merge | 编译时是否生成xpv和xdv文件,用于flash烧录 |
Storage type | 设定固件存储类型,可以是内部Flash、ROM或外部Flash,建议默认设置 |
Panic action | 程序崩溃时的动作,建议默认设置 |
Define symbols | 工程全局宏定义 |
Libraries | 工程编译时包含的库,位于C:\\ADK_CSR867x.WIN.4.4.0.17\\tools\\lib\\BlueLab-7.4-Release\\assisted路径,包含时需去掉lib-前缀 |
SQIF Partitions | 外部Flash分区,建议默认设置 |
Firmware Image | 固件版本,默认使用官方固件,建议默认设置 |
Library Version | 库版本,建议默认设置 |
Generate map file | 生成映射文件,用于生成变量名、函数在编译出的固件中的地址等编译连接信息 |
3. 总结
- 大多数与功能相关的编译选项是可以关闭的,以释放出更多资源。
- 在打开或关闭编译选项时会出现编译异常,大多数是一些无关紧要的编译bug,可以自行手动修复。
- 可以通过修改XXXX_vmprops.xml的方式以增加或删除编译选项,编译过程中会根据此xml文件动态生成mak文件。
以上是关于CSR867X sink例程的VM工程属性编译选项简析的主要内容,如果未能解决你的问题,请参考以下文章