根据需求excel表格修改,修改完成,等待测试
This commit is contained in:
parent
a1a4fb183b
commit
b499020541
BIN
.codex_tmp/audio_requirements.pdf
Normal file
BIN
.codex_tmp/audio_requirements.pdf
Normal file
Binary file not shown.
36
.codex_tmp/inspect_audio_requirements.py
Normal file
36
.codex_tmp/inspect_audio_requirements.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
import json
|
||||||
|
import xlrd
|
||||||
|
|
||||||
|
path = r"E:\RD\Kaotings\KT25-1015_AC695x_SDK310\Doc\音频板开发需求 20260725.xls"
|
||||||
|
book = xlrd.open_workbook(path, formatting_info=True)
|
||||||
|
result = {"sheets": []}
|
||||||
|
|
||||||
|
for sheet in book.sheets():
|
||||||
|
rows = []
|
||||||
|
for r in range(sheet.nrows):
|
||||||
|
cells = []
|
||||||
|
for c in range(sheet.ncols):
|
||||||
|
value = sheet.cell_value(r, c)
|
||||||
|
if value not in ("", None):
|
||||||
|
cells.append({"cell": xlrd.formula.cellname(r, c), "value": value})
|
||||||
|
if cells:
|
||||||
|
rows.append(cells)
|
||||||
|
result["sheets"].append(
|
||||||
|
{
|
||||||
|
"name": sheet.name,
|
||||||
|
"nrows": sheet.nrows,
|
||||||
|
"ncols": sheet.ncols,
|
||||||
|
"merged": [
|
||||||
|
{
|
||||||
|
"range": (
|
||||||
|
f"{xlrd.formula.cellname(rlo, clo)}:"
|
||||||
|
f"{xlrd.formula.cellname(rhi - 1, chi - 1)}"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
for rlo, rhi, clo, chi in sheet.merged_cells
|
||||||
|
],
|
||||||
|
"nonempty_rows": rows,
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
print(json.dumps(result, ensure_ascii=False, indent=2))
|
||||||
BIN
.codex_tmp/pdf_page1.png
Normal file
BIN
.codex_tmp/pdf_page1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.2 KiB |
104
Doc/_req_dump.txt
Normal file
104
Doc/_req_dump.txt
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
=== SHEET: 总表 rows=92 cols=1 ===
|
||||||
|
音频板需求
|
||||||
|
一、 主控芯片要求:从SD卡、U盘读取文件,MP3、WAV等格式解码,U盘自动升级固件,立体声DAC输出,IIS输出(用于光纤数字音频输出),AD按键,多路I/O口。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
硬件需要修改处:1 按键带灯的应为PH端子、
|
||||||
|
2,灯带的端子为2P XH。
|
||||||
|
3,光纤看到有割焊盘。
|
||||||
|
4,灯带的正负极反了。第4通道的灯带亮了半小时左右,现在一直不亮了。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
20260717 样机先按这个功能调试。
|
||||||
|
|
||||||
|
1. 音频文件按照播放顺序命名,如00\01\02\03\04\05\06\07\08\09\10\11...............如果不命名也应能播放(按照系统默认的识别顺序)。
|
||||||
|
2 按键K1/K2/K3/K4对应音频输出通道CH1/CH2/CH3/CH4。每个通道包括一个光纤输出和一个3.5mm音频输出。
|
||||||
|
3. 上电后待机,此时不播放,所有按键灯同时闪烁(每秒钟闪亮一下,具体参考我发的视频效果)。此为待机状态。
|
||||||
|
4. 按K1键,开始播放00,CH1输出声音,其他通道无声。K1按键灯及两个音量按键灯长亮,其它按键灯不亮。(待机时下按另外3个通道按键是同样的功能,对应通道输出)。
|
||||||
|
5. 如果不操作,播放完当前歌曲后恢复待机状态(所有灯也要恢复)。
|
||||||
|
6. 在播放过程中,按下另一通道按键,则切换到另一通道输出(歌曲接着播放),按键灯跟着变过去。
|
||||||
|
7. 在播放过程中再按一次当前播放通道按键,则播放下一曲01。依此类推可播放多首歌曲(按文件命名顺序00-01-02-03…-00循环)。
|
||||||
|
8. 音量:0-30格,开机后默认音量值23,每按一次VOL+键+1格,最大音量可调到30;每按一次音量-键-1格,最小可调到2(保留一点微弱的声音)。音量不记忆,即每次返回待机后再次按键播放时恢复默认音量23。
|
||||||
|
9. LED灯条输出:与音频输出通道一致,即哪个通道输出声音就哪个灯条亮,其它不亮。待机时不亮。
|
||||||
|
|
||||||
|
以下功能备用------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
二、软件、功能(开发时以这个为默认)因为可能会有变动,最好能有些做成配置文件的形式来改变功能。我们以前做过一款产品,将不同的功能分配到了不同的按键(比如定义了40个不同的功能,分配了40个按键,只需要在配置里重新定义这个物理按键是什么功能,就实现了相对自由的调节功能,比如K1,可以配置成是播放,也可以配置成是VOL+,或者是其它功能,只用改配置文件,功能就变了,再比如,是闪灯还是长亮,这些都能配置)
|
||||||
|
1. 开发时应考虑所有按键功能、播放逻辑、按键灯及LED灯条、音量调节这些都要可以通过固件更改并用U盘对PCBA进行固件升级。PCBA固件升级完成后,应有提示,如:所有按键灯忽明忽暗变化。
|
||||||
|
2. 音频文件一般按照播放顺序命名,如00\01\02,如果不命名也应能播放。
|
||||||
|
3. 按键K1/K2/K3/K4对应音频输出通道CH1/CH2/CH3/CH4。每个通道包括一个光纤输出和一个3.5mm音频输出。
|
||||||
|
4. 上电后待机,此时不播放,所有按键灯同时闪烁(每秒钟亮20ms,具体看调试效果)。
|
||||||
|
5. 按K1键,开始播放00,CH1输出声音,其他通道无声。K1按键灯及两个音量按键灯长亮,其它按键灯闪。(待机时下按另外3个通道按键是同样的功能,对应通道输出)
|
||||||
|
6. 如果不操作,播放完当前歌曲后恢复待机状态(所有灯也要恢复)。
|
||||||
|
7. 在播放过程中,按下另一通道按键,则切换到另一通道输出(歌曲接着播放),按键灯跟着变过去。
|
||||||
|
8. 在播放过程中再按一次当前播放通道按键,则播放下一曲。依此类推可播放多首歌曲(按文件命名顺序00-01-02-03…-00循环)。
|
||||||
|
9. 音量:0-30格,开机后默认音量值23,每按一次音量+键+1格,最大音量可调到30;每按一次音量-键-1格,最小可调到3(保留一点微弱的声音)。音量不记忆,即每次返回待机后再次按键播放时为默认音量23。
|
||||||
|
10. LED灯条:与音频输出通道一致,即哪个通道输出声音就哪个灯条长亮,其它不亮。
|
||||||
|
|
||||||
|
|
||||||
|
LED灯带,用2脚插座。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
二、 基本功能举例:这一栏是可能的应用,最好能跟前面的功能进行综合,结合配置文件,以后能尽量的少去改动软件。
|
||||||
|
1. 上电待机,所有按键灯如跑马灯闪(每个按键灯按顺序依次各亮1秒,循环)。
|
||||||
|
2. 按CH1键,开始播放,CH1光纤和CH1 3.5mm输出声音,其他通道无声。CH1按键灯闪(每秒钟亮20毫秒),其它按键灯长亮。(待机时下按另外3个通道按键是同样的功能,对应通道输出)
|
||||||
|
3. 播放过程中,按下另一通道按键,则切换到另一通道输出(歌曲接着播放),所有按键灯跟着变。
|
||||||
|
4. 播放过程中再按一次当前播放通道按键,停止播放(不是暂停,而是回到待机)。所有灯恢复待机状态。
|
||||||
|
5. 播放完一首歌,恢复待机(所有灯也要恢复)。
|
||||||
|
6. 音量:默认70,最大100,最小20。播放过程中按VOL+/VOL-键可调整音量,每按一次+/-10,每次待机后恢复默认音量。(具体音量设置要根据实际情况测试后确定,可固件更改。)
|
||||||
|
|
||||||
|
7. 比如默认播放00文件,里面还有01,02,03,04,05,06,这样,00是默认文件,如果要点播放时,按1按键播放01, 2,播放过程中,如果只是切换通道时,比如开始按的CH2键,播放的02文件,再按CH3,播放的还是02文件,但通道是03通道, 3,如果不是播放过程中,按CH3,就是播放03文件.
|
||||||
|
8. 因为客人的按键功能可能有很多种选择,能否做成配置文件的方式,尽量减少不同客人对按键差异的改动。
|
||||||
|
|
||||||
|
参考板子:
|
||||||
|
=== SHEET: 版本1 rows=26 cols=16 ===
|
||||||
|
版本号/校验码 | 日期 | 序号 | 需求编号(与需求ID对应) | 模块/功能 | 原始要求(与需求ID对应) | 当前问题/反馈 | 本次修改内容 | 修改人 | 验证状态 | 差异/备注说明 | ⚠️ 待测试 | ✅ 通过 | 🛠️ 待修改 | 🔒 已归档 | 🚨 特急
|
||||||
|
V1.0 | 20260718.0 | 1.0 | AID-001 | 文件排序 | 音频文件按照播放顺序命名,如00\01\02\03\04\05\06\07\08\09\10\11...............如果不命名也应能播放(按照系统默认的识别顺序) | 没有命名的文件,在待机状态,按按键播放会出错,比如:同一个文件,取名为00可以播放,取名为AA,按键播放时报错。 但下一曲功能放到这个文件时,是可以播放的。 | 🛠️ 待修改
|
||||||
|
V1.0 | 20260718.0 | 2.0 | AID-002 | 按键功能 | 按键K1/K2/K3/K4对应音频输出通道CH1/CH2/CH3/CH4。每个通道包括一个光纤输出和一个3.5mm音频同时输出。 | K1与K4交换,K2与K3交换,灯条要按下图的顺序调整过来。 | 🛠️ 待修改
|
||||||
|
V1.0 | 20260718.0 | 3.0 | AID-003 | 待机状态 | 上电后待机,此时不播放,所有按键灯同时闪烁(每秒钟闪亮一下,具体参考我发的视频效果)。此为待机状态。 | 按键灯没有同时闪烁,闪烁速度可以参考IC边的指示灯。 | 🛠️ 待修改
|
||||||
|
V1.0 | 20260718.0 | 4.0 | AID-004 | 按键功能 | 按K1键,开始播放00,CH1输出声音,其他通道无声。K1按键灯及两个音量按键灯长亮,其它按键灯不亮。(待机时下按另外3个通道按键是同样的功能,对应通道输出)。例:按K2也是播放00文件,CH2出声,其它通道无声,K2按键灯及两个音量按键灯长亮,其它按键灯不亮。 | 播放完进入待机状态后,再按K1-K4任意按键时应该播放00文件,现在功能不对 | 🛠️ 待修改
|
||||||
|
V1.0 | 20260718.0 | 5.0 | AID-005 | 功能 | 如果不操作,播放完当前歌曲后恢复待机状态(所有灯也要恢复)。 | 按键灯没有同时闪烁 | 🛠️ 待修改
|
||||||
|
V1.0 | 20260718.0 | 6.0 | AID-006 | 按键功能 | 在播放过程中,按下另一通道按键,则切换到另一通道输出(歌曲正常播放,只变通道),按键灯跟着通道变过去。 比如:在播放00文件时,现在通道是CH1通道,按K2按键,播放的歌曲还是00文件,但通道切换到CH2通道 | ✅ 通过
|
||||||
|
V1.0 | 20260718.0 | 7.0 | AID-007 | 按键功能 | 在播放过程中再按一次当前播放通道按键,则播放下一曲。依此类推可播放多首歌曲(按文件命名顺序00-01-02-03…-00循环)。 比如:在播放00文件时,按K1,则播放01文件,正在播放01文件时,再按K1,测播放02文件。 | 、 | ✅ 通过
|
||||||
|
V1.0 | 20260718.0 | 8.0 | AID-008 | 音量默认 | 音量:0-30格,开机后默认音量值23,每按一次VOL+键+1格,最大音量可调到30;每按一次音量-键-1格,最小可调到2(保留一点微弱的声音)。音量不记忆,即每次返回待机后再次按键播放时恢复默认音量23。 | 没有测到功能。 | 🛠️ 待修改
|
||||||
|
V1.0 | 20260718.0 | 9.0 | AID-009 | 灯条输出 | LED灯条输出:与音频输出通道一致,即哪个通道输出声音就哪个灯条亮,其它不亮。待机时不亮。 | 🛠️ 待修改
|
||||||
|
0.0 | 按一次增加一格音量 | 没有测到功能。 | 🛠️ 待修改
|
||||||
|
0.0 | 按一次减一格音量 | 没有测到功能 | 🛠️ 待修改
|
||||||
|
AID-010 | 播放器支持的文件,MP3,WAV,FLAC,APE。 | ✅ 通过
|
||||||
|
AID-011 | 板上的指示灯:慢闪待机,快闪报错,长亮播放。 | ✅ 通过
|
||||||
|
接口定义。
|
||||||
|
=== SHEET: 需求ID(不能改) rows=15 cols=14 ===
|
||||||
|
版本号 | 日期 | 序号 | 需求编号 | 模块/功能 | 原始要求 | 当前问题/反馈 | 本次修改内容 | 修改人 | 验证状态 | 差异/备注说明 | ⚠️ 待验证 | ✅ 通过 | ❌ 未通过
|
||||||
|
1.0 | AID-001 | 文件排序 | 音频文件按照播放顺序命名,如00\01\02\03\04\05\06\07\08\09\10\11...............如果不命名也应能播放(按照系统默认的识别顺序)
|
||||||
|
2.0 | AID-002 | 按键功能 | 按键K1/K2/K3/K4对应音频输出通道CH1/CH2/CH3/CH4。每个通道包括一个光纤输出和一个3.5mm音频同时输出。
|
||||||
|
3.0 | AID-003 | 待机状态 | 上电后待机,此时不播放,所有按键灯同时闪烁(每秒钟闪亮一下,具体参考我发的视频效果)。此为待机状态。
|
||||||
|
4.0 | AID-004 | 按键功能 | 按K1键,开始播放00,CH1输出声音,其他通道无声。K1按键灯及两个音量按键灯长亮,其它按键灯不亮。(待机时下按另外3个通道按键是同样的功能,对应通道输出)。例:按K2也是播放00文件,CH2出声,其它通道无声,K2按键灯及两个音量按键灯长亮,其它按键灯不亮。
|
||||||
|
5.0 | AID-005 | 功能 | 如果不操作,播放完当前歌曲后恢复待机状态(所有灯也要恢复)。
|
||||||
|
6.0 | AID-006 | 按键功能 | 在播放过程中,按下另一通道按键,则切换到另一通道输出(歌曲正常播放,只变通道),按键灯跟着通道变过去。 比如:在播放00文件时,现在通道是CH1通道,按K2按键,播放的歌曲还是00文件,但通道切换到CH2通道
|
||||||
|
7.0 | AID-007 | 按键功能 | 在播放过程中再按一次当前播放通道按键,则播放下一曲。依此类推可播放多首歌曲(按文件命名顺序00-01-02-03…-00循环)。 比如:在播放00文件时,按K1,则播放01文件,正在播放01文件时,再按K1,测播放02文件。
|
||||||
|
8.0 | AID-008 | 音量默认 | 音量:0-30格,开机后默认音量值23,每按一次VOL+键+1格,最大音量可调到30;每按一次音量-键-1格,最小可调到2(保留一点微弱的声音)。音量不记忆,即每次返回待机后再次按键播放时恢复默认音量23。
|
||||||
|
9.0 | AID-009 | 灯条输出 | LED灯条输出:与音频输出通道一致,即哪个通道输出声音就哪个灯条亮,其它不亮。待机时不亮。
|
||||||
|
VL+ 按键 | 按一次增加一格音量
|
||||||
|
VL- 按键 | 按一次减一格音量
|
||||||
|
AID-010 | 播放器支持的文件,MP3,WAV,FLAC,APE。
|
||||||
|
AID-011 | 板上的指示灯:慢闪待机,快闪报错,长亮播放。
|
||||||
|
升级文件放U盘根目录下,上电时USB升级,升级完成后,快闪5次,
|
||||||
BIN
Doc/音频板开发需求 20260725.xls
Normal file
BIN
Doc/音频板开发需求 20260725.xls
Normal file
Binary file not shown.
243
Doc/音频板开发需求对照与实现状态.md
Normal file
243
Doc/音频板开发需求对照与实现状态.md
Normal file
@ -0,0 +1,243 @@
|
|||||||
|
# 音频板开发需求对照与实现状态
|
||||||
|
|
||||||
|
> **文档版本**:V1.0
|
||||||
|
> **生成日期**:2026-07-25
|
||||||
|
> **需求来源**:[音频板开发需求 20260725.xls](./音频板开发需求%2020260725.xls)
|
||||||
|
> **调试基准**:20260717 样机功能(以 Excel「版本1」跟踪表为准)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. 项目概述
|
||||||
|
|
||||||
|
AC695x SDK 音频板定制固件,主要实现:
|
||||||
|
|
||||||
|
- SD 卡 / U 盘读取并播放 MP3、WAV、FLAC、APE
|
||||||
|
- 4 路光纤 + 3.5mm 立体声输出(经 CS8406)
|
||||||
|
- K1~K4 通道播放与切歌,K5/K6 音量调节
|
||||||
|
- U 盘 OTA 升级及提示音
|
||||||
|
- 多路 LED:系统灯、按键灯、灯条、音量灯
|
||||||
|
|
||||||
|
**核心代码路径**:
|
||||||
|
|
||||||
|
|
||||||
|
| 模块 | 文件 |
|
||||||
|
| -------- | -------------------------------------------------------------------- |
|
||||||
|
| 主逻辑 | `apps/kaotings/kt.c`、`apps/kaotings/kt.h` |
|
||||||
|
| 按键入口 | `apps/soundbox/task_manager/music/music.c` |
|
||||||
|
| 音量默认/不记忆 | `cpu/br23/audio_config.h`、`cpu/br23/audio_common/app_audio.c` |
|
||||||
|
| U 盘升级检测 | `apps/soundbox/include/app_config.h` |
|
||||||
|
| 升级提示 | `apps/common/update/update.c`、`apps/common/dev_manager/dev_update.c` |
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. 硬件引脚定义(当前 `kt.h`)
|
||||||
|
|
||||||
|
|
||||||
|
| 功能 | 引脚 | 宏定义 |
|
||||||
|
| -------------------------- | ------------------------- | ------------------------ |
|
||||||
|
| 系统指示灯 SYS_LED | PB03 | `SYS_LED_PIN` |
|
||||||
|
| 音频输出 CH1~CH4(CS8406 TX EN) | PB10 / PB09 / PB08 / PB07 | `AUDIO_OUT_CHANNEL1~4` |
|
||||||
|
| **按键灯** KEY_LED CH1~CH4 | PC02 / PC01 / PC00 / PA12 | `KEY_LED_OUT_CHANNEL1~4` |
|
||||||
|
| **灯条** LED_BAR CH1~CH4 | PA09 / PA10 / PB02 / PB11 | `LED_BAR_OUT_CHANNEL1~4` |
|
||||||
|
| 音量+ 灯 KUP_LED | PC03 | `KUP_LED_PIN` |
|
||||||
|
| 音量- 灯 KDOWN_LED | PB00 | `KDOWN_LED_PIN` |
|
||||||
|
| CS8406 复位 | PA06 | 代码中 `IO_PORTA_06` |
|
||||||
|
|
||||||
|
|
||||||
|
> **注意**:按键灯与灯条为两路独立输出,代码分别使用 `KEY_LED_`* 与 `LED_BAR_*`。两组引脚归属已经过实机校正。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. 需求跟踪总表
|
||||||
|
|
||||||
|
调试基准为 Excel「版本1」表(20260718),状态说明:
|
||||||
|
|
||||||
|
- ✅ **通过**:已验证符合需求
|
||||||
|
- 🛠️ **待修改**:已实现但与需求不符,或功能缺失
|
||||||
|
- ⚠️ **待验证**:代码已有,尚未实测确认
|
||||||
|
|
||||||
|
|
||||||
|
| 需求 ID | 模块 | 需求摘要 | 验证状态 | 实现/差异说明 |
|
||||||
|
| ----------- | ------ | ----------------------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------- |
|
||||||
|
| **AID-001** | 文件排序 | 按 `00/01/02…` 命名顺序播放;未命名文件也应能播放 | ⚠️ 待验证 | 空闲按键优先 `kt_play_file_idx(0)` 播 `00.`*;失败回退 `music_player_play_first_file()`,待实测非 `00` 文件及后续切歌顺序 |
|
||||||
|
| **AID-002** | 按键映射 | K1~~K4 对应 CH1~~CH4;K1↔K4、K2↔K3 需交换 | ✅ 通过 | 按键、音频通道和灯条映射已实测通过 |
|
||||||
|
| **AID-003** | 待机状态 | 上电待机,所有**按键灯**同步慢闪(约 1s 一次) | ✅ 通过 | 4 路 `KEY_LED` 同步慢闪,`LED_BAR` 待机全灭 |
|
||||||
|
| **AID-004** | 按键播放 | 待机按 Kx 播 `00`,对应通道出声;当前 KEY_LED + KUP/KDOWN 常亮,其它 KEY_LED 灭 | ⚠️ 待验证 | 通道播放、当前 `KEY_LED` 和 `LED_BAR` 状态正常;`KUP_LED/KDOWN_LED` 播放时常亮效果待复测 |
|
||||||
|
| **AID-005** | 播完恢复 | 单曲播完恢复待机,所有灯恢复 | ✅ 通过 | 播完关闭通道并恢复待机灯态,实测通过 |
|
||||||
|
| **AID-006** | 播放切通道 | 播放中按其它通道键,只切输出不换曲 | ✅ 通过 | `kt_switch_channel_only()` → `kt_channel_outputs_on()` |
|
||||||
|
| **AID-007** | 同通道下一曲 | 播放中再按当前通道键,播下一首(00→01→02…循环) | ✅ 通过 | 先 `kt_play_file_idx(idx+1)`,失败再 `music_player_play_next()` |
|
||||||
|
| **AID-008** | 音量 | 2~30 格,默认 23,±1,不记忆 | ✅ 通过 | 默认值、上下限、±1 步进及不记忆逻辑已实测通过 |
|
||||||
|
| **AID-009** | 灯条 | 仅当前通道灯条亮,待机全灭 | ✅ 通过 | `LED_BAR` 仅当前播放通道常亮,待机全灭,实测通过 |
|
||||||
|
| **AID-010** | 格式支持 | MP3 / WAV / FLAC / APE | ✅ 通过 | SDK 播放器原生支持 |
|
||||||
|
| **AID-011** | 系统指示灯 | 慢闪待机、快闪报错、常亮播放 | ✅ 通过 | `KT_LED_IDLE/FAIL/PLAY/UPDATE` 状态机 |
|
||||||
|
| — | VOL+ | 按一次 +1 格 | ✅ 通过 | `KEY_USER_KEY_5` → `KEY_VOL_UP` |
|
||||||
|
| — | VOL- | 按一次 -1 格 | ✅ 通过 | `KEY_USER_KEY_6` → `KEY_VOL_DOWN`(最小 2) |
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. 功能逻辑说明(20260717 调试版)
|
||||||
|
|
||||||
|
### 4.1 按键 K1~K4(通道键)
|
||||||
|
|
||||||
|
```
|
||||||
|
待机(active_ch == 0)
|
||||||
|
└─ 按 Kx → 播 00.*(sd1 优先,udisk0 次之)
|
||||||
|
→ 失败则播盘内第一首
|
||||||
|
→ 成功:开 CHx 音频 + 灯条,SYS_LED 常亮
|
||||||
|
|
||||||
|
播放中(active_ch != 0 且 decoding)
|
||||||
|
├─ 同通道再按 → idx+1 下一曲(失败则 player next)
|
||||||
|
└─ 异通道按 → 只切 AUDIO/灯条,不换曲
|
||||||
|
|
||||||
|
播完 / 拔卡 / 出错
|
||||||
|
└─ kt_music_play_end_handler()
|
||||||
|
→ 关通道、active_ch=0、music_player_stop(0)
|
||||||
|
→ 音量恢复 23、SYS_LED 慢闪
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.2 按键 K5 / K6(音量键)
|
||||||
|
|
||||||
|
- K5(VOL+):`app_task_put_key_msg(KEY_VOL_UP)`,KUP_LED 常亮 3s 后慢闪
|
||||||
|
- K6(VOL-):音量 > 2 时 `KEY_VOL_DOWN`,KDOWN_LED 常亮 3s 后慢闪
|
||||||
|
|
||||||
|
### 4.3 LED 行为对照(需求 vs 当前)
|
||||||
|
|
||||||
|
|
||||||
|
| LED 类型 | 需求(20260717) | 当前实现 |
|
||||||
|
| ------------ | ----------------------- | -------------- |
|
||||||
|
| SYS_LED | 待机慢闪 / 播放常亮 / 报错快闪 | ✅ 已实现 |
|
||||||
|
| KEY_LED(按键灯) | 待机:4 路同步慢闪;播放:当前路常亮,其它灭 | ✅ 已实现并通过 |
|
||||||
|
| LED_BAR(灯条) | 播放:当前通道常亮;待机:全灭 | ✅ 已实现并通过 |
|
||||||
|
| KUP / KDOWN | 播放时常亮 | 🛠️ 播放时仍慢闪,待修改 |
|
||||||
|
|
||||||
|
|
||||||
|
### 4.4 U 盘升级
|
||||||
|
|
||||||
|
|
||||||
|
| 阶段 | 行为 |
|
||||||
|
| ----- | -------------------------------------------------------------------------- |
|
||||||
|
| 检测 | `TCFG_DEV_UPDATE_IF_NOFILE_ENABLE = 0`,设备上线即 `dev_update_check` |
|
||||||
|
| 升级中 | `kt_update_led_start()`:SYS_LED 快闪;`kt_update_start_remind()` 播 `TONE_SUP` |
|
||||||
|
| 升级完成 | 成功播 `TONE_EUP`;`kt_update_led_finish()` 恢复 LED |
|
||||||
|
| 提示音通路 | CS8406 RST 释放 → 4 路 AUDIO 全开 → `app_audio_output_start` → 等 START/STOP |
|
||||||
|
|
||||||
|
|
||||||
|
**已知限制**:SDK `update_success_boot_check()` 在同一次开机内会拦截相同 UFW 重复升级。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. 已修复问题记录
|
||||||
|
|
||||||
|
|
||||||
|
| 问题 | 原因 | 修复 |
|
||||||
|
| ------------------------- | -------------------------------------------- | -------------------------------------------- |
|
||||||
|
| U 盘不能升级 | `TCFG_DEV_UPDATE_IF_NOFILE_ENABLE=1` 仅无文件时检测 | 改为 `0` |
|
||||||
|
| 升级提示音偶发无声 | 异步 `tone_play` + 通道/CS8406 未就绪 | RST 时序 + 4 路全开 + 等 START/STOP |
|
||||||
|
| 播完再按键功能异常 | `active_ch=0` 但 `get_play_status()` 仍为 PLAY | 播完 `music_player_stop(0)`;判断加 `active_ch!=0` |
|
||||||
|
| `kt_voltage_all_off` 编译错误 | 函数定义顺序 | 调整函数顺序 |
|
||||||
|
| BT_LED 改名 | 需求统一为系统灯 | 全部改为 `SYS_LED` |
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. 待办事项(建议优先级)
|
||||||
|
|
||||||
|
### P0 — 待测试
|
||||||
|
|
||||||
|
1. **AID-001 文件排序**
|
||||||
|
- 验证无 `00.*` 时能否从待机播放普通命名文件,以及回退播放后的下一曲顺序
|
||||||
|
- 测试结果出来前暂不修改播放逻辑
|
||||||
|
2. **AID-004 播放灯态**
|
||||||
|
- 复测播放时当前 `KEY_LED`、`KUP_LED/KDOWN_LED` 是否持续常亮,其他 `KEY_LED` 是否熄灭
|
||||||
|
|
||||||
|
### P2 — 可选
|
||||||
|
|
||||||
|
1. 同开机重复升级测试:评估是否绕过 `update_success_boot_check`
|
||||||
|
2. 配置文件化按键/灯效(需求文档「备用功能」栏)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. 测试检查清单
|
||||||
|
|
||||||
|
### 基本播放
|
||||||
|
|
||||||
|
- [x] 上电待机:4 路 KEY_LED 同步慢闪(约 1s),LED_BAR 全灭,SYS_LED 慢闪
|
||||||
|
- [ ] 待机按 K1:播 `00.*`,CH1 有声,K1 + KUP + KDOWN 常亮,其它 KEY_LED 灭,CH1 灯条亮
|
||||||
|
- [x] 待机按 K2/K3/K4:通道、按键灯和灯条对应正确
|
||||||
|
- [x] 单曲播完:恢复待机灯态,音量回到 23
|
||||||
|
- [x] 播放中按异通道:不换曲,灯条/按键灯跟随
|
||||||
|
- [x] 播放中按同通道:下一曲 00→01→02…
|
||||||
|
|
||||||
|
### 文件与通道
|
||||||
|
|
||||||
|
- [x] SD 卡 `00.mp3` 与 U 盘同时存在:优先 SD
|
||||||
|
- [x] 文件命名为 `AA.mp3`(非 00):待机按键可播
|
||||||
|
- [x] K1/K4、K2/K3 物理位置与 CH 对应正确
|
||||||
|
|
||||||
|
### 音量
|
||||||
|
|
||||||
|
- [x] 默认音量 23
|
||||||
|
- [x] VOL+ 每次 +1,最大 30
|
||||||
|
- [x] VOL- 每次 -1,最小 2
|
||||||
|
- [x] 播完/待机后再播,音量恢复 23
|
||||||
|
|
||||||
|
### 升级
|
||||||
|
|
||||||
|
- [x] U 盘根目录放 `update.ufw`,上电可升级
|
||||||
|
- [x] 升级中 SYS_LED 快闪,播 `sup` 提示音
|
||||||
|
- [x] 升级成功播 `eup` 提示音,LED 恢复
|
||||||
|
|
||||||
|
### 异常
|
||||||
|
|
||||||
|
- [x] 无 `00.*` 且无音乐文件:对应通道快闪报错
|
||||||
|
- [ ] 拔卡/拔 U 盘:停止播放,恢复待机
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 8. 关键代码索引
|
||||||
|
|
||||||
|
### 按键分发(`music.c`)
|
||||||
|
|
||||||
|
```c
|
||||||
|
case KEY_USER_KEY_1 ~ KEY_USER_KEY_6:
|
||||||
|
err = kt_key_event_handler(key);
|
||||||
|
```
|
||||||
|
|
||||||
|
### 通道键核心(`kt.c`)
|
||||||
|
|
||||||
|
- `kt_channel_key_handler()` — 空闲播 00 / 同通道 next / 异通道切换
|
||||||
|
- `kt_play_success()` / `kt_play_fail()` — 成功/失败灯态
|
||||||
|
- `kt_music_play_end_handler()` — 播完收尾
|
||||||
|
|
||||||
|
### 音量
|
||||||
|
|
||||||
|
```c
|
||||||
|
// cpu/br23/audio_config.h
|
||||||
|
#define SYS_DEFAULT_VOL 23
|
||||||
|
|
||||||
|
// kt.c
|
||||||
|
static void kt_vol_reset_default(void);
|
||||||
|
```
|
||||||
|
|
||||||
|
### 升级开关
|
||||||
|
|
||||||
|
```c
|
||||||
|
// apps/soundbox/include/app_config.h
|
||||||
|
#define TCFG_DEV_UPDATE_IF_NOFILE_ENABLE 0
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 9. 版本历史
|
||||||
|
|
||||||
|
|
||||||
|
| 版本 | 日期 | 说明 |
|
||||||
|
| ---- | ---------- | -------------------- |
|
||||||
|
| V1.0 | 2026-07-25 | 初版:需求对照、实现状态、待办与测试清单 |
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*本文档由固件开发过程自动整理,如有需求变更请以最新 Excel 跟踪表为准。*
|
||||||
@ -3,6 +3,7 @@
|
|||||||
#include "update/update.h"
|
#include "update/update.h"
|
||||||
#include "update/update_loader_download.h"
|
#include "update/update_loader_download.h"
|
||||||
#include "app_config.h"
|
#include "app_config.h"
|
||||||
|
#include "kt.h"
|
||||||
|
|
||||||
#if defined(CONFIG_SD_UPDATE_ENABLE) || defined(CONFIG_USB_UPDATE_ENABLE)
|
#if defined(CONFIG_SD_UPDATE_ENABLE) || defined(CONFIG_USB_UPDATE_ENABLE)
|
||||||
#define DEV_UPDATE_EN 1
|
#define DEV_UPDATE_EN 1
|
||||||
@ -296,6 +297,9 @@ u16 dev_update_check(char *logo)
|
|||||||
return UPDATA_DEV_ERR;
|
return UPDATA_DEV_ERR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 升级开始:SYS_LED 快闪 + 播 TONE_SUP(四通道全开) */
|
||||||
|
kt_update_start_remind();
|
||||||
|
|
||||||
#if(USER_UART_UPDATE_ENABLE) && (UART_UPDATE_ROLE == UART_UPDATE_MASTER)
|
#if(USER_UART_UPDATE_ENABLE) && (UART_UPDATE_ROLE == UART_UPDATE_MASTER)
|
||||||
uart_update_send_update_ready(update_path);
|
uart_update_send_update_ready(update_path);
|
||||||
while (get_uart_update_sta()) {
|
while (get_uart_update_sta()) {
|
||||||
|
|||||||
@ -56,8 +56,8 @@ extern void usb_sie_close_all(void);
|
|||||||
#include "audio_config.h"
|
#include "audio_config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef UPDATE_LED_REMIND
|
#if defined(UPDATE_LED_REMIND) || defined(UPDATE_VOICE_REMIND)
|
||||||
#include "asm/pwm_led.h"
|
#include "kt.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define DEVICE_UPDATE_KEY_ERR BIT(30)
|
#define DEVICE_UPDATE_KEY_ERR BIT(30)
|
||||||
@ -123,7 +123,7 @@ void led_update_start(void)
|
|||||||
{
|
{
|
||||||
#ifdef UPDATE_LED_REMIND
|
#ifdef UPDATE_LED_REMIND
|
||||||
puts("led_update_start\n");
|
puts("led_update_start\n");
|
||||||
pwm_led_mode_set(PWM_LED_ALL_OFF);
|
kt_update_led_start();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,7 +131,7 @@ void led_update_finish(void)
|
|||||||
{
|
{
|
||||||
#ifdef UPDATE_LED_REMIND
|
#ifdef UPDATE_LED_REMIND
|
||||||
puts("led_update_finish\n");
|
puts("led_update_finish\n");
|
||||||
pwm_led_mode_set(PWM_LED0_LED1_FAST_FLASH);
|
kt_update_led_finish();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -161,7 +161,6 @@ int update_result_deal()
|
|||||||
return 0;
|
return 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
u8 key_voice_cnt = 0;
|
|
||||||
u16 result = 0;
|
u16 result = 0;
|
||||||
result = (g_updata_flag & 0xffff);
|
result = (g_updata_flag & 0xffff);
|
||||||
log_info("<--------update_result_deal=0x%x %x--------->\n", result, g_updata_flag >> 16);
|
log_info("<--------update_result_deal=0x%x %x--------->\n", result, g_updata_flag >> 16);
|
||||||
@ -174,8 +173,7 @@ int update_result_deal()
|
|||||||
if (result == UPDATA_NON || 0 == result) {
|
if (result == UPDATA_NON || 0 == result) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#ifdef UPDATE_VOICE_REMIND
|
|
||||||
#endif
|
|
||||||
if (result == UPDATA_SUCC) {
|
if (result == UPDATA_SUCC) {
|
||||||
#if(JL_EARPHONE_APP_EN && RCSP_UPDATE_EN)
|
#if(JL_EARPHONE_APP_EN && RCSP_UPDATE_EN)
|
||||||
u8 clear_update_flag = 0;
|
u8 clear_update_flag = 0;
|
||||||
@ -184,48 +182,13 @@ int update_result_deal()
|
|||||||
#if(JL_SMART_BOX_EXTRA_FLASH_OPT && RCSP_UPDATE_EN)
|
#if(JL_SMART_BOX_EXTRA_FLASH_OPT && RCSP_UPDATE_EN)
|
||||||
smartbox_eflash_update_flag_set(0);
|
smartbox_eflash_update_flag_set(0);
|
||||||
smartbox_eflash_flag_set(0);
|
smartbox_eflash_flag_set(0);
|
||||||
#endif
|
|
||||||
#ifdef UPDATE_LED_REMIND
|
|
||||||
led_update_finish();
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
extern u8 get_max_sys_vol(void);
|
#if defined(UPDATE_VOICE_REMIND) || defined(UPDATE_LED_REMIND)
|
||||||
while (1) {
|
/* 升级完成:播 TONE_EUP(四通道全开),并恢复 SYS_LED 正常功能 */
|
||||||
wdt_clear();
|
kt_update_finish_remind(result);
|
||||||
key_voice_cnt++;
|
|
||||||
#ifdef UPDATE_VOICE_REMIND
|
|
||||||
if (result == UPDATA_SUCC) {
|
|
||||||
puts("<<<<<<UPDATA_SUCC");
|
|
||||||
app_audio_set_volume(APP_AUDIO_STATE_WTONE, get_max_sys_vol() / 2, 1);
|
|
||||||
//tone_play_index(IDEX_TONE_NORMAL, 1);
|
|
||||||
tone_play(TONE_SIN_NORMAL, 1);
|
|
||||||
/* os_time_dly(25); */
|
|
||||||
/* tone_stop(); */
|
|
||||||
//delay_2ms(500);
|
|
||||||
os_time_dly(25);
|
|
||||||
puts(">>>>>>>>>>>\n");
|
|
||||||
} else {
|
|
||||||
log_info("!!!!!!!!!!!!!!!updata waring !!!!!!!!!!!=0x%x\n", result);
|
|
||||||
app_audio_set_volume(APP_AUDIO_STATE_WTONE, get_max_sys_vol() / 2, 1);
|
|
||||||
tone_play(TONE_SIN_NORMAL, 1);
|
|
||||||
//tone_play_index(IDEX_TONE_NORMAL, 1);
|
|
||||||
/* os_time_dly(50); */
|
|
||||||
/* tone_stop(); */
|
|
||||||
os_time_dly(25);
|
|
||||||
//delay_2ms(500);
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
if (key_voice_cnt > 5) {
|
|
||||||
key_voice_cnt = 0;
|
|
||||||
//delay_2ms(500);
|
|
||||||
//os_time_dly(100);
|
|
||||||
puts("enter_sys_soft_poweroff\n");
|
|
||||||
break;
|
|
||||||
//注:关机要慎重,要设置开机键
|
|
||||||
//enter_sys_soft_poweroff();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,40 +1,124 @@
|
|||||||
#include "kt.h"
|
#include "kt.h"
|
||||||
#include "key_event_deal.h"
|
#include "key_event_deal.h"
|
||||||
#include "music_player.h"
|
#include "music_player.h"
|
||||||
|
#include "audio_config.h"
|
||||||
|
#include "tone_player.h"
|
||||||
|
#include "update.h"
|
||||||
|
|
||||||
enum {
|
enum
|
||||||
|
{
|
||||||
KT_LED_IDLE = 0, /* 空闲慢闪 */
|
KT_LED_IDLE = 0, /* 空闲慢闪 */
|
||||||
KT_LED_PLAY, /* 播放常亮 */
|
KT_LED_PLAY, /* 播放常亮 */
|
||||||
KT_LED_FAIL, /* 播放失败快闪 */
|
KT_LED_FAIL, /* 播放失败快闪 */
|
||||||
|
KT_LED_UPDATE, /* 升级快闪 */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 定时器 50ms:慢闪 1s灭/1s亮,快闪 100ms灭/100ms亮 */
|
/* 定时器 50ms:慢闪 1s灭/1s亮,快闪 100ms灭/100ms亮 */
|
||||||
#define KT_LED_SLOW_HALF 20
|
#define KT_LED_SLOW_HALF 20
|
||||||
#define KT_LED_FAST_HALF 2
|
#define KT_LED_FAST_HALF 2
|
||||||
|
|
||||||
typedef struct _kt_var_ {
|
typedef struct _kt_var_
|
||||||
|
{
|
||||||
int kt_timer;
|
int kt_timer;
|
||||||
int t_cnt;
|
int t_cnt;
|
||||||
u8 led_mode;
|
u8 led_mode;
|
||||||
u8 active_ch; /* 1~6, 0=无按键播放会话 */
|
u8 active_ch; /* 1~4 按键播放会话中, 0=无 */
|
||||||
|
u8 fail_ch; /* 处于失败快闪的通道, 0=无 */
|
||||||
|
u8 file_idx; /* 当前播放文件序号, 00/01/02... */
|
||||||
} _kt_var;
|
} _kt_var;
|
||||||
|
|
||||||
static _kt_var kt_var;
|
static _kt_var kt_var;
|
||||||
#define __this (&kt_var)
|
#define __this (&kt_var)
|
||||||
|
|
||||||
static const char *const kt_file_tab[6] = {
|
static void kt_key_led_on(u8 ch)
|
||||||
"/01.mp3", "/02.mp3", "/03.mp3", "/04.mp3", "/05.mp3", "/06.mp3",
|
{
|
||||||
};
|
switch (ch)
|
||||||
|
{
|
||||||
|
case 1: KEY_LED_OUT_CH1_ON(); break;
|
||||||
|
case 2: KEY_LED_OUT_CH2_ON(); break;
|
||||||
|
case 3: KEY_LED_OUT_CH3_ON(); break;
|
||||||
|
case 4: KEY_LED_OUT_CH4_ON(); break;
|
||||||
|
default: break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kt_key_led_all_on(void)
|
||||||
|
{
|
||||||
|
KEY_LED_OUT_CH1_ON();
|
||||||
|
KEY_LED_OUT_CH2_ON();
|
||||||
|
KEY_LED_OUT_CH3_ON();
|
||||||
|
KEY_LED_OUT_CH4_ON();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kt_key_led_all_off(void)
|
||||||
|
{
|
||||||
|
KEY_LED_OUT_CH1_OFF();
|
||||||
|
KEY_LED_OUT_CH2_OFF();
|
||||||
|
KEY_LED_OUT_CH3_OFF();
|
||||||
|
KEY_LED_OUT_CH4_OFF();
|
||||||
|
}
|
||||||
|
static void kt_led_bar_on(u8 ch)
|
||||||
|
{
|
||||||
|
switch (ch)
|
||||||
|
{
|
||||||
|
case 1:
|
||||||
|
LED_BAR_OUT_CH1_ON();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
LED_BAR_OUT_CH2_ON();
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
LED_BAR_OUT_CH3_ON();
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
LED_BAR_OUT_CH4_ON();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kt_led_bar_all_off(void)
|
||||||
|
{
|
||||||
|
LED_BAR_OUT_CH1_OFF();
|
||||||
|
LED_BAR_OUT_CH2_OFF();
|
||||||
|
LED_BAR_OUT_CH3_OFF();
|
||||||
|
LED_BAR_OUT_CH4_OFF();
|
||||||
|
}
|
||||||
|
|
||||||
static void kt_led_set_mode(u8 mode)
|
static void kt_led_set_mode(u8 mode)
|
||||||
{
|
{
|
||||||
__this->led_mode = mode;
|
__this->led_mode = mode;
|
||||||
__this->t_cnt = 0;
|
__this->t_cnt = 0;
|
||||||
if (mode == KT_LED_PLAY) {
|
|
||||||
BT_LED_ON();
|
kt_key_led_all_off();
|
||||||
|
kt_led_bar_all_off();
|
||||||
|
KUP_LED_OFF();
|
||||||
|
KDOWN_LED_OFF();
|
||||||
|
|
||||||
|
if (mode == KT_LED_PLAY)
|
||||||
|
{
|
||||||
|
SYS_LED_ON();
|
||||||
|
kt_key_led_on(__this->active_ch);
|
||||||
|
kt_led_bar_on(__this->active_ch);
|
||||||
|
KUP_LED_ON();
|
||||||
|
KDOWN_LED_ON();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SYS_LED_OFF();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void kt_clear_fail_to_idle(void)
|
||||||
|
{
|
||||||
|
if (__this->fail_ch == 0)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
__this->fail_ch = 0;
|
||||||
|
kt_led_set_mode(KT_LED_IDLE);
|
||||||
|
}
|
||||||
static void kt_audio_all_off(void)
|
static void kt_audio_all_off(void)
|
||||||
{
|
{
|
||||||
AUDIO_OUT_CH1_OFF();
|
AUDIO_OUT_CH1_OFF();
|
||||||
@ -43,280 +127,500 @@ static void kt_audio_all_off(void)
|
|||||||
AUDIO_OUT_CH4_OFF();
|
AUDIO_OUT_CH4_OFF();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void kt_channel_outputs_off(u8 ch)
|
static void kt_audio_all_on(void)
|
||||||
{
|
{
|
||||||
switch (ch) {
|
AUDIO_OUT_CH1_ON();
|
||||||
case 1:
|
AUDIO_OUT_CH2_ON();
|
||||||
AUDIO_OUT_CH1_OFF();
|
AUDIO_OUT_CH3_ON();
|
||||||
VOLTAGE_OUT_CH1_OFF();
|
AUDIO_OUT_CH4_ON();
|
||||||
VLED_OUT_CH1_OFF();
|
}
|
||||||
break;
|
|
||||||
case 2:
|
/* 升级提示音需要四路音频输出同时打开,LED 仍由状态机控制。 */
|
||||||
AUDIO_OUT_CH2_OFF();
|
static void kt_all_channels_on(void)
|
||||||
VOLTAGE_OUT_CH2_OFF();
|
{
|
||||||
VLED_OUT_CH2_OFF();
|
kt_audio_all_on();
|
||||||
break;
|
}
|
||||||
case 3:
|
|
||||||
AUDIO_OUT_CH3_OFF();
|
static void kt_all_channels_off(void)
|
||||||
VOLTAGE_OUT_CH3_OFF();
|
{
|
||||||
VLED_OUT_CH3_OFF();
|
kt_audio_all_off();
|
||||||
break;
|
}
|
||||||
case 4:
|
|
||||||
AUDIO_OUT_CH4_OFF();
|
/* CS8406 复位释放,保证 IIS 通路稳定 */
|
||||||
VOLTAGE_OUT_CH4_OFF();
|
static void kt_cs8406_reset_release(void)
|
||||||
VLED_OUT_CH4_OFF();
|
{
|
||||||
break;
|
gpio_set_direction(IO_PORTA_06, 0);
|
||||||
case 5:
|
gpio_set_output_value(IO_PORTA_06, 0);
|
||||||
VLED_OUT_CH5_OFF();
|
os_time_dly(5); /* ~50ms 保持复位 */
|
||||||
break;
|
gpio_set_output_value(IO_PORTA_06, 1);
|
||||||
case 6:
|
os_time_dly(30); /* ~300ms 等待芯片就绪 */
|
||||||
VLED_OUT_CH6_OFF();
|
}
|
||||||
break;
|
|
||||||
default:
|
static void kt_channel_drive_off(u8 ch)
|
||||||
break;
|
{
|
||||||
|
switch (ch)
|
||||||
|
{
|
||||||
|
case 1: AUDIO_OUT_CH1_OFF(); break;
|
||||||
|
case 2: AUDIO_OUT_CH2_OFF(); break;
|
||||||
|
case 3: AUDIO_OUT_CH3_OFF(); break;
|
||||||
|
case 4: AUDIO_OUT_CH4_OFF(); break;
|
||||||
|
default: break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 音频通道互斥切换;灯光由 kt_led_set_mode() 统一处理。 */
|
||||||
static void kt_channel_outputs_on(u8 ch)
|
static void kt_channel_outputs_on(u8 ch)
|
||||||
{
|
{
|
||||||
/* 音频通道互斥:先全关再开对应通道(仅 1~4 有音频/电压脚) */
|
|
||||||
kt_audio_all_off();
|
kt_audio_all_off();
|
||||||
VOLTAGE_OUT_CH1_OFF();
|
|
||||||
VOLTAGE_OUT_CH2_OFF();
|
|
||||||
VOLTAGE_OUT_CH3_OFF();
|
|
||||||
VOLTAGE_OUT_CH4_OFF();
|
|
||||||
VLED_OUT_CH1_OFF();
|
|
||||||
VLED_OUT_CH2_OFF();
|
|
||||||
VLED_OUT_CH3_OFF();
|
|
||||||
VLED_OUT_CH4_OFF();
|
|
||||||
VLED_OUT_CH5_OFF();
|
|
||||||
VLED_OUT_CH6_OFF();
|
|
||||||
|
|
||||||
switch (ch) {
|
switch (ch)
|
||||||
case 1:
|
{
|
||||||
AUDIO_OUT_CH1_ON();
|
case 1: AUDIO_OUT_CH1_ON(); break;
|
||||||
VOLTAGE_OUT_CH1_ON();
|
case 2: AUDIO_OUT_CH2_ON(); break;
|
||||||
VLED_OUT_CH1_ON();
|
case 3: AUDIO_OUT_CH3_ON(); break;
|
||||||
break;
|
case 4: AUDIO_OUT_CH4_ON(); break;
|
||||||
case 2:
|
default: break;
|
||||||
AUDIO_OUT_CH2_ON();
|
|
||||||
VOLTAGE_OUT_CH2_ON();
|
|
||||||
VLED_OUT_CH2_ON();
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
AUDIO_OUT_CH3_ON();
|
|
||||||
VOLTAGE_OUT_CH3_ON();
|
|
||||||
VLED_OUT_CH3_ON();
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
AUDIO_OUT_CH4_ON();
|
|
||||||
VOLTAGE_OUT_CH4_ON();
|
|
||||||
VLED_OUT_CH4_ON();
|
|
||||||
break;
|
|
||||||
case 5:
|
|
||||||
/* 硬件无 AUDIO/VOLTAGE 通道5,仅 VLED */
|
|
||||||
VLED_OUT_CH5_ON();
|
|
||||||
break;
|
|
||||||
case 6:
|
|
||||||
/* 硬件无 AUDIO/VOLTAGE 通道6,仅 VLED */
|
|
||||||
VLED_OUT_CH6_ON();
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static void kt_gpio_out_init(u32 pin)
|
||||||
|
{
|
||||||
|
gpio_set_pull_down(pin, 0);
|
||||||
|
gpio_set_pull_up(pin, 0);
|
||||||
|
gpio_set_direction(pin, 0);
|
||||||
|
gpio_set_output_value(pin, 0);
|
||||||
|
}
|
||||||
|
|
||||||
void kt_boot_init(void)
|
void kt_boot_init(void)
|
||||||
{
|
{
|
||||||
//CS8406 RST
|
// CS8406 RST
|
||||||
gpio_set_pull_down(IO_PORTA_06,0);
|
gpio_set_pull_down(IO_PORTA_06, 0);
|
||||||
gpio_set_pull_up(IO_PORTA_06,0);
|
gpio_set_pull_up(IO_PORTA_06, 0);
|
||||||
gpio_set_direction(IO_PORTA_06,0);
|
gpio_set_direction(IO_PORTA_06, 0);
|
||||||
gpio_set_output_value(IO_PORTA_06,0);
|
gpio_set_output_value(IO_PORTA_06, 0);
|
||||||
|
|
||||||
//iis 双绑引脚高阻化
|
// iis 双绑引脚高阻化
|
||||||
gpio_set_pull_down(IO_PORTA_01,0);
|
gpio_set_pull_down(IO_PORTA_01, 0);
|
||||||
gpio_set_pull_up(IO_PORTA_01,0);
|
gpio_set_pull_up(IO_PORTA_01, 0);
|
||||||
gpio_set_direction(IO_PORTA_01,1);
|
gpio_set_direction(IO_PORTA_01, 1);
|
||||||
gpio_set_die(IO_PORTA_01,1);
|
gpio_set_die(IO_PORTA_01, 1);
|
||||||
|
|
||||||
gpio_set_pull_down(IO_PORTA_05,0);
|
gpio_set_pull_down(IO_PORTA_05, 0);
|
||||||
gpio_set_pull_up(IO_PORTA_05,0);
|
gpio_set_pull_up(IO_PORTA_05, 0);
|
||||||
gpio_set_direction(IO_PORTA_05,1);
|
gpio_set_direction(IO_PORTA_05, 1);
|
||||||
gpio_set_die(IO_PORTA_05,1);
|
gpio_set_die(IO_PORTA_05, 1);
|
||||||
|
|
||||||
//CS8406 TX EN
|
// CS8406 TX EN
|
||||||
gpio_set_pull_down(AUDIO_OUT_CHANNEL1,0);
|
kt_gpio_out_init(AUDIO_OUT_CHANNEL1);
|
||||||
gpio_set_pull_up(AUDIO_OUT_CHANNEL1,0);
|
kt_gpio_out_init(AUDIO_OUT_CHANNEL2);
|
||||||
gpio_set_direction(AUDIO_OUT_CHANNEL1,0);
|
kt_gpio_out_init(AUDIO_OUT_CHANNEL3);
|
||||||
gpio_set_output_value(AUDIO_OUT_CHANNEL1,0);
|
kt_gpio_out_init(AUDIO_OUT_CHANNEL4);
|
||||||
|
|
||||||
gpio_set_pull_down(AUDIO_OUT_CHANNEL2,0);
|
// key led output
|
||||||
gpio_set_pull_up(AUDIO_OUT_CHANNEL2,0);
|
kt_gpio_out_init(KEY_LED_OUT_CHANNEL1);
|
||||||
gpio_set_direction(AUDIO_OUT_CHANNEL2,0);
|
kt_gpio_out_init(KEY_LED_OUT_CHANNEL2);
|
||||||
gpio_set_output_value(AUDIO_OUT_CHANNEL2,0);
|
kt_gpio_out_init(KEY_LED_OUT_CHANNEL3);
|
||||||
|
kt_gpio_out_init(KEY_LED_OUT_CHANNEL4);
|
||||||
|
|
||||||
gpio_set_pull_down(AUDIO_OUT_CHANNEL3,0);
|
// led bar output
|
||||||
gpio_set_pull_up(AUDIO_OUT_CHANNEL3,0);
|
kt_gpio_out_init(LED_BAR_OUT_CHANNEL1);
|
||||||
gpio_set_direction(AUDIO_OUT_CHANNEL3,0);
|
kt_gpio_out_init(LED_BAR_OUT_CHANNEL2);
|
||||||
gpio_set_output_value(AUDIO_OUT_CHANNEL3,0);
|
kt_gpio_out_init(LED_BAR_OUT_CHANNEL3);
|
||||||
|
kt_gpio_out_init(LED_BAR_OUT_CHANNEL4);
|
||||||
|
|
||||||
gpio_set_pull_down(AUDIO_OUT_CHANNEL4,0);
|
// vol key led output
|
||||||
gpio_set_pull_up(AUDIO_OUT_CHANNEL4,0);
|
kt_gpio_out_init(KUP_LED_PIN);
|
||||||
gpio_set_direction(AUDIO_OUT_CHANNEL4,0);
|
kt_gpio_out_init(KDOWN_LED_PIN);
|
||||||
gpio_set_output_value(AUDIO_OUT_CHANNEL4,0);
|
|
||||||
|
|
||||||
//voltage output
|
// sys led
|
||||||
gpio_set_pull_down(VOLTAGE_OUT_CHANNEL1,0);
|
kt_gpio_out_init(SYS_LED_PIN);
|
||||||
gpio_set_pull_up(VOLTAGE_OUT_CHANNEL1,0);
|
|
||||||
gpio_set_direction(VOLTAGE_OUT_CHANNEL1,0);
|
|
||||||
gpio_set_output_value(VOLTAGE_OUT_CHANNEL1,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VOLTAGE_OUT_CHANNEL2,0);
|
|
||||||
gpio_set_pull_up(VOLTAGE_OUT_CHANNEL2,0);
|
|
||||||
gpio_set_direction(VOLTAGE_OUT_CHANNEL2,0);
|
|
||||||
gpio_set_output_value(VOLTAGE_OUT_CHANNEL2,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VOLTAGE_OUT_CHANNEL3,0);
|
|
||||||
gpio_set_pull_up(VOLTAGE_OUT_CHANNEL3,0);
|
|
||||||
gpio_set_direction(VOLTAGE_OUT_CHANNEL3,0);
|
|
||||||
gpio_set_output_value(VOLTAGE_OUT_CHANNEL3,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VOLTAGE_OUT_CHANNEL4,0);
|
|
||||||
gpio_set_pull_up(VOLTAGE_OUT_CHANNEL4,0);
|
|
||||||
gpio_set_direction(VOLTAGE_OUT_CHANNEL4,0);
|
|
||||||
gpio_set_output_value(VOLTAGE_OUT_CHANNEL4,0);
|
|
||||||
|
|
||||||
//vled output
|
|
||||||
gpio_set_pull_down(VLED_OUT_CHANNEL1,0);
|
|
||||||
gpio_set_pull_up(VLED_OUT_CHANNEL1,0);
|
|
||||||
gpio_set_direction(VLED_OUT_CHANNEL1,0);
|
|
||||||
gpio_set_output_value(VLED_OUT_CHANNEL1,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VLED_OUT_CHANNEL2,0);
|
|
||||||
gpio_set_pull_up(VLED_OUT_CHANNEL2,0);
|
|
||||||
gpio_set_direction(VLED_OUT_CHANNEL2,0);
|
|
||||||
gpio_set_output_value(VLED_OUT_CHANNEL2,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VLED_OUT_CHANNEL3,0);
|
|
||||||
gpio_set_pull_up(VLED_OUT_CHANNEL3,0);
|
|
||||||
gpio_set_direction(VLED_OUT_CHANNEL3,0);
|
|
||||||
gpio_set_output_value(VLED_OUT_CHANNEL3,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VLED_OUT_CHANNEL4,0);
|
|
||||||
gpio_set_pull_up(VLED_OUT_CHANNEL4,0);
|
|
||||||
gpio_set_direction(VLED_OUT_CHANNEL4,0);
|
|
||||||
gpio_set_output_value(VLED_OUT_CHANNEL4,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VLED_OUT_CHANNEL5,0);
|
|
||||||
gpio_set_pull_up(VLED_OUT_CHANNEL5,0);
|
|
||||||
gpio_set_direction(VLED_OUT_CHANNEL5,0);
|
|
||||||
gpio_set_output_value(VLED_OUT_CHANNEL5,0);
|
|
||||||
|
|
||||||
gpio_set_pull_down(VLED_OUT_CHANNEL6,0);
|
|
||||||
gpio_set_pull_up(VLED_OUT_CHANNEL6,0);
|
|
||||||
gpio_set_direction(VLED_OUT_CHANNEL6,0);
|
|
||||||
gpio_set_output_value(VLED_OUT_CHANNEL6,0);
|
|
||||||
|
|
||||||
//bt led
|
|
||||||
gpio_set_pull_down(BT_LED_PIN,0);
|
|
||||||
gpio_set_pull_up(BT_LED_PIN,0);
|
|
||||||
gpio_set_direction(BT_LED_PIN,0);
|
|
||||||
gpio_set_output_value(BT_LED_PIN,0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void timer_cb(void *priv)
|
static void timer_cb(void *priv)
|
||||||
{
|
{
|
||||||
u8 half;
|
u8 half;
|
||||||
|
u8 on;
|
||||||
|
|
||||||
if (__this->led_mode == KT_LED_PLAY) {
|
(void)priv;
|
||||||
BT_LED_ON();
|
|
||||||
|
if (__this->led_mode == KT_LED_PLAY)
|
||||||
|
{
|
||||||
|
SYS_LED_ON();
|
||||||
|
kt_key_led_all_off();
|
||||||
|
kt_key_led_on(__this->active_ch);
|
||||||
|
kt_led_bar_all_off();
|
||||||
|
kt_led_bar_on(__this->active_ch);
|
||||||
|
KUP_LED_ON();
|
||||||
|
KDOWN_LED_ON();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
half = (__this->led_mode == KT_LED_FAIL) ? KT_LED_FAST_HALF : KT_LED_SLOW_HALF;
|
half = (__this->led_mode == KT_LED_FAIL || __this->led_mode == KT_LED_UPDATE)
|
||||||
|
? KT_LED_FAST_HALF
|
||||||
|
: KT_LED_SLOW_HALF;
|
||||||
__this->t_cnt++;
|
__this->t_cnt++;
|
||||||
if (__this->t_cnt <= half) {
|
if (__this->t_cnt <= half)
|
||||||
BT_LED_OFF();
|
{
|
||||||
} else if (__this->t_cnt <= (half * 2)) {
|
on = 0;
|
||||||
BT_LED_ON();
|
}
|
||||||
} else {
|
else if (__this->t_cnt <= (half * 2))
|
||||||
|
{
|
||||||
|
on = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
__this->t_cnt = 0;
|
__this->t_cnt = 0;
|
||||||
|
on = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
kt_led_bar_all_off();
|
||||||
|
KUP_LED_OFF();
|
||||||
|
KDOWN_LED_OFF();
|
||||||
|
|
||||||
|
if (on)
|
||||||
|
{
|
||||||
|
SYS_LED_ON();
|
||||||
|
if (__this->led_mode == KT_LED_IDLE)
|
||||||
|
{
|
||||||
|
kt_key_led_all_on();
|
||||||
|
}
|
||||||
|
else if (__this->led_mode == KT_LED_FAIL)
|
||||||
|
{
|
||||||
|
kt_key_led_on(__this->fail_ch);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SYS_LED_OFF();
|
||||||
|
kt_key_led_all_off();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void start_time_base(u32 time_base_ms)
|
static void start_time_base(u32 time_base_ms)
|
||||||
{
|
{
|
||||||
if (__this->kt_timer) {
|
if (__this->kt_timer)
|
||||||
|
{
|
||||||
sys_timer_del(__this->kt_timer);
|
sys_timer_del(__this->kt_timer);
|
||||||
}
|
}
|
||||||
__this->t_cnt = 0;
|
__this->t_cnt = 0;
|
||||||
__this->kt_timer = sys_timer_add(NULL, timer_cb, time_base_ms);
|
__this->kt_timer = sys_timer_add(NULL, timer_cb, time_base_ms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 音量不记忆:空闲时固定恢复为 SYS_DEFAULT_VOL */
|
||||||
|
static void kt_vol_reset_default(void)
|
||||||
|
{
|
||||||
|
app_audio_set_volume(APP_AUDIO_STATE_MUSIC, SYS_DEFAULT_VOL, 1);
|
||||||
|
printf("kt vol reset to %d\n", SYS_DEFAULT_VOL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kt_update_play_tone(const char *name)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
u32 t;
|
||||||
|
extern u8 get_max_sys_vol(void);
|
||||||
|
|
||||||
|
tone_play_stop();
|
||||||
|
if (music_player_get_play_status() == FILE_DEC_STATUS_PLAY)
|
||||||
|
{
|
||||||
|
music_player_stop(0);
|
||||||
|
os_time_dly(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
kt_cs8406_reset_release();
|
||||||
|
kt_all_channels_on();
|
||||||
|
app_audio_output_start();
|
||||||
|
|
||||||
|
app_audio_state_switch(APP_AUDIO_STATE_WTONE, get_max_sys_vol());
|
||||||
|
app_audio_set_volume(APP_AUDIO_STATE_WTONE, get_max_sys_vol(), 1);
|
||||||
|
|
||||||
|
printf("kt_update_play_tone: %s\n", name);
|
||||||
|
err = tone_play(name, 1);
|
||||||
|
printf("kt_update_play_tone err=%d\n", err);
|
||||||
|
|
||||||
|
/* 等 DAC 真正启动后再判 START,避免 dec 已置位但无声 */
|
||||||
|
for (t = 0; t < 100; t++)
|
||||||
|
{
|
||||||
|
wdt_clear();
|
||||||
|
if (tone_get_dec_status() == TONE_START)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
os_time_dly(1);
|
||||||
|
}
|
||||||
|
printf("kt_tone wait_start=%d dec=%d get=%d\n",
|
||||||
|
t, tone_get_dec_status(), tone_get_status());
|
||||||
|
|
||||||
|
if (tone_get_dec_status() == TONE_START)
|
||||||
|
{
|
||||||
|
for (t = 0; t < 1500; t++)
|
||||||
|
{
|
||||||
|
wdt_clear();
|
||||||
|
if (tone_get_dec_status() != TONE_START)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
os_time_dly(1);
|
||||||
|
}
|
||||||
|
printf("kt_tone wait_end=%d\n", t);
|
||||||
|
os_time_dly(20); /* 播完后稍留,避免尾音被截断 */
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
printf("kt_tone start fail, keep ch on for a while\n");
|
||||||
|
os_time_dly(200);
|
||||||
|
}
|
||||||
|
|
||||||
|
kt_all_channels_off();
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_update_led_start(void)
|
||||||
|
{
|
||||||
|
printf("kt_update_led_start\n");
|
||||||
|
if (!__this->kt_timer)
|
||||||
|
{
|
||||||
|
start_time_base(50);
|
||||||
|
}
|
||||||
|
kt_led_set_mode(KT_LED_UPDATE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_update_led_finish(void)
|
||||||
|
{
|
||||||
|
printf("kt_update_led_finish\n");
|
||||||
|
/* 升级结束:恢复 SYS_LED 正常空闲慢闪 */
|
||||||
|
__this->fail_ch = 0;
|
||||||
|
kt_led_set_mode(KT_LED_IDLE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_update_start_remind(void)
|
||||||
|
{
|
||||||
|
printf("kt_update_start_remind\n");
|
||||||
|
kt_update_led_start();
|
||||||
|
kt_update_play_tone(TONE_SUP);
|
||||||
|
}
|
||||||
|
|
||||||
|
void kt_update_finish_remind(u16 result)
|
||||||
|
{
|
||||||
|
printf("kt_update_finish_remind result=0x%x\n", result);
|
||||||
|
if (result == UPDATA_SUCC)
|
||||||
|
{
|
||||||
|
kt_update_play_tone(TONE_EUP);
|
||||||
|
}
|
||||||
|
kt_update_led_finish();
|
||||||
|
}
|
||||||
|
|
||||||
void kt_init(void)
|
void kt_init(void)
|
||||||
{
|
{
|
||||||
|
printf("kt_init\n");
|
||||||
__this->active_ch = 0;
|
__this->active_ch = 0;
|
||||||
|
__this->fail_ch = 0;
|
||||||
|
__this->file_idx = 0;
|
||||||
kt_led_set_mode(KT_LED_IDLE);
|
kt_led_set_mode(KT_LED_IDLE);
|
||||||
//CS8406 RST
|
// CS8406 RST
|
||||||
gpio_set_output_value(IO_PORTA_06, 1);
|
gpio_set_output_value(IO_PORTA_06, 1);
|
||||||
/* 默认关闭各音频通道,按键播放时再打开对应通道 */
|
/* 默认关闭各音频通道,按键播放时再打开对应通道 */
|
||||||
kt_audio_all_off();
|
kt_audio_all_off();
|
||||||
|
kt_key_led_all_off();
|
||||||
|
kt_led_bar_all_off();
|
||||||
|
KUP_LED_OFF();
|
||||||
|
KDOWN_LED_OFF();
|
||||||
|
kt_vol_reset_default();
|
||||||
start_time_base(50);
|
start_time_base(50);
|
||||||
|
printf("kt_init end\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 播放结束/出错/拔卡:关闭对应输出,返回1表示是按键播放会话 */
|
/* 播放结束/出错/拔卡:关闭音频输出,恢复待机灯态和默认音量 */
|
||||||
int kt_music_play_end_handler(void)
|
int kt_music_play_end_handler(void)
|
||||||
{
|
{
|
||||||
if (__this->active_ch == 0) {
|
if (__this->active_ch == 0)
|
||||||
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
printf("kt_music_play_end_handler ch=%d\n", __this->active_ch);
|
printf("kt_music_play_end_handler ch=%d\n", __this->active_ch);
|
||||||
kt_channel_outputs_off(__this->active_ch);
|
kt_channel_drive_off(__this->active_ch);
|
||||||
__this->active_ch = 0;
|
__this->active_ch = 0;
|
||||||
|
__this->fail_ch = 0;
|
||||||
|
/* 必须停解码,否则 get_play_status 仍为 PLAY,下次按键会误判 */
|
||||||
|
music_player_stop(0);
|
||||||
kt_led_set_mode(KT_LED_IDLE);
|
kt_led_set_mode(KT_LED_IDLE);
|
||||||
|
kt_vol_reset_default();
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int kt_try_play_path(const char *path)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = music_player_play_by_path((char *)"sd1", path);
|
||||||
|
if (err != MUSIC_PLAYER_SUCC)
|
||||||
|
{
|
||||||
|
err = music_player_play_by_path((char *)"udisk0", path);
|
||||||
|
}
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int kt_try_play_first_file(void)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
|
||||||
|
err = music_player_play_first_file((char *)"sd1");
|
||||||
|
if (err != MUSIC_PLAYER_SUCC)
|
||||||
|
{
|
||||||
|
err = music_player_play_first_file((char *)"udisk0");
|
||||||
|
}
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int kt_play_file_idx(u8 idx)
|
||||||
|
{
|
||||||
|
char path[16];
|
||||||
|
|
||||||
|
sprintf(path, "/%02d.*", idx);
|
||||||
|
printf("kt_play_file_idx %s\n", path);
|
||||||
|
return kt_try_play_path(path);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kt_play_success(u8 ch)
|
||||||
|
{
|
||||||
|
printf("kt_play_success ch=%d\n", ch);
|
||||||
|
kt_channel_outputs_on(ch);
|
||||||
|
__this->active_ch = ch;
|
||||||
|
__this->fail_ch = 0;
|
||||||
|
kt_led_set_mode(KT_LED_PLAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kt_play_fail(u8 ch)
|
||||||
|
{
|
||||||
|
printf("kt_play_fail ch=%d\n", ch);
|
||||||
|
/* 失败:SYS_LED 与对应 KEY_LED 快闪,LED_BAR 和音量灯保持熄灭 */
|
||||||
|
kt_audio_all_off();
|
||||||
|
kt_key_led_all_off();
|
||||||
|
kt_led_bar_all_off();
|
||||||
|
__this->active_ch = 0;
|
||||||
|
__this->fail_ch = ch;
|
||||||
|
kt_led_set_mode(KT_LED_FAIL);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void kt_switch_channel_only(u8 ch)
|
||||||
|
{
|
||||||
|
printf("kt_switch_channel_only ch=%d\n", ch);
|
||||||
|
/* 正在播放其它通道:只切音频输出,不改变当前歌曲 */
|
||||||
|
kt_channel_outputs_on(ch);
|
||||||
|
__this->active_ch = ch;
|
||||||
|
__this->fail_ch = 0;
|
||||||
|
printf("kt_switch_channel_only fail_ch=%d\n", __this->fail_ch);
|
||||||
|
kt_led_set_mode(KT_LED_PLAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int kt_channel_key_handler(u8 ch)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
u8 playing;
|
||||||
|
|
||||||
|
/* 若之前有通道错误,先恢复为慢闪 */
|
||||||
|
printf("kt_channel_key_handler ch=%d\n", ch);
|
||||||
|
kt_clear_fail_to_idle();
|
||||||
|
|
||||||
|
playing = (music_player_get_play_status() == FILE_DEC_STATUS_PLAY);
|
||||||
|
printf("kt_channel_key_handler playing=%d active_ch=%d\n", playing, __this->active_ch);
|
||||||
|
|
||||||
|
/* 仅 KT 会话在播(active_ch!=0)才走同通道 next / 异通道切换;
|
||||||
|
* 播完后 active_ch=0,即便解码状态残留也按空闲处理 */
|
||||||
|
if (playing && (__this->active_ch != 0))
|
||||||
|
{
|
||||||
|
if (__this->active_ch == ch)
|
||||||
|
{
|
||||||
|
/* 同通道:先尝试播放 idx+1(如 01→02),失败再用播放器自动下一曲 */
|
||||||
|
u8 next_idx = __this->file_idx + 1;
|
||||||
|
printf("kt_channel_key_handler same ch next_idx=%d\n", next_idx);
|
||||||
|
err = kt_play_file_idx(next_idx);
|
||||||
|
if (err == MUSIC_PLAYER_SUCC)
|
||||||
|
{
|
||||||
|
__this->file_idx = next_idx;
|
||||||
|
kt_play_success(ch);
|
||||||
|
return MUSIC_PLAYER_SUCC;
|
||||||
|
}
|
||||||
|
err = music_player_play_next();
|
||||||
|
if (err == MUSIC_PLAYER_SUCC)
|
||||||
|
{
|
||||||
|
__this->file_idx = next_idx;
|
||||||
|
kt_play_success(ch);
|
||||||
|
return MUSIC_PLAYER_SUCC;
|
||||||
|
}
|
||||||
|
kt_play_fail(ch);
|
||||||
|
return MUSIC_PLAYER_ERR_NULL;
|
||||||
|
}
|
||||||
|
/* 正在播放但不是当前通道:只切换音频和对应灯态 */
|
||||||
|
printf("kt_channel_key_handler switch ch only %d->%d\n", __this->active_ch, ch);
|
||||||
|
kt_switch_channel_only(ch);
|
||||||
|
return MUSIC_PLAYER_SUCC;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 空闲(或播完残留状态):从 00.* 开始 */
|
||||||
|
if (playing) {
|
||||||
|
music_player_stop(0);
|
||||||
|
}
|
||||||
|
__this->file_idx = 0;
|
||||||
|
err = kt_play_file_idx(0);
|
||||||
|
if (err == MUSIC_PLAYER_SUCC)
|
||||||
|
{
|
||||||
|
printf("kt_channel_key_handler idle play 00 ch=%d\n", ch);
|
||||||
|
kt_play_success(ch);
|
||||||
|
return MUSIC_PLAYER_SUCC;
|
||||||
|
}
|
||||||
|
/* 00.* 不存在:回退播放 sd1/udisk0 第一首 */
|
||||||
|
err = kt_try_play_first_file();
|
||||||
|
if (err == MUSIC_PLAYER_SUCC)
|
||||||
|
{
|
||||||
|
printf("kt_channel_key_handler idle play first ch=%d\n", ch);
|
||||||
|
kt_play_success(ch);
|
||||||
|
return MUSIC_PLAYER_SUCC;
|
||||||
|
}
|
||||||
|
printf("kt_channel_key_handler kt_play_fail ch=%d\n", ch);
|
||||||
|
kt_play_fail(ch);
|
||||||
|
return MUSIC_PLAYER_ERR_NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int kt_vol_key_handler(u16 key)
|
||||||
|
{
|
||||||
|
if (key == KEY_USER_KEY_5)
|
||||||
|
{
|
||||||
|
/* 音量+,播放状态下两个音量键灯由统一状态机保持常亮 */
|
||||||
|
//app_audio_volume_up(1);
|
||||||
|
app_task_put_key_msg(KEY_VOL_UP,0);
|
||||||
|
printf("kt vol+ %d\n", app_audio_get_volume(APP_AUDIO_CURRENT_STATE));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* 音量-,播放状态下两个音量键灯由统一状态机保持常亮 */
|
||||||
|
//app_audio_volume_down(1);
|
||||||
|
if (app_audio_get_volume(APP_AUDIO_STATE_MUSIC) > 2)
|
||||||
|
{
|
||||||
|
app_task_put_key_msg(KEY_VOL_DOWN,0);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("kt vol- %d\n", app_audio_get_volume(APP_AUDIO_CURRENT_STATE));
|
||||||
|
}
|
||||||
|
return MUSIC_PLAYER_ERR_NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 优先 sd1/0x.mp3,其次 udisk0/0x.mp3;
|
* KEY1~4:空闲播 00.*;同通道 next;异通道只切输出;
|
||||||
* 成功则打开对应音频/电压/VLED,失败不做任何反应;
|
* 成功常亮,结束慢闪,失败快闪。
|
||||||
* 播完由 kt_music_play_end_handler 关闭输出。
|
* KEY5/6:音量 +/-;播放状态下两个音量键灯持续常亮。
|
||||||
*/
|
*/
|
||||||
int kt_key_event_handler(u16 key)
|
int kt_key_event_handler(u16 key)
|
||||||
{
|
{
|
||||||
u8 ch;
|
u8 ch;
|
||||||
int err;
|
|
||||||
const char *path;
|
|
||||||
|
|
||||||
if (key < KEY_USER_KEY_1 || key > KEY_USER_KEY_6) {
|
if (key == KEY_USER_KEY_5 || key == KEY_USER_KEY_6)
|
||||||
|
{
|
||||||
|
return kt_vol_key_handler(key);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (key < KEY_USER_KEY_1 || key > KEY_USER_KEY_4)
|
||||||
|
{
|
||||||
return MUSIC_PLAYER_ERR_NULL;
|
return MUSIC_PLAYER_ERR_NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
ch = (u8)(key - KEY_USER_KEY_1 + 1);
|
ch = (u8)(key - KEY_USER_KEY_1 + 1);
|
||||||
path = kt_file_tab[ch - 1];
|
printf("kt_key_event_handler key=%d ch=%d\n", key, ch);
|
||||||
printf("kt_key_event_handler key=%d ch=%d path=%s\n", key, ch, path);
|
return kt_channel_key_handler(ch);
|
||||||
|
|
||||||
/* 若上一首按键播放未结束,先关掉上一通道输出 */
|
|
||||||
if (__this->active_ch) {
|
|
||||||
kt_channel_outputs_off(__this->active_ch);
|
|
||||||
__this->active_ch = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = music_player_play_by_path((char *)"sd1", path);
|
|
||||||
if (err != MUSIC_PLAYER_SUCC) {
|
|
||||||
err = music_player_play_by_path((char *)"udisk0", path);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (err == MUSIC_PLAYER_SUCC) {
|
|
||||||
kt_channel_outputs_on(ch);
|
|
||||||
__this->active_ch = ch;
|
|
||||||
kt_led_set_mode(KT_LED_PLAY);
|
|
||||||
return MUSIC_PLAYER_SUCC;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* 播放失败:通道不动作,BT_LED 快闪 */
|
|
||||||
printf("kt play fail ch=%d err=%d\n", ch, err);
|
|
||||||
kt_led_set_mode(KT_LED_FAIL);
|
|
||||||
return MUSIC_PLAYER_ERR_NULL;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3,60 +3,59 @@
|
|||||||
|
|
||||||
#include "system/includes.h"
|
#include "system/includes.h"
|
||||||
|
|
||||||
#define BT_LED_PIN IO_PORTB_03
|
#define SYS_LED_PIN IO_PORTB_03
|
||||||
#define BT_LED_ON() (gpio_set_output_value(BT_LED_PIN,1))
|
#define SYS_LED_ON() (gpio_set_output_value(SYS_LED_PIN,1))
|
||||||
#define BT_LED_OFF() (gpio_set_output_value(BT_LED_PIN,0))
|
#define SYS_LED_OFF() (gpio_set_output_value(SYS_LED_PIN,0))
|
||||||
|
|
||||||
#define AUDIO_OUT_CHANNEL1 IO_PORTB_07
|
/* 音频输出通道 1-4*/
|
||||||
#define AUDIO_OUT_CHANNEL2 IO_PORTB_08
|
#define AUDIO_OUT_CHANNEL4 IO_PORTB_07
|
||||||
#define AUDIO_OUT_CHANNEL3 IO_PORTB_09
|
#define AUDIO_OUT_CHANNEL3 IO_PORTB_08
|
||||||
#define AUDIO_OUT_CHANNEL4 IO_PORTB_10
|
#define AUDIO_OUT_CHANNEL2 IO_PORTB_09
|
||||||
|
#define AUDIO_OUT_CHANNEL1 IO_PORTB_10
|
||||||
|
#define AUDIO_OUT_CH1_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL1,1))
|
||||||
|
#define AUDIO_OUT_CH2_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL2,1))
|
||||||
|
#define AUDIO_OUT_CH3_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL3,1))
|
||||||
|
#define AUDIO_OUT_CH4_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL4,1))
|
||||||
|
#define AUDIO_OUT_CH1_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL1,0))
|
||||||
|
#define AUDIO_OUT_CH2_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL2,0))
|
||||||
|
#define AUDIO_OUT_CH3_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL3,0))
|
||||||
|
#define AUDIO_OUT_CH4_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL4,0))
|
||||||
|
|
||||||
#define AUDIO_OUT_CH1_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL1,1))
|
/* 播放按键LED输出通道 1-4*/
|
||||||
#define AUDIO_OUT_CH2_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL2,1))
|
#define KEY_LED_OUT_CHANNEL4 IO_PORTC_02
|
||||||
#define AUDIO_OUT_CH3_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL3,1))
|
#define KEY_LED_OUT_CHANNEL3 IO_PORTC_01
|
||||||
#define AUDIO_OUT_CH4_ON() (gpio_set_output_value(AUDIO_OUT_CHANNEL4,1))
|
#define KEY_LED_OUT_CHANNEL2 IO_PORTC_00
|
||||||
|
#define KEY_LED_OUT_CHANNEL1 IO_PORTA_12
|
||||||
|
#define KEY_LED_OUT_CH1_ON() (gpio_set_output_value(KEY_LED_OUT_CHANNEL1,1))
|
||||||
|
#define KEY_LED_OUT_CH2_ON() (gpio_set_output_value(KEY_LED_OUT_CHANNEL2,1))
|
||||||
|
#define KEY_LED_OUT_CH3_ON() (gpio_set_output_value(KEY_LED_OUT_CHANNEL3,1))
|
||||||
|
#define KEY_LED_OUT_CH4_ON() (gpio_set_output_value(KEY_LED_OUT_CHANNEL4,1))
|
||||||
|
#define KEY_LED_OUT_CH1_OFF() (gpio_set_output_value(KEY_LED_OUT_CHANNEL1,0))
|
||||||
|
#define KEY_LED_OUT_CH2_OFF() (gpio_set_output_value(KEY_LED_OUT_CHANNEL2,0))
|
||||||
|
#define KEY_LED_OUT_CH3_OFF() (gpio_set_output_value(KEY_LED_OUT_CHANNEL3,0))
|
||||||
|
#define KEY_LED_OUT_CH4_OFF() (gpio_set_output_value(KEY_LED_OUT_CHANNEL4,0))
|
||||||
|
|
||||||
#define AUDIO_OUT_CH1_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL1,0))
|
/* 灯条输出通道 1-4*/
|
||||||
#define AUDIO_OUT_CH2_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL2,0))
|
#define LED_BAR_OUT_CHANNEL4 IO_PORTA_09
|
||||||
#define AUDIO_OUT_CH3_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL3,0))
|
#define LED_BAR_OUT_CHANNEL3 IO_PORTA_10
|
||||||
#define AUDIO_OUT_CH4_OFF() (gpio_set_output_value(AUDIO_OUT_CHANNEL4,0))
|
#define LED_BAR_OUT_CHANNEL2 IO_PORTB_02
|
||||||
|
#define LED_BAR_OUT_CHANNEL1 IO_PORTB_11
|
||||||
|
#define LED_BAR_OUT_CH1_ON() (gpio_set_output_value(LED_BAR_OUT_CHANNEL1,1))
|
||||||
|
#define LED_BAR_OUT_CH2_ON() (gpio_set_output_value(LED_BAR_OUT_CHANNEL2,1))
|
||||||
|
#define LED_BAR_OUT_CH3_ON() (gpio_set_output_value(LED_BAR_OUT_CHANNEL3,1))
|
||||||
|
#define LED_BAR_OUT_CH4_ON() (gpio_set_output_value(LED_BAR_OUT_CHANNEL4,1))
|
||||||
|
#define LED_BAR_OUT_CH1_OFF() (gpio_set_output_value(LED_BAR_OUT_CHANNEL1,0))
|
||||||
|
#define LED_BAR_OUT_CH2_OFF() (gpio_set_output_value(LED_BAR_OUT_CHANNEL2,0))
|
||||||
|
#define LED_BAR_OUT_CH3_OFF() (gpio_set_output_value(LED_BAR_OUT_CHANNEL3,0))
|
||||||
|
#define LED_BAR_OUT_CH4_OFF() (gpio_set_output_value(LED_BAR_OUT_CHANNEL4,0))
|
||||||
|
|
||||||
#define VOLTAGE_OUT_CHANNEL1 IO_PORTA_09
|
/* 音量按键LED输出通道 2个*/
|
||||||
#define VOLTAGE_OUT_CHANNEL2 IO_PORTA_10
|
#define KDOWN_LED_PIN IO_PORTB_00
|
||||||
#define VOLTAGE_OUT_CHANNEL3 IO_PORTB_02
|
#define KUP_LED_PIN IO_PORTC_03
|
||||||
#define VOLTAGE_OUT_CHANNEL4 IO_PORTB_11
|
#define KDOWN_LED_ON() (gpio_set_output_value(KDOWN_LED_PIN,1))
|
||||||
|
#define KUP_LED_ON() (gpio_set_output_value(KUP_LED_PIN,1))
|
||||||
#define VOLTAGE_OUT_CH1_ON() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL1,1))
|
#define KDOWN_LED_OFF() (gpio_set_output_value(KDOWN_LED_PIN,0))
|
||||||
#define VOLTAGE_OUT_CH2_ON() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL2,1))
|
#define KUP_LED_OFF() (gpio_set_output_value(KUP_LED_PIN,0))
|
||||||
#define VOLTAGE_OUT_CH3_ON() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL3,1))
|
|
||||||
#define VOLTAGE_OUT_CH4_ON() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL4,1))
|
|
||||||
|
|
||||||
#define VOLTAGE_OUT_CH1_OFF() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL1,0))
|
|
||||||
#define VOLTAGE_OUT_CH2_OFF() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL2,0))
|
|
||||||
#define VOLTAGE_OUT_CH3_OFF() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL3,0))
|
|
||||||
#define VOLTAGE_OUT_CH4_OFF() (gpio_set_output_value(VOLTAGE_OUT_CHANNEL4,0))
|
|
||||||
|
|
||||||
#define VLED_OUT_CHANNEL1 IO_PORTA_12
|
|
||||||
#define VLED_OUT_CHANNEL2 IO_PORTC_00
|
|
||||||
#define VLED_OUT_CHANNEL3 IO_PORTC_01
|
|
||||||
#define VLED_OUT_CHANNEL4 IO_PORTC_02
|
|
||||||
#define VLED_OUT_CHANNEL5 IO_PORTC_03
|
|
||||||
#define VLED_OUT_CHANNEL6 IO_PORTB_00
|
|
||||||
|
|
||||||
#define VLED_OUT_CH1_ON() (gpio_set_output_value(VLED_OUT_CHANNEL1,1))
|
|
||||||
#define VLED_OUT_CH2_ON() (gpio_set_output_value(VLED_OUT_CHANNEL2,1))
|
|
||||||
#define VLED_OUT_CH3_ON() (gpio_set_output_value(VLED_OUT_CHANNEL3,1))
|
|
||||||
#define VLED_OUT_CH4_ON() (gpio_set_output_value(VLED_OUT_CHANNEL4,1))
|
|
||||||
#define VLED_OUT_CH5_ON() (gpio_set_output_value(VLED_OUT_CHANNEL5,1))
|
|
||||||
#define VLED_OUT_CH6_ON() (gpio_set_output_value(VLED_OUT_CHANNEL6,1))
|
|
||||||
|
|
||||||
#define VLED_OUT_CH1_OFF() (gpio_set_output_value(VLED_OUT_CHANNEL1,0))
|
|
||||||
#define VLED_OUT_CH2_OFF() (gpio_set_output_value(VLED_OUT_CHANNEL2,0))
|
|
||||||
#define VLED_OUT_CH3_OFF() (gpio_set_output_value(VLED_OUT_CHANNEL3,0))
|
|
||||||
#define VLED_OUT_CH4_OFF() (gpio_set_output_value(VLED_OUT_CHANNEL4,0))
|
|
||||||
#define VLED_OUT_CH5_OFF() (gpio_set_output_value(VLED_OUT_CHANNEL5,0))
|
|
||||||
#define VLED_OUT_CH6_OFF() (gpio_set_output_value(VLED_OUT_CHANNEL6,0))
|
|
||||||
|
|
||||||
// tx rst PA6
|
// tx rst PA6
|
||||||
// tx audio status PA7
|
// tx audio status PA7
|
||||||
@ -65,5 +64,10 @@ int kt_music_play_end_handler(void);
|
|||||||
void kt_boot_init(void);
|
void kt_boot_init(void);
|
||||||
void kt_init(void);
|
void kt_init(void);
|
||||||
|
|
||||||
|
/* SD/U盘升级提示:SYS_LED 快闪 + 提示音(四通道全开) */
|
||||||
|
void kt_update_led_start(void);
|
||||||
|
void kt_update_led_finish(void);
|
||||||
|
void kt_update_start_remind(void);
|
||||||
|
void kt_update_finish_remind(u16 result);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -151,8 +151,8 @@ SD1_PLATFORM_DATA_BEGIN(sd1_data)
|
|||||||
#elif (TCFG_SD1_DET_MODE == SD_CLK_DECT)
|
#elif (TCFG_SD1_DET_MODE == SD_CLK_DECT)
|
||||||
.detect_io_level = TCFG_SD1_DET_IO_LEVEL,//0:低电平检测到卡。 1:高电平检测到卡
|
.detect_io_level = TCFG_SD1_DET_IO_LEVEL,//0:低电平检测到卡。 1:高电平检测到卡
|
||||||
.detect_func = sdmmc_1_clk_detect,//库函数,需要detect_io_level元素作为参数。可以自行重写一个检测函数,在线返回1,不在线返回0,即可。
|
.detect_func = sdmmc_1_clk_detect,//库函数,需要detect_io_level元素作为参数。可以自行重写一个检测函数,在线返回1,不在线返回0,即可。
|
||||||
.power = sd_set_power,//库函数,使用SDPG引脚。可以自行重写其他的SD卡电源控制函数,传入0:关电源。传入1,开电源。如果电源硬件已固定不可控,则该函数无效,可以填NULL
|
//.power = sd_set_power,//库函数,使用SDPG引脚。可以自行重写其他的SD卡电源控制函数,传入0:关电源。传入1,开电源。如果电源硬件已固定不可控,则该函数无效,可以填NULL
|
||||||
/* .power = NULL, */
|
.power = NULL, /* */
|
||||||
#else
|
#else
|
||||||
.detect_func = sdmmc_cmd_detect,
|
.detect_func = sdmmc_cmd_detect,
|
||||||
.power = NULL,//cmd检测需要全程供电,建议用硬件固定电源。当然,可以自行写其他的SD卡电源控制函数,传入0:关电源。传入1,开电源。
|
.power = NULL,//cmd检测需要全程供电,建议用硬件固定电源。当然,可以自行写其他的SD卡电源控制函数,传入0:关电源。传入1,开电源。
|
||||||
|
|||||||
@ -42,9 +42,9 @@
|
|||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
// UART配置 //
|
// UART配置 //
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
#define TCFG_UART0_ENABLE DISABLE_THIS_MOUDLE //串口打印模块使能
|
#define TCFG_UART0_ENABLE ENABLE_THIS_MOUDLE //串口打印模块使能
|
||||||
#define TCFG_UART0_RX_PORT NO_CONFIG_PORT //串口接收脚配置(用于打印可以选择NO_CONFIG_PORT)
|
#define TCFG_UART0_RX_PORT NO_CONFIG_PORT //串口接收脚配置(用于打印可以选择NO_CONFIG_PORT)
|
||||||
#define TCFG_UART0_TX_PORT IO_PORT_DP //串口发送脚配置
|
#define TCFG_UART0_TX_PORT IO_PORTC_04 //串口发送脚配置
|
||||||
#define TCFG_UART0_BAUDRATE 1000000 //串口波特率配置
|
#define TCFG_UART0_BAUDRATE 1000000 //串口波特率配置
|
||||||
|
|
||||||
//*********************************************************************************//
|
//*********************************************************************************//
|
||||||
@ -58,7 +58,7 @@
|
|||||||
|
|
||||||
//A组IO: SDA: DM SCL: DP B组IO: SDA: PC4 SCL: PC5
|
//A组IO: SDA: DM SCL: DP B组IO: SDA: PC4 SCL: PC5
|
||||||
//C组IO: SDA: PB4 SCL: PB6 D组IO: SDA: PA5 SCL: PA6
|
//C组IO: SDA: PB4 SCL: PB6 D组IO: SDA: PA5 SCL: PA6
|
||||||
#define TCHFG_HW_I2C_ENABLE ENABLE_THIS_MOUDLE //硬件IIC使能
|
#define TCHFG_HW_I2C_ENABLE DISABLE_THIS_MOUDLE //硬件IIC使能
|
||||||
#define TCFG_HW_I2C0_PORTS 'B' //选择第几组硬件引脚
|
#define TCFG_HW_I2C0_PORTS 'B' //选择第几组硬件引脚
|
||||||
#define TCFG_HW_I2C0_CLK 100000 //硬件IIC波特率
|
#define TCFG_HW_I2C0_CLK 100000 //硬件IIC波特率
|
||||||
|
|
||||||
@ -757,9 +757,9 @@ DAC硬件上的连接方式,可选的配置:
|
|||||||
#define TCFG_DEC_G729_ENABLE ENABLE
|
#define TCFG_DEC_G729_ENABLE ENABLE
|
||||||
#define TCFG_DEC_MP3_ENABLE ENABLE
|
#define TCFG_DEC_MP3_ENABLE ENABLE
|
||||||
#define TCFG_DEC_WMA_ENABLE ENABLE
|
#define TCFG_DEC_WMA_ENABLE ENABLE
|
||||||
#define TCFG_DEC_WAV_ENABLE 0
|
#define TCFG_DEC_WAV_ENABLE 1
|
||||||
#define TCFG_DEC_FLAC_ENABLE 0
|
#define TCFG_DEC_FLAC_ENABLE 1
|
||||||
#define TCFG_DEC_APE_ENABLE 0
|
#define TCFG_DEC_APE_ENABLE 1
|
||||||
#define TCFG_DEC_M4A_ENABLE 0
|
#define TCFG_DEC_M4A_ENABLE 0
|
||||||
#define TCFG_DEC_ALAC_ENABLE 0
|
#define TCFG_DEC_ALAC_ENABLE 0
|
||||||
#define TCFG_DEC_AMR_ENABLE 0
|
#define TCFG_DEC_AMR_ENABLE 0
|
||||||
|
|||||||
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#define CONFIG_DEBUG_LIB(x) (x & LIB_DEBUG)
|
#define CONFIG_DEBUG_LIB(x) (x & LIB_DEBUG)
|
||||||
|
|
||||||
//#define CONFIG_DEBUG_ENABLE
|
#define CONFIG_DEBUG_ENABLE
|
||||||
|
|
||||||
#ifndef CONFIG_DEBUG_ENABLE
|
#ifndef CONFIG_DEBUG_ENABLE
|
||||||
//#define CONFIG_DEBUG_LITE_ENABLE //轻量级打印开关, 默认关闭
|
//#define CONFIG_DEBUG_LITE_ENABLE //轻量级打印开关, 默认关闭
|
||||||
@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
#define TCFG_AEC_ENABLE 1
|
#define TCFG_AEC_ENABLE 1
|
||||||
|
|
||||||
#define TCFG_DEV_UPDATE_IF_NOFILE_ENABLE 1
|
#define TCFG_DEV_UPDATE_IF_NOFILE_ENABLE 0 // 0:设备上线立即检查升级;1:仅盘内无音乐文件时才检查
|
||||||
|
|
||||||
#define TCFG_DEV_MANAGER_ENABLE 1
|
#define TCFG_DEV_MANAGER_ENABLE 1
|
||||||
|
|
||||||
|
|||||||
@ -94,6 +94,9 @@ enum {
|
|||||||
#define TONE_RECORD TONE_RES_ROOT_PATH"tone/record.*"
|
#define TONE_RECORD TONE_RES_ROOT_PATH"tone/record.*"
|
||||||
#define TONE_SPDIF TONE_RES_ROOT_PATH"tone/spdif.*"
|
#define TONE_SPDIF TONE_RES_ROOT_PATH"tone/spdif.*"
|
||||||
|
|
||||||
|
#define TONE_SUP TONE_RES_ROOT_PATH"tone/sup.*"
|
||||||
|
#define TONE_EUP TONE_RES_ROOT_PATH"tone/eup.*"
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_BR18
|
#ifdef CONFIG_CPU_BR18
|
||||||
#undef TONE_POWER_ON
|
#undef TONE_POWER_ON
|
||||||
#undef TONE_POWER_OFF
|
#undef TONE_POWER_OFF
|
||||||
|
|||||||
@ -186,7 +186,7 @@ int app_common_key_msg_deal(struct sys_event *event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY_VOL_UP:
|
case KEY_VOL_UP:
|
||||||
log_info("COMMON KEY_VOL_UP\n");
|
printf("COMMON KEY_VOL_UP\n");
|
||||||
if (!tone_get_status()) {
|
if (!tone_get_status()) {
|
||||||
app_audio_volume_up(1);
|
app_audio_volume_up(1);
|
||||||
printf("common vol+: %d", app_audio_get_volume(APP_AUDIO_CURRENT_STATE));
|
printf("common vol+: %d", app_audio_get_volume(APP_AUDIO_CURRENT_STATE));
|
||||||
@ -206,7 +206,7 @@ int app_common_key_msg_deal(struct sys_event *event)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case KEY_VOL_DOWN:
|
case KEY_VOL_DOWN:
|
||||||
log_info("COMMON KEY_VOL_DOWN\n");
|
printf("COMMON KEY_VOL_DOWN\n");
|
||||||
app_audio_volume_down(1);
|
app_audio_volume_down(1);
|
||||||
printf("common vol-: %d", app_audio_get_volume(APP_AUDIO_CURRENT_STATE));
|
printf("common vol-: %d", app_audio_get_volume(APP_AUDIO_CURRENT_STATE));
|
||||||
#if (TCFG_DEC2TWS_ENABLE)
|
#if (TCFG_DEC2TWS_ENABLE)
|
||||||
|
|||||||
@ -662,46 +662,31 @@ static int music_key_event_opr(struct sys_event *event)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case KEY_USER_KEY_1:
|
case KEY_USER_KEY_1:
|
||||||
printf("KEY_USER_KEY_1\n");
|
printf("KEY_USER_KEY_1\n");
|
||||||
//优先播放sd1/01.mp3,其次播放udisk0/01.mp3,并打开音频通道1,如果播放失败则不做任何反应
|
|
||||||
//如果播放成功:1-打开VOLTAGE_CHANNEL1,2-打开VLED_OUT_CH1
|
|
||||||
//播放完成后关闭VOLTAGE_CHANNEL1,VLED_OUT_CH1
|
|
||||||
err = kt_key_event_handler(KEY_USER_KEY_1);
|
err = kt_key_event_handler(KEY_USER_KEY_1);
|
||||||
break;
|
break;
|
||||||
case KEY_USER_KEY_2:
|
case KEY_USER_KEY_2:
|
||||||
printf("KEY_USER_KEY_2\n");
|
printf("KEY_USER_KEY_2\n");
|
||||||
//优先播放sd1/02.mp3,其次播放udisk0/02.mp3,并打开音频通道2,如果播放失败则不做任何反应
|
|
||||||
//如果播放成功:1-打开VOLTAGE_CHANNEL2,2-打开VLED_OUT_CH2
|
|
||||||
//播放完成后关闭VOLTAGE_CHANNEL2,VLED_OUT_CH2
|
|
||||||
err = kt_key_event_handler(KEY_USER_KEY_2);
|
err = kt_key_event_handler(KEY_USER_KEY_2);
|
||||||
break;
|
break;
|
||||||
case KEY_USER_KEY_3:
|
case KEY_USER_KEY_3:
|
||||||
printf("KEY_USER_KEY_3\n");
|
printf("KEY_USER_KEY_3\n");
|
||||||
//优先播放sd1/03.mp3,其次播放udisk0/03.mp3,并打开音频通道3,如果播放失败则不做任何反应
|
|
||||||
//如果播放成功:1-打开VOLTAGE_CHANNEL3,2-打开VLED_OUT_CH3
|
|
||||||
//播放完成后关闭VOLTAGE_CHANNEL3,VLED_OUT_CH3
|
|
||||||
err = kt_key_event_handler(KEY_USER_KEY_3);
|
err = kt_key_event_handler(KEY_USER_KEY_3);
|
||||||
break;
|
break;
|
||||||
case KEY_USER_KEY_4:
|
case KEY_USER_KEY_4:
|
||||||
printf("KEY_USER_KEY_4\n");
|
printf("KEY_USER_KEY_4\n");
|
||||||
//优先播放sd1/04.mp3,其次播放udisk0/04.mp3,并打开音频通道4,如果播放失败则不做任何反应
|
|
||||||
//如果播放成功:1-打开VOLTAGE_CHANNEL4,2-打开VLED_OUT_CH4
|
|
||||||
//播放完成后关闭VOLTAGE_CHANNEL4,VLED_OUT_CH4
|
|
||||||
err = kt_key_event_handler(KEY_USER_KEY_4);
|
err = kt_key_event_handler(KEY_USER_KEY_4);
|
||||||
break;
|
break;
|
||||||
case KEY_USER_KEY_5:
|
case KEY_USER_KEY_5:
|
||||||
printf("KEY_USER_KEY_5\n");
|
printf("KEY_USER_KEY_5\n");
|
||||||
//优先播放sd1/05.mp3,其次播放udisk0/05.mp3,并打开音频通道5,如果播放失败则不做任何反应
|
//改为音量+,可对接KEY_VOL_UP,同时KUP_LED_PIN常亮3秒后进入慢闪
|
||||||
//如果播放成功:1-打开VOLTAGE_CHANNEL5,2-打开VLED_OUT_CH5
|
|
||||||
//播放完成后关闭VOLTAGE_CHANNEL5,VLED_OUT_CH5
|
|
||||||
err = kt_key_event_handler(KEY_USER_KEY_5);
|
err = kt_key_event_handler(KEY_USER_KEY_5);
|
||||||
break;
|
break;
|
||||||
case KEY_USER_KEY_6:
|
case KEY_USER_KEY_6:
|
||||||
printf("KEY_USER_KEY_6\n");
|
printf("KEY_USER_KEY_6\n");
|
||||||
//优先播放sd1/06.mp3,其次播放udisk0/06.mp3,并打开音频通道6,如果播放失败则不做任何反应
|
//改为音量-,可对接KEY_VOL_DOWN,同时KDOWN_LED_PIN常亮3秒后进入慢闪
|
||||||
//如果播放成功:1-打开VOLTAGE_CHANNEL6,2-打开VLED_OUT_CH6
|
|
||||||
//播放完成后关闭VOLTAGE_CHANNEL6,VLED_OUT_CH6
|
|
||||||
err = kt_key_event_handler(KEY_USER_KEY_6);
|
err = kt_key_event_handler(KEY_USER_KEY_6);
|
||||||
break;
|
break;
|
||||||
case KEY_MUSIC_PLAYER_START:
|
case KEY_MUSIC_PLAYER_START:
|
||||||
|
|||||||
@ -227,7 +227,7 @@ static void poweroff_app_start()
|
|||||||
int ret = false;
|
int ret = false;
|
||||||
if (app_var.goto_poweroff_flag) {
|
if (app_var.goto_poweroff_flag) {
|
||||||
UI_SHOW_WINDOW(ID_WINDOW_POWER_OFF);
|
UI_SHOW_WINDOW(ID_WINDOW_POWER_OFF);
|
||||||
syscfg_write(CFG_MUSIC_VOL, &app_var.music_volume, 1);
|
/* 音量不记忆:关机不写 CFG_MUSIC_VOL */
|
||||||
os_taskq_flush();
|
os_taskq_flush();
|
||||||
|
|
||||||
#if (CONFIG_TWS_POWEROFF_SAME_TIME)
|
#if (CONFIG_TWS_POWEROFF_SAME_TIME)
|
||||||
|
|||||||
@ -116,30 +116,16 @@ REGISTER_UPDATE_TARGET(audio_update_target) = {
|
|||||||
*************************************************************
|
*************************************************************
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static void app_audio_volume_save_do(void *priv)
|
/*
|
||||||
{
|
*************************************************************
|
||||||
//log_info("app_audio_volume_save_do %d\n", __this->save_vol_cnt);
|
*
|
||||||
local_irq_disable();
|
* audio volume save —— 音量不记忆,关闭 VM 写入
|
||||||
if (++__this->save_vol_cnt >= 5) {
|
*
|
||||||
sys_timer_del(__this->save_vol_timer);
|
*************************************************************
|
||||||
__this->save_vol_timer = 0;
|
*/
|
||||||
__this->save_vol_cnt = 0;
|
|
||||||
local_irq_enable();
|
|
||||||
log_info("VOL_SAVE\n");
|
|
||||||
syscfg_write(CFG_MUSIC_VOL, &app_var.music_volume, 1);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
local_irq_enable();
|
|
||||||
}
|
|
||||||
|
|
||||||
static void app_audio_volume_change(void)
|
static void app_audio_volume_change(void)
|
||||||
{
|
{
|
||||||
local_irq_disable();
|
|
||||||
__this->save_vol_cnt = 0;
|
|
||||||
if (__this->save_vol_timer == 0) {
|
|
||||||
__this->save_vol_timer = sys_timer_add(NULL, app_audio_volume_save_do, 1000);//要使用软件定时器 中断里不能操作vm
|
|
||||||
}
|
|
||||||
local_irq_enable();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,7 @@
|
|||||||
TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_DUAL_LR_DIFF)
|
TCFG_AUDIO_DAC_CONNECT_MODE == DAC_OUTPUT_DUAL_LR_DIFF)
|
||||||
#define MAX_ANA_VOL (21)
|
#define MAX_ANA_VOL (21)
|
||||||
#else
|
#else
|
||||||
#define MAX_ANA_VOL (28)
|
#define MAX_ANA_VOL (30)
|
||||||
#endif/*TCFG_AUDIO_DAC_CONNECT_MODE*/
|
#endif/*TCFG_AUDIO_DAC_CONNECT_MODE*/
|
||||||
|
|
||||||
#define MAX_COM_VOL (22) // 具体数值应小于联合音量等级的数组大小 (combined_vol_list)
|
#define MAX_COM_VOL (22) // 具体数值应小于联合音量等级的数组大小 (combined_vol_list)
|
||||||
@ -96,7 +96,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define SYS_DEFAULT_VOL 0//SYS_MAX_VOL //(SYS_MAX_VOL/2)
|
#define SYS_DEFAULT_VOL 23//SYS_MAX_VOL //(SYS_MAX_VOL/2)
|
||||||
#define SYS_DEFAULT_TONE_VOL 18 //(SYS_MAX_VOL)
|
#define SYS_DEFAULT_TONE_VOL 18 //(SYS_MAX_VOL)
|
||||||
#define SYS_DEFAULT_SIN_VOL 17
|
#define SYS_DEFAULT_SIN_VOL 17
|
||||||
|
|
||||||
|
|||||||
@ -1,26 +1,5 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
fat_vfs_ops
|
fat_vfs_ops
|
||||||
|
|
||||||
|
|
||||||
@ -52,7 +31,19 @@ mp3_decoder
|
|||||||
|
|
||||||
|
|
||||||
wma_decoder
|
wma_decoder
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
flac_decoder
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
ape_decoder
|
||||||
g729_decoder
|
g729_decoder
|
||||||
|
wav_decoder
|
||||||
cvsd_encoder
|
cvsd_encoder
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
1
cpu/br23/tools/cfg_tool_state_complete.lua
Normal file
1
cpu/br23/tools/cfg_tool_state_complete.lua
Normal file
File diff suppressed because one or more lines are too long
@ -1,27 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
rem @echo off
|
rem @echo off
|
||||||
|
|
||||||
@echo *****************************************************************
|
@echo *****************************************************************
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_2A3B.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_2A3B.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_32DE.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_32DE.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_375A.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_375A.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_3E55.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_3E55.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_4AD5.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_4AD5.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_7611.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_7611.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_A51F.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_A51F.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_A958.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_A958.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_E2C1.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_E2C1.ufw
Normal file
Binary file not shown.
BIN
cpu/br23/tools/download/standard/update_FADC.ufw
Normal file
BIN
cpu/br23/tools/download/standard/update_FADC.ufw
Normal file
Binary file not shown.
@ -183,17 +183,6 @@ objs/apps/common/config/bt_profile_config.c.o
|
|||||||
-r=objs/apps/common/config/bt_profile_config.c.o,adt_profile_support,pl
|
-r=objs/apps/common/config/bt_profile_config.c.o,adt_profile_support,pl
|
||||||
objs/apps/common/config/ci_transport_uart.c.o
|
objs/apps/common/config/ci_transport_uart.c.o
|
||||||
objs/apps/common/debug/debug.c.o
|
objs/apps/common/debug/debug.c.o
|
||||||
-r=objs/apps/common/debug/debug.c.o,putchar,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,puts,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,printf,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,put_buf,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,put_u8hex,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,put_u16hex,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,put_u32hex,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,log_print,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,log_putbyte,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,assert_printf,pl
|
|
||||||
-r=objs/apps/common/debug/debug.c.o,cpu_assert_debug,l
|
|
||||||
objs/apps/common/debug/debug_lite.c.o
|
objs/apps/common/debug/debug_lite.c.o
|
||||||
-r=objs/apps/common/debug/debug_lite.c.o,puts_lite,pl
|
-r=objs/apps/common/debug/debug_lite.c.o,puts_lite,pl
|
||||||
-r=objs/apps/common/debug/debug_lite.c.o,put_buf_lite,pl
|
-r=objs/apps/common/debug/debug_lite.c.o,put_buf_lite,pl
|
||||||
@ -225,7 +214,6 @@ objs/apps/common/dev_manager/dev_manager.c.o
|
|||||||
-r=objs/apps/common/dev_manager/dev_manager.c.o,strlen,l
|
-r=objs/apps/common/dev_manager/dev_manager.c.o,strlen,l
|
||||||
-r=objs/apps/common/dev_manager/dev_manager.c.o,sprintf,l
|
-r=objs/apps/common/dev_manager/dev_manager.c.o,sprintf,l
|
||||||
-r=objs/apps/common/dev_manager/dev_manager.c.o,fscan_interrupt,l
|
-r=objs/apps/common/dev_manager/dev_manager.c.o,fscan_interrupt,l
|
||||||
-r=objs/apps/common/dev_manager/dev_manager.c.o,dev_update_check,l
|
|
||||||
-r=objs/apps/common/dev_manager/dev_manager.c.o,free,l
|
-r=objs/apps/common/dev_manager/dev_manager.c.o,free,l
|
||||||
-r=objs/apps/common/dev_manager/dev_manager.c.o,dev_manager_set_valid,pl
|
-r=objs/apps/common/dev_manager/dev_manager.c.o,dev_manager_set_valid,pl
|
||||||
-r=objs/apps/common/dev_manager/dev_manager.c.o,dev_manager_set_valid_by_logo,pl
|
-r=objs/apps/common/dev_manager/dev_manager.c.o,dev_manager_set_valid_by_logo,pl
|
||||||
@ -272,6 +260,7 @@ objs/apps/common/dev_manager/dev_update.c.o
|
|||||||
-r=objs/apps/common/dev_manager/dev_update.c.o,sprintf,l
|
-r=objs/apps/common/dev_manager/dev_update.c.o,sprintf,l
|
||||||
-r=objs/apps/common/dev_manager/dev_update.c.o,dev_manager_get_root_path,l
|
-r=objs/apps/common/dev_manager/dev_update.c.o,dev_manager_get_root_path,l
|
||||||
-r=objs/apps/common/dev_manager/dev_update.c.o,fopen,l
|
-r=objs/apps/common/dev_manager/dev_update.c.o,fopen,l
|
||||||
|
-r=objs/apps/common/dev_manager/dev_update.c.o,kt_update_start_remind,l
|
||||||
-r=objs/apps/common/dev_manager/dev_update.c.o,app_active_update_task_init,l
|
-r=objs/apps/common/dev_manager/dev_update.c.o,app_active_update_task_init,l
|
||||||
-r=objs/apps/common/dev_manager/dev_update.c.o,update_mode_api_v2,l
|
-r=objs/apps/common/dev_manager/dev_update.c.o,update_mode_api_v2,l
|
||||||
-r=objs/apps/common/dev_manager/dev_update.c.o,strlen,l
|
-r=objs/apps/common/dev_manager/dev_update.c.o,strlen,l
|
||||||
@ -1522,14 +1511,11 @@ objs/apps/common/update/update.c.o
|
|||||||
-r=objs/apps/common/update/update.c.o,log_print,l
|
-r=objs/apps/common/update/update.c.o,log_print,l
|
||||||
-r=objs/apps/common/update/update.c.o,puts,l
|
-r=objs/apps/common/update/update.c.o,puts,l
|
||||||
-r=objs/apps/common/update/update.c.o,led_update_start,pl
|
-r=objs/apps/common/update/update.c.o,led_update_start,pl
|
||||||
-r=objs/apps/common/update/update.c.o,pwm_led_mode_set,l
|
-r=objs/apps/common/update/update.c.o,kt_update_led_start,l
|
||||||
-r=objs/apps/common/update/update.c.o,led_update_finish,pl
|
-r=objs/apps/common/update/update.c.o,led_update_finish,pl
|
||||||
|
-r=objs/apps/common/update/update.c.o,kt_update_led_finish,l
|
||||||
-r=objs/apps/common/update/update.c.o,update_result_deal,pl
|
-r=objs/apps/common/update/update.c.o,update_result_deal,pl
|
||||||
-r=objs/apps/common/update/update.c.o,wdt_clear,l
|
-r=objs/apps/common/update/update.c.o,kt_update_finish_remind,l
|
||||||
-r=objs/apps/common/update/update.c.o,app_audio_set_volume,l
|
|
||||||
-r=objs/apps/common/update/update.c.o,get_max_sys_vol,l
|
|
||||||
-r=objs/apps/common/update/update.c.o,tone_play,l
|
|
||||||
-r=objs/apps/common/update/update.c.o,os_time_dly,l
|
|
||||||
-r=objs/apps/common/update/update.c.o,clr_update_ram_info,pl
|
-r=objs/apps/common/update/update.c.o,clr_update_ram_info,pl
|
||||||
-r=objs/apps/common/update/update.c.o,set_loader_start_addr,pl
|
-r=objs/apps/common/update/update.c.o,set_loader_start_addr,pl
|
||||||
-r=objs/apps/common/update/update.c.o,update_close_hw,pl
|
-r=objs/apps/common/update/update.c.o,update_close_hw,pl
|
||||||
@ -1884,13 +1870,35 @@ objs/apps/kaotings/kt.c.o
|
|||||||
-r=objs/apps/kaotings/kt.c.o,gpio_set_direction,l
|
-r=objs/apps/kaotings/kt.c.o,gpio_set_direction,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,gpio_set_output_value,l
|
-r=objs/apps/kaotings/kt.c.o,gpio_set_output_value,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,gpio_set_die,l
|
-r=objs/apps/kaotings/kt.c.o,gpio_set_die,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_update_led_start,pl
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,printf,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_update_led_finish,pl
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_update_start_remind,pl
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,kt_update_finish_remind,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,kt_init,pl
|
-r=objs/apps/kaotings/kt.c.o,kt_init,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,kt_music_play_end_handler,pl
|
-r=objs/apps/kaotings/kt.c.o,kt_music_play_end_handler,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,printf,l
|
-r=objs/apps/kaotings/kt.c.o,music_player_stop,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,kt_key_event_handler,pl
|
-r=objs/apps/kaotings/kt.c.o,kt_key_event_handler,pl
|
||||||
-r=objs/apps/kaotings/kt.c.o,music_player_play_by_path,l
|
|
||||||
-r=objs/apps/kaotings/kt.c.o,sys_timer_del,l
|
-r=objs/apps/kaotings/kt.c.o,sys_timer_del,l
|
||||||
-r=objs/apps/kaotings/kt.c.o,sys_timer_add,l
|
-r=objs/apps/kaotings/kt.c.o,sys_timer_add,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,tone_play_stop,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,music_player_get_play_status,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,os_time_dly,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,app_audio_output_start,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,app_audio_state_switch,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,get_max_sys_vol,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,app_audio_set_volume,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,tone_play,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,wdt_clear,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,tone_get_dec_status,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,tone_get_status,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,app_task_put_key_msg,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,app_audio_get_volume,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,music_player_play_next,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,sprintf,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,music_player_play_by_path,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,music_player_play_first_file,l
|
||||||
|
-r=objs/apps/kaotings/kt.c.o,puts,l
|
||||||
objs/apps/soundbox/board/br23/board_ac6083a/board_ac6083a.c.o
|
objs/apps/soundbox/board/br23/board_ac6083a/board_ac6083a.c.o
|
||||||
objs/apps/soundbox/board/br23/board_ac6083a/key_table/adkey_table.c.o
|
objs/apps/soundbox/board/br23/board_ac6083a/key_table/adkey_table.c.o
|
||||||
objs/apps/soundbox/board/br23/board_ac6083a/key_table/iokey_table.c.o
|
objs/apps/soundbox/board/br23/board_ac6083a/key_table/iokey_table.c.o
|
||||||
@ -1964,6 +1972,7 @@ objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gSensor_wkupup_enable,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gSensor_wkupup_enable,pl
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_wakeup_index_enable,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_wakeup_index_enable,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,debug_uart_init,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,debug_uart_init,pl
|
||||||
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,uart_init,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,get_led_config,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,get_led_config,pl
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,get_tone_config,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,get_tone_config,pl
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,get_sys_default_vol,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,get_sys_default_vol,pl
|
||||||
@ -1978,6 +1987,7 @@ objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,check_power_on_voltage,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,check_power_on_voltage,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,dev_manager_init,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,dev_manager_init,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_set_mode,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_set_mode,l
|
||||||
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_die,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,board_set_soft_poweroff,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,board_set_soft_poweroff,pl
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,spi_get_port,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,spi_get_port,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_write,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_write,l
|
||||||
@ -1989,7 +1999,6 @@ objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_pull_up,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_pull_up,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_pull_down,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_pull_down,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_direction,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_direction,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_die,l
|
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_dieh,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,gpio_set_dieh,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,P33_CON_SET,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,P33_CON_SET,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sdpg_config,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sdpg_config,l
|
||||||
@ -2002,7 +2011,6 @@ objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_keep_dacvdd_en,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_keep_dacvdd_en,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sdmmc_1_clk_detect,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sdmmc_1_clk_detect,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sdmmc_1_port_init,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sdmmc_1_port_init,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sd_set_power,l
|
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,key_driver_init,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,key_driver_init,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_wakeup_init,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,power_wakeup_init,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,status_config,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,status_config,pl
|
||||||
@ -2012,7 +2020,6 @@ objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o
|
|||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,adc_data,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,adc_data,pl
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,adkey_data,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,adkey_data,pl
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,otg_data,pl
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,otg_data,pl
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,hw_iic_cfg,pl
|
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sd_dev_ops,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,sd_dev_ops,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,usb_dev_ops,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,usb_dev_ops,l
|
||||||
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,mass_storage_ops,l
|
-r=objs/apps/soundbox/board/br23/board_ac695x_demo/board_ac695x_demo.c.o,mass_storage_ops,l
|
||||||
@ -2130,6 +2137,8 @@ objs/apps/soundbox/common/dev_status.c.o
|
|||||||
-r=objs/apps/soundbox/common/dev_status.c.o,printf,l
|
-r=objs/apps/soundbox/common/dev_status.c.o,printf,l
|
||||||
-r=objs/apps/soundbox/common/dev_status.c.o,dev_manager_add,l
|
-r=objs/apps/soundbox/common/dev_status.c.o,dev_manager_add,l
|
||||||
-r=objs/apps/soundbox/common/dev_status.c.o,music_task_dev_online_start,l
|
-r=objs/apps/soundbox/common/dev_status.c.o,music_task_dev_online_start,l
|
||||||
|
-r=objs/apps/soundbox/common/dev_status.c.o,app_check_curr_task,l
|
||||||
|
-r=objs/apps/soundbox/common/dev_status.c.o,dev_update_check,l
|
||||||
-r=objs/apps/soundbox/common/dev_status.c.o,dev_manager_del,l
|
-r=objs/apps/soundbox/common/dev_status.c.o,dev_manager_del,l
|
||||||
-r=objs/apps/soundbox/common/dev_status.c.o,mult_sd_online_mount_before,l
|
-r=objs/apps/soundbox/common/dev_status.c.o,mult_sd_online_mount_before,l
|
||||||
-r=objs/apps/soundbox/common/dev_status.c.o,mult_usb_mount_before,l
|
-r=objs/apps/soundbox/common/dev_status.c.o,mult_usb_mount_before,l
|
||||||
@ -3252,7 +3261,6 @@ objs/apps/soundbox/task_manager/power_off/power_off.c.o
|
|||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,sdx_dev_entry_lowpower,l
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,sdx_dev_entry_lowpower,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,get_ui_busy_status,l
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,get_ui_busy_status,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,power_set_soft_poweroff,l
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,power_set_soft_poweroff,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,syscfg_write,l
|
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,os_taskq_flush,l
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,os_taskq_flush,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,tone_play_with_callback_by_name,l
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,tone_play_with_callback_by_name,l
|
||||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,goto_poweroff_first_flag,pl
|
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,goto_poweroff_first_flag,pl
|
||||||
@ -3554,8 +3562,6 @@ objs/cpu/br23/audio_common/app_audio.c.o
|
|||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,local_irq_disable,l
|
-r=objs/cpu/br23/audio_common/app_audio.c.o,local_irq_disable,l
|
||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,audio_dac_vol_set,l
|
-r=objs/cpu/br23/audio_common/app_audio.c.o,audio_dac_vol_set,l
|
||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,local_irq_enable,l
|
-r=objs/cpu/br23/audio_common/app_audio.c.o,local_irq_enable,l
|
||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,sys_timer_add,l
|
|
||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,sys_timer_del,l
|
|
||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,audio_update_target,pl
|
-r=objs/cpu/br23/audio_common/app_audio.c.o,audio_update_target,pl
|
||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,dac_hdl,pl
|
-r=objs/cpu/br23/audio_common/app_audio.c.o,dac_hdl,pl
|
||||||
-r=objs/cpu/br23/audio_common/app_audio.c.o,app_var,l
|
-r=objs/cpu/br23/audio_common/app_audio.c.o,app_var,l
|
||||||
@ -4673,7 +4679,7 @@ objs/cpu/br23/iic_hw.c.o
|
|||||||
-r=objs/cpu/br23/iic_hw.c.o,hw_iic_slave_tx_check_ack,pl
|
-r=objs/cpu/br23/iic_hw.c.o,hw_iic_slave_tx_check_ack,pl
|
||||||
-r=objs/cpu/br23/iic_hw.c.o,iic_disable_for_ota,pl
|
-r=objs/cpu/br23/iic_hw.c.o,iic_disable_for_ota,pl
|
||||||
-r=objs/cpu/br23/iic_hw.c.o,gpio_set_die,l
|
-r=objs/cpu/br23/iic_hw.c.o,gpio_set_die,l
|
||||||
-r=objs/cpu/br23/iic_hw.c.o,hw_iic_cfg,l
|
-r=objs/cpu/br23/iic_hw.c.o,hw_iic_cfg,
|
||||||
-r=objs/cpu/br23/iic_hw.c.o,iic_update_target,pl
|
-r=objs/cpu/br23/iic_hw.c.o,iic_update_target,pl
|
||||||
objs/cpu/br23/iic_slave_test.c.o
|
objs/cpu/br23/iic_slave_test.c.o
|
||||||
objs/cpu/br23/iic_soft.c.o
|
objs/cpu/br23/iic_soft.c.o
|
||||||
@ -4854,6 +4860,8 @@ objs/cpu/br23/pwm_led.c.o
|
|||||||
-r=objs/cpu/br23/pwm_led.c.o,power_param,l
|
-r=objs/cpu/br23/pwm_led.c.o,power_param,l
|
||||||
objs/cpu/br23/setup.c.o
|
objs/cpu/br23/setup.c.o
|
||||||
-r=objs/cpu/br23/setup.c.o,cpu_assert_debug,pl
|
-r=objs/cpu/br23/setup.c.o,cpu_assert_debug,pl
|
||||||
|
-r=objs/cpu/br23/setup.c.o,log_flush,l
|
||||||
|
-r=objs/cpu/br23/setup.c.o,local_irq_disable,l
|
||||||
-r=objs/cpu/br23/setup.c.o,timer,pl
|
-r=objs/cpu/br23/setup.c.o,timer,pl
|
||||||
-r=objs/cpu/br23/setup.c.o,sys_timer_dump_time,l
|
-r=objs/cpu/br23/setup.c.o,sys_timer_dump_time,l
|
||||||
-r=objs/cpu/br23/setup.c.o,test_fun,pl
|
-r=objs/cpu/br23/setup.c.o,test_fun,pl
|
||||||
@ -4869,6 +4877,8 @@ objs/cpu/br23/setup.c.o
|
|||||||
-r=objs/cpu/br23/setup.c.o,clk_early_init,l
|
-r=objs/cpu/br23/setup.c.o,clk_early_init,l
|
||||||
-r=objs/cpu/br23/setup.c.o,port_init,l
|
-r=objs/cpu/br23/setup.c.o,port_init,l
|
||||||
-r=objs/cpu/br23/setup.c.o,tick_timer_init,l
|
-r=objs/cpu/br23/setup.c.o,tick_timer_init,l
|
||||||
|
-r=objs/cpu/br23/setup.c.o,debug_uart_init,l
|
||||||
|
-r=objs/cpu/br23/setup.c.o,log_early_init,l
|
||||||
-r=objs/cpu/br23/setup.c.o,printf,l
|
-r=objs/cpu/br23/setup.c.o,printf,l
|
||||||
-r=objs/cpu/br23/setup.c.o,clock_dump,l
|
-r=objs/cpu/br23/setup.c.o,clock_dump,l
|
||||||
-r=objs/cpu/br23/setup.c.o,reset_source_dump,l
|
-r=objs/cpu/br23/setup.c.o,reset_source_dump,l
|
||||||
@ -4878,7 +4888,6 @@ objs/cpu/br23/setup.c.o
|
|||||||
-r=objs/cpu/br23/setup.c.o,debug_init,l
|
-r=objs/cpu/br23/setup.c.o,debug_init,l
|
||||||
-r=objs/cpu/br23/setup.c.o,sys_timer_init,l
|
-r=objs/cpu/br23/setup.c.o,sys_timer_init,l
|
||||||
-r=objs/cpu/br23/setup.c.o,__crc16_mutex_init,l
|
-r=objs/cpu/br23/setup.c.o,__crc16_mutex_init,l
|
||||||
-r=objs/cpu/br23/setup.c.o,p33_soft_reset,l
|
|
||||||
-r=objs/cpu/br23/setup.c.o,p33_or_1byte,l
|
-r=objs/cpu/br23/setup.c.o,p33_or_1byte,l
|
||||||
-r=objs/cpu/br23/setup.c.o,puts,l
|
-r=objs/cpu/br23/setup.c.o,puts,l
|
||||||
-r=objs/cpu/br23/setup.c.o,power_reset_src,pl
|
-r=objs/cpu/br23/setup.c.o,power_reset_src,pl
|
||||||
@ -6860,7 +6869,7 @@ include_lib/liba/br23/system.a.llvm.1326370.init.c
|
|||||||
-r=include_lib/liba/br23/system.a.llvm.1326370.init.c,late_initcall_begin,
|
-r=include_lib/liba/br23/system.a.llvm.1326370.init.c,late_initcall_begin,
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1326370.init.c,late_initcall_end,
|
-r=include_lib/liba/br23/system.a.llvm.1326370.init.c,late_initcall_end,
|
||||||
include_lib/liba/br23/system.a.llvm.1390042.puthex.c
|
include_lib/liba/br23/system.a.llvm.1390042.puthex.c
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,putchar,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,putchar,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_output_lock,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_output_lock,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_output_start,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_output_start,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_putchar,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_putchar,l
|
||||||
@ -6868,16 +6877,16 @@ include_lib/liba/br23/system.a.llvm.1390042.puthex.c
|
|||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_putbyte,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_putbyte,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_output_unlock,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_output_unlock,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u4hex,pl
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u4hex,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u16hex,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u16hex,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u8hex,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u8hex,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u32hex,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_u32hex,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,putbyte,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,putbyte,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_buf,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,put_buf,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_put_u8hex,l
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,log_put_u8hex,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,printf_buf,pl
|
-r=include_lib/liba/br23/system.a.llvm.1390042.puthex.c,printf_buf,pl
|
||||||
include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c
|
include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,print,pl
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,print,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,puts,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,puts,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_output_lock,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_output_lock,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_output_start,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_output_start,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,strlen,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,strlen,l
|
||||||
@ -6886,8 +6895,8 @@ include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c
|
|||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_putbyte,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_putbyte,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_print_time,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_print_time,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_output_unlock,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,log_output_unlock,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,printf,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,printf,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,assert_printf,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,assert_printf,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,local_irq_disable,l
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,local_irq_disable,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,snprintf,pl
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,snprintf,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,vsnprintf,pl
|
-r=include_lib/liba/br23/system.a.llvm.1397010.printf-stdarg.c,vsnprintf,pl
|
||||||
@ -6903,12 +6912,12 @@ include_lib/liba/br23/system.a.llvm.1425914.log.c
|
|||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,jiffies_msec,l
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,jiffies_msec,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,sprintf,l
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,sprintf,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_print_time,pl
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_print_time,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_putbyte,l
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_putbyte,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_output_lock,pl
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_output_lock,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,os_mutex_pend,l
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,os_mutex_pend,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,os_mutex_post,l
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,os_mutex_post,l
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_output_unlock,pl
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_output_unlock,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_print,l
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_print,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_output_start,pl
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_output_start,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_putchar,pl
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,log_putchar,pl
|
||||||
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,lbuf_free,l
|
-r=include_lib/liba/br23/system.a.llvm.1425914.log.c,lbuf_free,l
|
||||||
@ -7673,6 +7682,56 @@ include_lib/liba/br23/media.a.llvm.384520.wma_decoder.c
|
|||||||
-r=include_lib/liba/br23/media.a.llvm.384520.wma_decoder.c,wma_mem_ext,
|
-r=include_lib/liba/br23/media.a.llvm.384520.wma_decoder.c,wma_mem_ext,
|
||||||
-r=include_lib/liba/br23/media.a.llvm.384520.wma_decoder.c,log_tag_const_d_AUDIO_DECODER,l
|
-r=include_lib/liba/br23/media.a.llvm.384520.wma_decoder.c,log_tag_const_d_AUDIO_DECODER,l
|
||||||
-r=include_lib/liba/br23/media.a.llvm.384520.wma_decoder.c,config_decoder_ff_fr_end_return_event_end,l
|
-r=include_lib/liba/br23/media.a.llvm.384520.wma_decoder.c,config_decoder_ff_fr_end_return_event_end,l
|
||||||
|
include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,ape_fast_forward,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,log_print,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,local_irq_disable,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,local_irq_enable,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,ape_fast_rewind,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,ape_decoder_get_play_time,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,ape_decoder_close,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,free,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,ape_decoder_init,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,malloc,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,printf,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,cpu_assert_debug,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,get_ape_ops,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,p33_soft_reset,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,audio_decoder_read_data,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,audio_decoder_dual_switch,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,audio_decoder_put_output_buff,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,audio_decoder_get_input_data_len,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,log_tag_const_i_AUDIO_DECODER,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,config_ape_dec_use_malloc,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,ape_decoder,plx
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,config_asser,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,log_tag_const_d_AUDIO_DECODER,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.443156.ape_decoder.c,config_decoder_ff_fr_end_return_event_end,l
|
||||||
|
include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,wav_fast_forward,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,log_print,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,local_irq_disable,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,local_irq_enable,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,wav_fast_rewind,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,wav_decoder_get_play_time,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,wav_decoder_close,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,free,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,wav_decoder_init,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,malloc,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,printf,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,cpu_assert_debug,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,get_wav_ops,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,p33_soft_reset,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,audio_decoder_read_data,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,audio_decoder_dual_switch,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,audio_decoder_put_output_buff,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,audio_decoder_get_input_data_len,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,log_tag_const_i_AUDIO_DECODER,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,config_wav_dec_use_malloc,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,wav_decoder,plx
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,config_asser,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,log_tag_const_d_AUDIO_DECODER,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.573812.wav_decoder.c,config_decoder_ff_fr_end_return_event_end,l
|
||||||
include_lib/liba/br23/media.a.llvm.631880.g729_decoder.c
|
include_lib/liba/br23/media.a.llvm.631880.g729_decoder.c
|
||||||
-r=include_lib/liba/br23/media.a.llvm.631880.g729_decoder.c,g729_decoder_init,pl
|
-r=include_lib/liba/br23/media.a.llvm.631880.g729_decoder.c,g729_decoder_init,pl
|
||||||
-r=include_lib/liba/br23/media.a.llvm.631880.g729_decoder.c,get_g729dec_ops,l
|
-r=include_lib/liba/br23/media.a.llvm.631880.g729_decoder.c,get_g729dec_ops,l
|
||||||
@ -7713,6 +7772,31 @@ include_lib/liba/br23/media.a.llvm.649304.mp3_decoder.c
|
|||||||
-r=include_lib/liba/br23/media.a.llvm.649304.mp3_decoder.c,log_tag_const_d_AUDIO_DECODER,l
|
-r=include_lib/liba/br23/media.a.llvm.649304.mp3_decoder.c,log_tag_const_d_AUDIO_DECODER,l
|
||||||
-r=include_lib/liba/br23/media.a.llvm.649304.mp3_decoder.c,config_mp3_dec_speed_mode,l
|
-r=include_lib/liba/br23/media.a.llvm.649304.mp3_decoder.c,config_mp3_dec_speed_mode,l
|
||||||
-r=include_lib/liba/br23/media.a.llvm.649304.mp3_decoder.c,config_decoder_ff_fr_end_return_event_end,l
|
-r=include_lib/liba/br23/media.a.llvm.649304.mp3_decoder.c,config_decoder_ff_fr_end_return_event_end,l
|
||||||
|
include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,flac_fast_forward,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,log_print,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,local_irq_disable,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,local_irq_enable,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,flac_fast_rewind,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,flac_decoder_get_play_time,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,flac_decoder_close,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,free,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,flac_decoder_init,pl
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,malloc,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,printf,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,cpu_assert_debug,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,get_flac_ops,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,p33_soft_reset,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,audio_decoder_read_data,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,audio_decoder_dual_switch,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,audio_decoder_put_output_buff,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,audio_decoder_get_input_data_len,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,log_tag_const_i_AUDIO_DECODER,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,config_flac_dec_use_malloc,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,flac_decoder,plx
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,config_asser,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,log_tag_const_d_AUDIO_DECODER,l
|
||||||
|
-r=include_lib/liba/br23/media.a.llvm.708092.flac_decoder.c,config_decoder_ff_fr_end_return_event_end,l
|
||||||
include_lib/liba/br23/media.a.llvm.751856.pcm_decoder.c
|
include_lib/liba/br23/media.a.llvm.751856.pcm_decoder.c
|
||||||
-r=include_lib/liba/br23/media.a.llvm.751856.pcm_decoder.c,pcm_decoder_start,pl
|
-r=include_lib/liba/br23/media.a.llvm.751856.pcm_decoder.c,pcm_decoder_start,pl
|
||||||
-r=include_lib/liba/br23/media.a.llvm.751856.pcm_decoder.c,pcm_decoder_run,pl
|
-r=include_lib/liba/br23/media.a.llvm.751856.pcm_decoder.c,pcm_decoder_run,pl
|
||||||
@ -9949,6 +10033,150 @@ include_lib/liba/br23/wtg_dec_lib.a.llvm.80412.oper_32b.c
|
|||||||
-r=include_lib/liba/br23/wtg_dec_lib.a.llvm.80412.oper_32b.c,L_mult,l
|
-r=include_lib/liba/br23/wtg_dec_lib.a.llvm.80412.oper_32b.c,L_mult,l
|
||||||
-r=include_lib/liba/br23/wtg_dec_lib.a.llvm.80412.oper_32b.c,mult,l
|
-r=include_lib/liba/br23/wtg_dec_lib.a.llvm.80412.oper_32b.c,mult,l
|
||||||
-r=include_lib/liba/br23/wtg_dec_lib.a.llvm.80412.oper_32b.c,Mpy_32_16,pl
|
-r=include_lib/liba/br23/wtg_dec_lib.a.llvm.80412.oper_32b.c,Mpy_32_16,pl
|
||||||
|
include_lib/liba/br23/wav_dec_lib.a.llvm.22264.testwav.c
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.22264.testwav.c,set_buf,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.22264.testwav.c,file_format_check,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.22264.testwav.c,get_wav_ops,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.22264.testwav.c,wf_file_api_fun,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.22264.testwav.c,wav_decode,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.22264.testwav.c,wav_decoder_ops,pl
|
||||||
|
include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,wf_file_api_fun,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,file_format_check,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,wav_decode,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,ima_adpcm_decoder,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,ms_adpcm_decoder,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,wavpcm_floatdecoder,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,wavpcm_decoder,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.38452.wavdec_api.c,WAV_MAX_BITRATEV,l
|
||||||
|
include_lib/liba/br23/wav_dec_lib.a.llvm.64828.msadpcmdec.c
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.64828.msadpcmdec.c,ms_adpcm_decoder,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.64828.msadpcmdec.c,wf_file_api_fun,l
|
||||||
|
include_lib/liba/br23/wav_dec_lib.a.llvm.324.ima_adpcm.c
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.324.ima_adpcm.c,ima_adpcm_decoder,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.324.ima_adpcm.c,wf_file_api_fun,l
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.324.ima_adpcm.c,wavpcm_decoder,pl
|
||||||
|
-r=include_lib/liba/br23/wav_dec_lib.a.llvm.324.ima_adpcm.c,wavpcm_floatdecoder,pl
|
||||||
|
include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_decoder_open,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_output_data,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,str_flac_bp_buf,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,renew_flac_bp_buf,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_cheak_log,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,get_flac_ops,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_dec_fileStatus,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,FLAC_fread,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,updata_bitstream,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_get_bits,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_get_sbits,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_skip_bits,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,align_flac_get_bits,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_init,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_decode_block,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.906.mtst_flac.c,flac_decoder_ops,pl
|
||||||
|
include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,dsp_oputdata,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_output_data,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,dsp_handle,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_av_log2,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_fl1_find,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,find_first_1,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,updata_bitstream,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_get_bits,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,get_utf8,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,decode_residuals,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_get_sbits,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_dec_fileStatus,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,decode_subframe_fixed,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,decode_subframe_lpc,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,decode_subframe,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,bswap_32,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,ff_id3v2_match_for_flac,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_cal_id3v2_tag_len,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_header,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,FLAC_fread,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_init,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_cheak_log,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_frame_header,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_skip_bits,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,get_flac_frstart_pos,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_str_frame,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,bp_str_nframe_info,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,align_flac_get_bits,l
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,flac_decode_block,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,res_fix_tab,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,sample_rate_table,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,sample_size_table,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,blocksize_table,pl
|
||||||
|
-r=include_lib/liba/br23/flac_dec_lib.a.llvm.29698.flacdec.c,MASK_FULL,pl
|
||||||
|
include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,ape_decoder_open,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,ape_output_data,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,get_ape_ops,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,ape_dec_fileStatus,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,APE_fseek,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,fill_buf_online,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,str_bp_buf,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,fill_buf,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,get_bitbye,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,get_bytes,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,get_le16,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,get_le32,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,url_fseek,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,get_buffer,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,freebuf,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,fread32,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,fread8,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,APE_DEC_INIT,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,ape_read_seektab,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,ape_decode_block,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,renew_bp_buf,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.60324.mtst_ape.c,ape_decoder_ops,pl
|
||||||
|
include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ff_id3v2_match_for_ape,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_cal_id3v2_tag_len,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_read_header,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,APE_fseek,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,freebuf,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,get_le32,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,get_buffer,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,get_le16,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_dec_fileStatus,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,url_fseek,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,init_apeinfo,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_read_seektab,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,str_bp_buf,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,normalize_fread_len,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,fread8_new,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,fill_buf,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,range_dec_normalize,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,range_decode_bits,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,range_get_symbol,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_decode_value_fvlow,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_decode_value_fvhigh,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,entropy_decode,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,predictor_decode_mono,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_apply_filters,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,do_apply_filter,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,init_frame_decoder,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,fread32,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_unpack_mono,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_output_data,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_unpack_stereo,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,predictor_decode_stereo,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_decode_frame,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,fread8,l
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,renew_bp_buf,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_decode_block,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,APE_DEC_INIT,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_filter_orders,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,ape_filter_fracbits,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,counts_3970,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,counts_diff_3970,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,counts_3980,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,counts_diff_3980,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,K_SUM_MIN_BOUNDARY,pl
|
||||||
|
-r=include_lib/liba/br23/ape_dec_lib.a.llvm.1104.apedec.c,initial_coeffs,pl
|
||||||
include_lib/liba/br23/bfilterfun_lib.a.llvm.266.B_filter.c
|
include_lib/liba/br23/bfilterfun_lib.a.llvm.266.B_filter.c
|
||||||
-r=include_lib/liba/br23/bfilterfun_lib.a.llvm.266.B_filter.c,B_iircal,pl
|
-r=include_lib/liba/br23/bfilterfun_lib.a.llvm.266.B_filter.c,B_iircal,pl
|
||||||
-r=include_lib/liba/br23/bfilterfun_lib.a.llvm.266.B_filter.c,B_comput_correlataionS,pl
|
-r=include_lib/liba/br23/bfilterfun_lib.a.llvm.266.B_filter.c,B_comput_correlataionS,pl
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
67
cpubr23toolsdownload.bat
Normal file
67
cpubr23toolsdownload.bat
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
rem @echo off
|
||||||
|
|
||||||
|
@echo *****************************************************************
|
||||||
|
@echo SDK BR23
|
||||||
|
@echo *****************************************************************
|
||||||
|
@echo %date%
|
||||||
|
|
||||||
|
cd %~dp0
|
||||||
|
|
||||||
|
|
||||||
|
set OBJDUMP=C:\JL\pi32\bin\llvm-objdump.exe
|
||||||
|
set OBJCOPY=C:\JL\pi32\bin\llvm-objcopy.exe
|
||||||
|
set ELFFILE=sdk.elf
|
||||||
|
|
||||||
|
REM %OBJDUMP% -D -address-mask=0x1ffffff -print-dbg %ELFFILE% > sdk.lst
|
||||||
|
%OBJCOPY% -O binary -j .text %ELFFILE% text.bin
|
||||||
|
%OBJCOPY% -O binary -j .data %ELFFILE% data.bin
|
||||||
|
%OBJCOPY% -O binary -j .data_code %ELFFILE% data_code.bin
|
||||||
|
|
||||||
|
|
||||||
|
%OBJCOPY% -O binary -j .overlay_aec %ELFFILE% aeco.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_wav %ELFFILE% wav.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_ape %ELFFILE% ape.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_flac %ELFFILE% flac.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_m4a %ELFFILE% m4a.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_amr %ELFFILE% amr.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_dts %ELFFILE% dts.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_fm %ELFFILE% fmo.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_mp3 %ELFFILE% mp3o.bin
|
||||||
|
%OBJCOPY% -O binary -j .overlay_wma %ELFFILE% wmao.bin
|
||||||
|
|
||||||
|
|
||||||
|
remove_tailing_zeros -i aeco.bin -o aec.bin -mark ff
|
||||||
|
remove_tailing_zeros -i fmo.bin -o fm.bin -mark ff
|
||||||
|
remove_tailing_zeros -i mp3o.bin -o mp3.bin -mark ff
|
||||||
|
remove_tailing_zeros -i wmao.bin -o wma.bin -mark ff
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%OBJDUMP% -section-headers -address-mask=0x1ffffff %ELFFILE%
|
||||||
|
%OBJDUMP% -t %ELFFILE% > symbol_tbl.txt
|
||||||
|
copy /b text.bin+data.bin+data_code.bin+aec.bin+wav.bin+ape.bin+flac.bin+m4a.bin+amr.bin+dts.bin+fm.bin+mp3.bin+wma.bin+bank.bin app.bin
|
||||||
|
|
||||||
|
|
||||||
|
del aeco.bin
|
||||||
|
del wav.bin
|
||||||
|
del ape.bin
|
||||||
|
del flac.bin
|
||||||
|
del m4a.bin
|
||||||
|
del amr.bin
|
||||||
|
del dts.bin
|
||||||
|
del fmo.bin
|
||||||
|
del mp3o.bin
|
||||||
|
del wmao.bin
|
||||||
|
del aec.bin
|
||||||
|
del fm.bin
|
||||||
|
del mp3.bin
|
||||||
|
del wma.bin
|
||||||
|
del data.bin
|
||||||
|
del data_code.bin
|
||||||
|
del text.bin
|
||||||
|
del *.bc
|
||||||
|
copy .\effect_file\music_base.bin eq_cfg_hw.bin
|
||||||
|
download\standard\download.bat
|
||||||
BIN
tone/eup.mp3
Normal file
BIN
tone/eup.mp3
Normal file
Binary file not shown.
BIN
tone/eup.wtg
Normal file
BIN
tone/eup.wtg
Normal file
Binary file not shown.
BIN
tone/sup.mp3
Normal file
BIN
tone/sup.mp3
Normal file
Binary file not shown.
BIN
tone/sup.wtg
Normal file
BIN
tone/sup.wtg
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user