Compare commits
No commits in common. "添加指令" and "main" have entirely different histories.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
KT6002_SD.pdf
BIN
KT6002_SD.pdf
Binary file not shown.
65
README.html
65
README.html
@ -367,12 +367,6 @@ code {
|
||||
</script>
|
||||
<h1 id="%E5%BC%95%E8%84%9A%E6%8E%92%E5%88%97">引脚排列</h1>
|
||||
<p><img src="./pin" alt="引脚定义"></p>
|
||||
<h1 id="%E4%BD%BF%E7%94%A8%E6%B3%A8%E6%84%8F">使用注意:</h1>
|
||||
<pre><code>1. TF卡和SPI Flash只支持一个,下单请注意备注。
|
||||
2. 开机有提示音“咚”。
|
||||
3. 默认循环方式为不循环,播放一次后结束。
|
||||
4. BUSY引脚指示当前播放状态,低电平为正在播放,高电平为未播放,也可使用此引脚控制功放的MUTE,但需实测是否有呑字现象。
|
||||
</code></pre>
|
||||
<h2 id="uart-%E9%80%9A%E8%AE%AF%E5%8D%8F%E8%AE%AE-115200-n-8-1">UART 通讯协议 115200 N 8 1</h2>
|
||||
<ul>
|
||||
<li>发送
|
||||
@ -449,18 +443,12 @@ code {
|
||||
<li>0xAB 播放指定曲目(通配符)</li>
|
||||
<li>0xAC 播放指定曲目(带扩展名)</li>
|
||||
<li>0xAD 播放指定曲目(数字)</li>
|
||||
<li>0xAE 播放循环</li>
|
||||
<li>0xB0 获取当前磁盘文件总数</li>
|
||||
<li>0xB1 获取当前磁盘文件夹数量</li>
|
||||
<li>0xB2 获取当前播放文件夹内文件数量</li>
|
||||
<li>0xB3 获取当前播放曲目总时间</li>
|
||||
<li>0xB4 获取当前播放曲目时间</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h2 id="%E6%8C%87%E4%BB%A4%E8%AF%A6%E8%BF%B0">指令详述</h2>
|
||||
<ul>
|
||||
<li>播放控制指令:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
||||
<li>系统复位:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
@ -482,14 +470,13 @@ code {
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
<li>播放循环:0xAE
|
||||
<li>播放/暂停:0xC2
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HEAD</th>
|
||||
<th>LENGTH</th>
|
||||
<th>CMD</th>
|
||||
<th>CYCLE</th>
|
||||
<th>CHK</th>
|
||||
<th>TAIL</th>
|
||||
</tr>
|
||||
@ -498,16 +485,12 @@ code {
|
||||
<tr>
|
||||
<td>0x02</td>
|
||||
<td>1Byte</td>
|
||||
<td>0xAE</td>
|
||||
<td>1Byte</td>
|
||||
<td>0xC2</td>
|
||||
<td>1Byte</td>
|
||||
<td>0x03</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<ul>
|
||||
<li>CYCLE :0-不循环,1-全部循环 2-单曲循环,3-文件夹循环,4-随机</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>设置音量:0xA8
|
||||
<table>
|
||||
@ -600,7 +583,7 @@ code {
|
||||
<ul>
|
||||
<li>STA :名字起始,字符'$'(0x24)。</li>
|
||||
<li>END : 名字结束,字符'$'(0x24)。</li>
|
||||
<li>NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,例如:01.mp3和001.mp3是不同的</li>
|
||||
<li>NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和010.mp3是不同的</li>
|
||||
<li>文件必须存在否则播放失败</li>
|
||||
</ul>
|
||||
</li>
|
||||
@ -630,17 +613,19 @@ code {
|
||||
</tbody>
|
||||
</table>
|
||||
<ul>
|
||||
<li>FH,FL:组合成一个16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序</li>
|
||||
<li>FH,FL:组合成以恶搞16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序</li>
|
||||
<li>文件必须存在否则播放失败</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>播放信息:B0/B1/B2/B3/B4
|
||||
<li>指定文件号播放:0xC8
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HEAD</th>
|
||||
<th>LENGTH</th>
|
||||
<th>CMD</th>
|
||||
<th>NUM</th>
|
||||
<th>LOOP</th>
|
||||
<th>CHK</th>
|
||||
<th>TAIL</th>
|
||||
</tr>
|
||||
@ -649,34 +634,8 @@ code {
|
||||
<tr>
|
||||
<td>0x02</td>
|
||||
<td>1Byte</td>
|
||||
<td>0xB0</td>
|
||||
<td>1Byte</td>
|
||||
<td>0x03</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</li>
|
||||
<li>ACK:
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>HEAD</th>
|
||||
<th>LENGTH</th>
|
||||
<th>CMD</th>
|
||||
<th>ERR</th>
|
||||
<th>DH</th>
|
||||
<th>DL</th>
|
||||
<th>CHK</th>
|
||||
<th>TAIL</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>0x02</td>
|
||||
<td>1Byte</td>
|
||||
<td>0xB0</td>
|
||||
<td>1Byte</td>
|
||||
<td>1Byte</td>
|
||||
<td>0xC8</td>
|
||||
<td>1-99</td>
|
||||
<td>1Byte</td>
|
||||
<td>1Byte</td>
|
||||
<td>0x03</td>
|
||||
@ -684,7 +643,9 @@ code {
|
||||
</tbody>
|
||||
</table>
|
||||
<ul>
|
||||
<li>DH,DL: 回复数据,组合成一个16bit的整形,例如 DH=0x00 DL=0x02 则值是0x0002</li>
|
||||
<li>NUM : 文件名号码。注:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和01月光小夜曲.mp3是相同的,月光小夜曲可有可无,但前面序号必须有,存放文件时需注意。</li>
|
||||
<li>LOOP: 循环次数,0为单曲无限循环</li>
|
||||
<li>文件必须存在否则播放失败</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
BIN
README.jpeg
BIN
README.jpeg
Binary file not shown.
Before Width: | Height: | Size: 719 KiB After Width: | Height: | Size: 662 KiB |
47
README.md
47
README.md
@ -2,12 +2,6 @@
|
||||
|
||||

|
||||
|
||||
# 使用注意:
|
||||
1. TF卡和SPI Flash只支持一个,下单请注意备注。
|
||||
2. 开机有提示音“咚”。
|
||||
3. 默认循环方式为不循环,播放一次后结束。
|
||||
4. BUSY引脚指示当前播放状态,低电平为正在播放,高电平为未播放,也可使用此引脚控制功放的MUTE,但需实测是否有呑字现象。
|
||||
|
||||
## UART 通讯协议 115200 N 8 1
|
||||
- 发送
|
||||
| head | length | CMD | DATA | XOR | tail |
|
||||
@ -39,22 +33,15 @@
|
||||
- 0xAB 播放指定曲目(通配符)
|
||||
- 0xAC 播放指定曲目(带扩展名)
|
||||
- 0xAD 播放指定曲目(数字)
|
||||
- 0xAE 播放循环
|
||||
- 0xB0 获取当前磁盘文件总数
|
||||
- 0xB1 获取当前磁盘文件夹数量
|
||||
- 0xB2 获取当前播放文件夹内文件数量
|
||||
- 0xB3 获取当前播放曲目总时间
|
||||
- 0xB4 获取当前播放曲目时间
|
||||
## 指令详述
|
||||
- 播放控制指令:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
||||
- 系统复位:0xA0/A1/A2/A3/A4/A5/A6/A7/A9/AA
|
||||
| HEAD | LENGTH | CMD | CHK | TAIL |
|
||||
|------|--------|--------|-------|------|
|
||||
| 0x02 | 1Byte | 0xA0 | 1Byte | 0x03 |
|
||||
- 播放循环:0xAE
|
||||
| HEAD | LENGTH | CMD | CYCLE | CHK | TAIL |
|
||||
|------|--------|--------|--------|------|------|
|
||||
| 0x02 | 1Byte | 0xAE | 1Byte |1Byte | 0x03 |
|
||||
- CYCLE :0-不循环,1-全部循环 2-单曲循环,3-文件夹循环,4-随机
|
||||
| 0x02 | 1Byte | 0xA0 | 1Byte | 0x03 |
|
||||
- 播放/暂停:0xC2
|
||||
| HEAD | LENGTH | CMD | CHK | TAIL |
|
||||
|------|--------|--------|-------|------|
|
||||
| 0x02 | 1Byte | 0xC2 | 1Byte | 0x03 |
|
||||
- 设置音量:0xA8
|
||||
| HEAD | LENGTH | CMD | VOLUME | CHK | TAIL |
|
||||
|------|--------|--------|---------------|------|------|
|
||||
@ -74,23 +61,21 @@
|
||||
| 0x02 | 1Byte | 0xAC | '$' | 'abc.mp3' | '$' | 1Byte| 0x03 |
|
||||
- STA :名字起始,字符'$'(0x24)。
|
||||
- END : 名字结束,字符'$'(0x24)。
|
||||
- NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,例如:01.mp3和001.mp3是不同的
|
||||
- NAME :名字字符串,必须写全文件名,例如:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和010.mp3是不同的
|
||||
- 文件必须存在否则播放失败
|
||||
- 播放指定曲目(文件号):AD
|
||||
| HEAD | LENGTH | CMD | FH | FL | CHK | TAIL |
|
||||
|------|--------|--------|----------|------------|-------|------|
|
||||
| 0x02 | 1Byte | 0xAD | 1Byte | 1Byte | 1Byte | 0x03 |
|
||||
- FH,FL:组合成一个16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序
|
||||
- 文件必须存在否则播放失败
|
||||
- 播放信息:B0/B1/B2/B3/B4
|
||||
| HEAD | LENGTH | CMD | CHK | TAIL |
|
||||
|------|--------|--------|-------|------|
|
||||
| 0x02 | 1Byte | 0xB0 | 1Byte | 0x03 |
|
||||
- ACK:
|
||||
| HEAD | LENGTH | CMD | ERR | DH | DL | CHK | TAIL |
|
||||
|------|--------|--------|-------|-------|------|-------|------|
|
||||
| 0x02 | 1Byte | 0xB0 | 1Byte | 1Byte | 1Byte| 1Byte | 0x03 |
|
||||
- DH,DL: 回复数据,组合成一个16bit的整形,例如 DH=0x00 DL=0x02 则值是0x0002
|
||||
- FH,FL:组合成以恶搞16bit的整形,例如 FH=0x00 FL=0x02 实际上是播放0x0002曲目,曲目的顺序号是拷贝进磁盘的顺序
|
||||
- 文件必须存在否则播放失败
|
||||
- 指定文件号播放:0xC8
|
||||
| HEAD | LENGTH | CMD | NUM | LOOP | CHK | TAIL |
|
||||
|------|--------|--------|-----------|-----------|------|------|
|
||||
| 0x02 | 1Byte | 0xC8 | 1-99 | 1Byte | 1Byte| 0x03 |
|
||||
- NUM : 文件名号码。注:文件名采用8+3格式,只识别文件名的前2个字符,例如:01.mp3和01月光小夜曲.mp3是相同的,月光小夜曲可有可无,但前面序号必须有,存放文件时需注意。
|
||||
- LOOP: 循环次数,0为单曲无限循环
|
||||
- 文件必须存在否则播放失败
|
||||
## 附录1:校验
|
||||
- 校验方式为校验和,计算方式为数据累计和取反加1的方式
|
||||
- 举例发送系统复位指令A0:0x02 0x02 0xA0 CheckSum 0x03
|
||||
|
BIN
README.png
BIN
README.png
Binary file not shown.
Before Width: | Height: | Size: 329 KiB After Width: | Height: | Size: 305 KiB |
@ -3,7 +3,6 @@
|
||||
#include "app_config.h"
|
||||
#include "audio_enc.h"
|
||||
#include "app_main.h"
|
||||
#include "kt.h"
|
||||
|
||||
#define LOG_TAG_CONST APP_MUSIC
|
||||
#define LOG_TAG "[APP_MUSIC]"
|
||||
@ -170,30 +169,20 @@ int music_player_end_deal(int parm)
|
||||
else
|
||||
{
|
||||
/// 正常结束,自动下一曲
|
||||
printf("......app_var.cycle_mode : %d \n", app_var.cycle_mode);
|
||||
#if (MUSIC_PLAYER_CYCLE_ALL_DEV_EN)
|
||||
u32 cur_file = music_player_get_file_cur();
|
||||
if ((music_player_get_record_play_status() == false) && (app_var.cycle_mode == FCYCLE_ALL) && (cur_file >= music_player_get_file_total()) && (dev_manager_get_total(1) > 1))
|
||||
{
|
||||
printf("......music_player_play_first_file 1 \n");
|
||||
char *logo = music_player_get_dev_flit("_rec", 1);
|
||||
if (logo)
|
||||
{
|
||||
printf("......music_player_play_first_file 2 \n");
|
||||
err = music_player_play_first_file(logo);
|
||||
break;
|
||||
}
|
||||
}
|
||||
printf("......music_player_play_auto_next 1 \n");
|
||||
#endif /*MUSIC_PLAYER_CYCLE_ALL_DEV_EN*/
|
||||
printf("......kt_get_cycle() : %d \n", kt_get_cycle());
|
||||
if (kt_get_cycle() != FCYCLE_ONE && kt_get_cycle() != FCYCLE_LIST)
|
||||
{
|
||||
printf("......music_player_play_auto_next 2\n");
|
||||
err = music_player_play_auto_next();
|
||||
}
|
||||
//err = music_player_play_auto_next();
|
||||
}
|
||||
printf("......music_player_end_deal 1 \n");
|
||||
break;
|
||||
/// 解码器产生的错误, 文件损坏等
|
||||
case AUDIO_PLAY_EVENT_ERR:
|
||||
@ -996,7 +985,6 @@ int music_player_play_next(void)
|
||||
@note
|
||||
*/
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static u8 first_start = 0;
|
||||
int music_player_play_first_file(char *logo)
|
||||
{
|
||||
if (logo == NULL)
|
||||
@ -1028,14 +1016,6 @@ int music_player_play_first_file(char *logo)
|
||||
{
|
||||
return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
||||
}
|
||||
if (first_start == 0)
|
||||
{
|
||||
first_start = 1;
|
||||
dev_manager_set_active(__this->dev);
|
||||
return MUSIC_PLAYER_SUCC;
|
||||
//return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
||||
}
|
||||
|
||||
/// start decoder
|
||||
int err = music_player_decode_start(__this->file, 0);
|
||||
if (err == MUSIC_PLAYER_SUCC)
|
||||
@ -1103,38 +1083,32 @@ int music_player_play_last_file(char *logo)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
int music_player_play_auto_next(void)
|
||||
{
|
||||
printf("......cycle : %d ,music_player_play_auto_next 1 \n", kt_get_cycle());
|
||||
/// close player first
|
||||
music_player_stop(0);
|
||||
/// get dev, 检查设备是否有掉线
|
||||
if (dev_manager_online_check(__this->dev, 1) == 0)
|
||||
{
|
||||
printf("......music_player_play_auto_next 2 \n");
|
||||
return MUSIC_PLAYER_ERR_DEV_OFFLINE;
|
||||
}
|
||||
/// 不需要重新找设备、扫盘
|
||||
if (__this->fsn == NULL)
|
||||
{
|
||||
printf("......music_player_play_auto_next 3 \n");
|
||||
return MUSIC_PLAYER_ERR_FSCAN;
|
||||
}
|
||||
/// get file
|
||||
__this->file = file_manager_select(__this->dev, __this->fsn, FSEL_AUTO_FILE, 0, __this->parm.scan_cb); /// 选择自动下一曲
|
||||
if (__this->file == NULL)
|
||||
{
|
||||
printf("......music_player_play_auto_next 4 \n");
|
||||
return MUSIC_PLAYER_ERR_FILE_NOFOUND;
|
||||
}
|
||||
/// start decoder
|
||||
int err = music_player_decode_start(__this->file, 0);
|
||||
if (err == MUSIC_PLAYER_SUCC)
|
||||
{
|
||||
printf("......music_player_play_auto_next 5 \n");
|
||||
/// 选定新设备播放成功后,需要激活当前设备
|
||||
dev_manager_set_active(__this->dev);
|
||||
log_i("[%s %d] ok\n", __FUNCTION__, __LINE__);
|
||||
}
|
||||
printf("......music_player_play_auto_next 6 \n");
|
||||
return err;
|
||||
}
|
||||
//*----------------------------------------------------------------------------*/
|
||||
|
@ -2,31 +2,19 @@
|
||||
#include "app_task.h"
|
||||
#include "music_player.h"
|
||||
|
||||
typedef struct _kt_var_
|
||||
{
|
||||
int tid;
|
||||
struct
|
||||
{
|
||||
u8 play_mode; //0:none,1:num,2:name,3:fullname
|
||||
u8 play_num;
|
||||
char play_name[32];
|
||||
u8 cycle_mode;
|
||||
}play_status;
|
||||
|
||||
} _kt_var;
|
||||
|
||||
static _kt_var kt_var;
|
||||
#define __this (&kt_var)
|
||||
u16 tid;
|
||||
|
||||
|
||||
void kt_busy_ctl_init(void)
|
||||
{
|
||||
/* pa ctl-mute*/
|
||||
// gpio_set_direction(KT_PAMUTE_PORT, 0);
|
||||
// gpio_set_pull_up(KT_PAMUTE_PORT, 0);
|
||||
// gpio_set_pull_down(KT_PAMUTE_PORT, 0);
|
||||
// gpio_set_hd(KT_PAMUTE_PORT, 1);
|
||||
/* pa ctl-mute*/
|
||||
//gpio_set_direction(KT_PAMUTE_PORT, 0);
|
||||
//gpio_set_pull_up(KT_PAMUTE_PORT, 0);
|
||||
//gpio_set_pull_down(KT_PAMUTE_PORT, 0);
|
||||
//gpio_set_hd(KT_PAMUTE_PORT, 1);
|
||||
|
||||
// gpio_set_output_value(KT_PAMUTE_PORT, 1);
|
||||
//gpio_set_output_value(KT_PAMUTE_PORT, 1);
|
||||
|
||||
gpio_set_direction(KT_BUSY_PORT, 0);
|
||||
gpio_set_pull_up(KT_BUSY_PORT, 0);
|
||||
@ -38,7 +26,6 @@ void kt_busy_ctl_init(void)
|
||||
|
||||
void timer_cb(void *arg)
|
||||
{
|
||||
#if 0
|
||||
if (app_get_curr_task() == APP_MUSIC_TASK)
|
||||
{
|
||||
if (music_player_get_play_status() == FILE_DEC_STATUS_PLAY)
|
||||
@ -48,76 +35,27 @@ void timer_cb(void *arg)
|
||||
else
|
||||
{
|
||||
gpio_set_output_value(KT_BUSY_PORT, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
gpio_set_output_value(KT_BUSY_PORT, 1);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
void start_timer(void)
|
||||
{
|
||||
if (__this->tid)
|
||||
if (tid)
|
||||
{
|
||||
sys_timer_del(__this->tid);
|
||||
sys_timer_del(tid);
|
||||
}
|
||||
__this->tid = sys_timer_add(NULL, timer_cb, 50);
|
||||
tid = sys_timer_add(NULL,timer_cb, 50);
|
||||
}
|
||||
|
||||
u8 kt_get_cycle(void)
|
||||
{
|
||||
return __this->play_status.cycle_mode;
|
||||
}
|
||||
|
||||
void kt_change_cycle(u8 cycle)
|
||||
{
|
||||
__this->play_status.cycle_mode = cycle;
|
||||
if (cycle != FCYCLE_ONE)
|
||||
{
|
||||
memset(__this->play_status.play_name, 0, sizeof(__this->play_status.play_name));
|
||||
}
|
||||
}
|
||||
|
||||
void kt_set_last_play(u8 mode, u8 num, char *name)
|
||||
{
|
||||
printf("kt_set_last_play mode = %d, num = %d, name = %s\n", mode, num, name);
|
||||
__this->play_status.play_mode = mode;
|
||||
if (mode == 1)
|
||||
{
|
||||
printf("kt_set_last_play num = %d\n", num);
|
||||
__this->play_status.play_num = num;
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("kt_set_last_play name = %s\n", name);
|
||||
memset(__this->play_status.play_name, 0, sizeof(__this->play_status.play_name));
|
||||
strcpy(__this->play_status.play_name, name);
|
||||
printf("kt_set_last_play play_name = %s\n", __this->play_status.play_name);
|
||||
}
|
||||
}
|
||||
|
||||
void kt_get_last_play(u8 *mode, u8 *num, char *name)
|
||||
{
|
||||
*mode = __this->play_status.play_mode;
|
||||
printf("kt_get_last_play mode = %d\n", *mode);
|
||||
if (__this->play_status.play_mode == 1)
|
||||
{
|
||||
*num = __this->play_status.play_num;
|
||||
printf("kt_get_last_play num = %d\n", *num);
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy(name, __this->play_status.play_name);
|
||||
printf("kt_get_last_play name = %s\n", name);
|
||||
}
|
||||
}
|
||||
|
||||
void kt_init(void)
|
||||
{
|
||||
memset(&__this->play_status, 0, sizeof(__this->play_status));
|
||||
//kt_busy_ctl_init();
|
||||
kt_busy_ctl_init();
|
||||
kt_uart_init();
|
||||
start_timer();
|
||||
}
|
@ -9,8 +9,6 @@
|
||||
#define KT_UART_RX_PORT IO_PORTB_07
|
||||
|
||||
#define KT_BUSY_PORT IO_PORTA_04
|
||||
#define PA_MUTE() (gpio_set_output_value(IO_PORTA_04,1))
|
||||
#define PA_UNMUTE() (gpio_set_output_value(IO_PORTA_04,0))
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@ -43,25 +41,13 @@ typedef struct
|
||||
#define KT_CMD_VOL_SET 0xA8
|
||||
#define KT_CMD_VOL_MUTE 0xA9
|
||||
#define KT_CMD_VOL_UNMUTE 0xAA
|
||||
#define KT_CMD_CYCLE 0xAE
|
||||
|
||||
#define KT_CMD_PLAY_NAME 0xAB
|
||||
#define KT_CMD_PLAY_FULL_NAME 0xAC
|
||||
#define KT_CMD_PLAY_NUM 0xAD
|
||||
#define KT_CMD_GET_FILE_NUM 0xB0
|
||||
#define KT_CMD_GET_DIR_NUM 0xB1
|
||||
#define KT_CMD_GET_DIR_FILE_NUM 0xB2
|
||||
#define KT_CMD_GET_PLAY_TOTAL_TIME 0xB3
|
||||
#define KT_CMD_GET_PLAY_CUR_TIME 0xB4
|
||||
|
||||
void kt_uart_init(void);
|
||||
void kt_uart_event(void);
|
||||
void kt_init(void);
|
||||
void kt_change_cycle(u8 cycle);
|
||||
u8 kt_get_cycle(void);
|
||||
void kt_set_last_play(u8 mode, u8 num, char *name);
|
||||
void kt_get_last_play(u8 *mode, u8 *num, char *name);
|
||||
|
||||
|
||||
|
||||
#endif
|
@ -87,58 +87,25 @@ static void uart_ack(u8 cmd, u8 err)
|
||||
uart_bus->write(tx_buf,index);
|
||||
}
|
||||
|
||||
static void uart_ack_d16(u8 cmd, u8 err,u16 data)
|
||||
{
|
||||
if (uart_bus == NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
printf("tx_data cmd:%x err:%d \r\n", cmd, err);
|
||||
u8 tx_buf[32] = {0};
|
||||
int index = 0;
|
||||
|
||||
tx_buf[index++] = 0x02;
|
||||
tx_buf[index++] = 0x04;
|
||||
tx_buf[index++] = cmd;
|
||||
tx_buf[index++] = err;
|
||||
tx_buf[index++] = (u8)(data >> 8);
|
||||
tx_buf[index++] = (u8)(data & 0xFF);
|
||||
|
||||
u8 x = tx_buf[1];
|
||||
|
||||
x = x ^ tx_buf[2];
|
||||
x = x ^ tx_buf[3];
|
||||
|
||||
tx_buf[index++] = x;
|
||||
tx_buf[index++] = 0x03;
|
||||
|
||||
uart_bus->write(tx_buf,index);
|
||||
}
|
||||
|
||||
char str_play_name[32];
|
||||
char str_play_name_full[32];
|
||||
static void uart_process(tRxPacket *pack)
|
||||
{
|
||||
if ((pack->buf[0] != 0x02) || (pack->buf[pack->leng - 1] != 0x03))
|
||||
{
|
||||
printf("data err head = %d tail = %d \n", pack->buf[0], pack->buf[pack->leng - 1]);
|
||||
return;
|
||||
}
|
||||
|
||||
if (pack->buf[1] != pack->leng - 2)
|
||||
{
|
||||
printf("data err length = %d \n", pack->buf[1]);
|
||||
uart_ack(pack->buf[2], KT_ERR_LENGTH);
|
||||
return;
|
||||
}
|
||||
|
||||
u8 xor = pack->buf[1];
|
||||
|
||||
|
||||
if (pack->buf[pack->leng - 2] != 0xFF)
|
||||
{
|
||||
printf("need xor check \n");
|
||||
for (int i = 0; i < pack->buf[1] - 2; i++)
|
||||
{
|
||||
xor = xor ^ pack->buf[2 + i];
|
||||
@ -153,7 +120,6 @@ static void uart_process(tRxPacket *pack)
|
||||
|
||||
if (pack->buf[2] == KT_CMD_PLAY)
|
||||
{
|
||||
printf("KT_CMD_PLAY \n");
|
||||
int sta = music_player_get_play_status();
|
||||
if (sta == FILE_DEC_STATUS_STOP)
|
||||
{
|
||||
@ -171,7 +137,6 @@ static void uart_process(tRxPacket *pack)
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_PAUSE)
|
||||
{
|
||||
printf("KT_CMD_PAUSE \n");
|
||||
int sta = music_player_get_play_status();
|
||||
if ((sta == FILE_DEC_STATUS_PLAY) || (sta == FILE_DEC_STATUS_WAIT_PLAY))
|
||||
{
|
||||
@ -182,7 +147,6 @@ static void uart_process(tRxPacket *pack)
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_PP)
|
||||
{
|
||||
printf("KT_CMD_PP \n");
|
||||
int sta = music_player_get_play_status();
|
||||
if (sta == FILE_DEC_STATUS_STOP)
|
||||
{
|
||||
@ -197,37 +161,31 @@ static void uart_process(tRxPacket *pack)
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_NEXT)
|
||||
{
|
||||
printf("KT_CMD_NEXT \n");
|
||||
app_task_put_key_msg(KEY_MUSIC_NEXT,0);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_PREV)
|
||||
{
|
||||
printf("KT_CMD_PREV \n");
|
||||
app_task_put_key_msg(KEY_MUSIC_PREV,0);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_STOP)
|
||||
{
|
||||
printf("KT_CMD_STOP \n");
|
||||
app_task_put_key_msg(KEY_USER_PLAY_STOP,0);
|
||||
app_task_put_key_msg(KEY_MUSIC_PLAYER_END,0);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_VOL_UP)
|
||||
{
|
||||
printf("KT_CMD_VOL_UP \n");
|
||||
app_task_put_key_msg(KEY_VOL_UP,0);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_VOL_DOWN)
|
||||
{
|
||||
printf("KT_CMD_VOL_DOWN \n");
|
||||
app_task_put_key_msg(KEY_VOL_DOWN,0);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_VOL_SET)
|
||||
{
|
||||
printf("KT_CMD_VOL_SET \n");
|
||||
app_audio_set_volume(APP_AUDIO_STATE_MUSIC, (s8)(pack->buf[3]), 1);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
@ -237,7 +195,6 @@ static void uart_process(tRxPacket *pack)
|
||||
//KT_PA_MUTE();
|
||||
kt_sys_mute = 1;
|
||||
//KT_PA_MUTE();
|
||||
app_audio_mute(0);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_VOL_UNMUTE)
|
||||
@ -245,12 +202,10 @@ static void uart_process(tRxPacket *pack)
|
||||
printf("KT_CMD_VOL_UNMUTE \n");
|
||||
kt_sys_mute = 0;
|
||||
//KT_PA_UNMUTE();
|
||||
app_audio_mute(1);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_PLAY_NAME) //0xAB
|
||||
{
|
||||
printf("KT_CMD_PLAY_NAME \n");
|
||||
if (pack->buf[3] == '$')
|
||||
{
|
||||
//char temp[32];
|
||||
@ -289,7 +244,6 @@ static void uart_process(tRxPacket *pack)
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_PLAY_FULL_NAME) //0xAC
|
||||
{
|
||||
printf("KT_CMD_PLAY_FULL_NAME \n");
|
||||
if (pack->buf[3] == '$')
|
||||
{
|
||||
//char temp[32];
|
||||
@ -328,7 +282,6 @@ static void uart_process(tRxPacket *pack)
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_PLAY_NUM) //0xAD
|
||||
{
|
||||
printf("KT_CMD_PLAY_NUM \n");
|
||||
u16 num = 0;
|
||||
num = pack->buf[3];
|
||||
num = num << 8;
|
||||
@ -337,56 +290,8 @@ static void uart_process(tRxPacket *pack)
|
||||
app_task_put_key_msg(KEY_USER_PLAY_NUM, num); //test demo
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_CYCLE)
|
||||
{
|
||||
printf("KT_CMD_CYCLE \n");
|
||||
//app_task_put_key_msg(KEY_USER_PLAY_CYCLE, pack->buf[3]);
|
||||
kt_change_cycle(pack->buf[3]);
|
||||
uart_ack(pack->buf[2], KT_OK);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_GET_FILE_NUM) //文件数量
|
||||
{
|
||||
printf("KT_CMD_GET_FILE_NUM \n");
|
||||
u16 num = 0;
|
||||
num = music_player_get_file_total();
|
||||
printf("num = %d\n", num);
|
||||
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_GET_DIR_NUM) //文件夹数量
|
||||
{
|
||||
printf("KT_CMD_GET_DIR_NUM \n");
|
||||
u16 num = 0;
|
||||
num = music_player_get_dir_total();
|
||||
printf("num = %d\n", num);
|
||||
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_GET_DIR_FILE_NUM) //当前文件夹文件数量
|
||||
{
|
||||
printf("KT_CMD_GET_DIR_FILE_NUM \n");
|
||||
u16 num = 0;
|
||||
num = music_player_get_fileindir_number();
|
||||
printf("num = %d\n", num);
|
||||
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_GET_PLAY_TOTAL_TIME) //播放总时间
|
||||
{
|
||||
printf("KT_CMD_GET_PLAY_TOTAL_TIME \n");
|
||||
u16 num = 0;
|
||||
num = music_player_get_dec_total_time();
|
||||
printf("num = %d\n", num);
|
||||
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||
}
|
||||
else if (pack->buf[2] == KT_CMD_GET_PLAY_CUR_TIME) //播放当前时间
|
||||
{
|
||||
printf("KT_CMD_GET_PLAY_CUR_TIME \n");
|
||||
u16 num = 0;
|
||||
num = music_player_get_dec_cur_time();
|
||||
printf("num = %d\n", num);
|
||||
uart_ack_d16(pack->buf[2], KT_OK, num);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("KT_CMD_UNCMD \n");
|
||||
uart_ack(pack->buf[2], KT_ERR_UNCMD);
|
||||
}
|
||||
}
|
||||
|
@ -46,7 +46,7 @@
|
||||
#define TCFG_UART0_RX_PORT NO_CONFIG_PORT //串口接收脚配置(用于打印可以选择NO_CONFIG_PORT)
|
||||
|
||||
#if 1
|
||||
#define TCFG_UART0_TX_PORT IO_PORT_DP //串口发送脚配置
|
||||
#define TCFG_UART0_TX_PORT IO_PORTA_05 //串口发送脚配置
|
||||
#define TCFG_UART0_BAUDRATE 115200 //串口波特率配置
|
||||
#else
|
||||
#define TCFG_UART0_TX_PORT IO_PORTA_05 //串口发送脚配置
|
||||
@ -74,7 +74,7 @@
|
||||
//*********************************************************************************//
|
||||
// 硬件SPI 配置 //
|
||||
//*********************************************************************************//
|
||||
#define TCFG_HW_SPI1_ENABLE DISABLE_THIS_MOUDLE
|
||||
#define TCFG_HW_SPI1_ENABLE ENABLE_THIS_MOUDLE
|
||||
//A组IO: DI: PB2 DO: PB1 CLK: PB0
|
||||
//B组IO: DI: PC3 DO: PC5 CLK: PC4
|
||||
#define TCFG_HW_SPI1_PORT 'B'
|
||||
@ -93,7 +93,7 @@
|
||||
//*********************************************************************************//
|
||||
// FLASH 配置 //
|
||||
//*********************************************************************************//
|
||||
#define TCFG_NORFLASH_DEV_ENABLE DISABLE_THIS_MOUDLE //需要关闭SD0
|
||||
#define TCFG_NORFLASH_DEV_ENABLE ENABLE_THIS_MOUDLE //需要关闭SD0
|
||||
#define TCFG_FLASH_DEV_SPI_HW_NUM 1// 1: SPI1 2: SPI2
|
||||
#define TCFG_FLASH_DEV_SPI_CS_PORT IO_PORTC_03
|
||||
|
||||
@ -126,7 +126,7 @@
|
||||
//A组IO: CMD:PC4 CLK:PC5 DAT0:PC3 //D组IO: CMD:PB2 CLK:PB0 DAT0:PB3
|
||||
//B组IO: CMD:PB6 CLK:PB7 DAT0:PB5 //E组IO: CMD:PA4 CLK:PC5 DAT0:DM
|
||||
//C组IO: CMD:PA4 CLK:PA2 DAT0:PA3 //F组IO: CMD:PB6 CLK:PB7 DAT0:PB4
|
||||
#define TCFG_SD0_ENABLE ENABLE_THIS_MOUDLE
|
||||
#define TCFG_SD0_ENABLE DISABLE_THIS_MOUDLE
|
||||
#define TCFG_SD0_PORTS 'A'
|
||||
#define TCFG_SD0_DAT_MODE 1//AC696x不支持4线模式
|
||||
#define TCFG_SD0_DET_MODE SD_CLK_DECT
|
||||
@ -249,13 +249,13 @@
|
||||
|
||||
//必须从小到大填电阻,没有则同VDDIO,填0x3ffL
|
||||
#define TCFG_ADKEY_AD0 (0) //0R
|
||||
#define TCFG_ADKEY_AD1 (0x3ffL * 47 / (47 + R_UP)) //3k
|
||||
#define TCFG_ADKEY_AD2 (0x3ffL * 100 / (100 + R_UP)) //6.2k
|
||||
#define TCFG_ADKEY_AD3 (0x3ffL * 220 / (220 + R_UP)) //9.1k
|
||||
#define TCFG_ADKEY_AD4 (0x3ffL * 470 / (470 + R_UP)) //15k
|
||||
#define TCFG_ADKEY_AD5 (0x3ffL) //24k
|
||||
#define TCFG_ADKEY_AD6 (0x3ffL) //33k
|
||||
#define TCFG_ADKEY_AD7 (0x3ffL) //51k
|
||||
#define TCFG_ADKEY_AD1 (0x3ffL * 10 / (10 + R_UP)) //3k
|
||||
#define TCFG_ADKEY_AD2 (0x3ffL * 22 / (22 + R_UP)) //6.2k
|
||||
#define TCFG_ADKEY_AD3 (0x3ffL * 47 / (47 + R_UP)) //9.1k
|
||||
#define TCFG_ADKEY_AD4 (0x3ffL * 68 / (68 + R_UP)) //15k
|
||||
#define TCFG_ADKEY_AD5 (0x3ffL * 100 / (100 + R_UP)) //24k
|
||||
#define TCFG_ADKEY_AD6 (0x3ffL * 150 / (150 + R_UP)) //33k
|
||||
#define TCFG_ADKEY_AD7 (0x3ffL * 240 / (240 + R_UP)) //51k
|
||||
#define TCFG_ADKEY_AD8 (0x3ffL) //100k
|
||||
#define TCFG_ADKEY_AD9 (0x3ffL)
|
||||
#define TCFG_ADKEY_VDDIO (0x3ffL)
|
||||
@ -419,7 +419,7 @@ DAC硬件上的连接方式,可选的配置:
|
||||
#define AUDIO_OUTPUT_WAY AUDIO_OUTPUT_WAY_DAC
|
||||
#define LINEIN_INPUT_WAY LINEIN_INPUT_WAY_ANALOG
|
||||
|
||||
#define AUDIO_OUTPUT_AUTOMUTE 1//ENABLE
|
||||
#define AUDIO_OUTPUT_AUTOMUTE 0//ENABLE
|
||||
/*
|
||||
*系统音量类型选择
|
||||
*软件数字音量是指纯软件对声音进行运算后得到的
|
||||
|
@ -133,28 +133,28 @@ const u16 linein_key_ad_table[KEY_AD_NUM_MAX][KEY_EVENT_MAX] = {
|
||||
const u16 music_key_ad_table[KEY_AD_NUM_MAX][KEY_EVENT_MAX] = {
|
||||
//单击 //长按 //hold //抬起 //双击 //三击
|
||||
[0] = {
|
||||
KEY_MUSIC_PP, KEY_POWEROFF, KEY_POWEROFF_HOLD, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_CHANGE_MODE, KEY_POWEROFF, KEY_POWEROFF_HOLD, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
},
|
||||
[1] = {
|
||||
KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_MUSIC_CHANGE_REPEAT, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
},
|
||||
[2] = {
|
||||
KEY_VOL_UP, KEY_VOL_UP, KEY_VOL_UP, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_MUSIC_PP, KEY_MUSIC_CHANGE_DEV, KEY_NULL, KEY_NULL, KEY_EQ_MODE, KEY_NULL
|
||||
},
|
||||
[3] = {
|
||||
KEY_MUSIC_PREV, KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_MUSIC_PLAYE_NEXT_FOLDER, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
},
|
||||
[4] = {
|
||||
KEY_MUSIC_NEXT, KEY_VOL_UP, KEY_VOL_UP, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_MUSIC_PREV, KEY_VOL_DOWN, KEY_VOL_DOWN, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
},
|
||||
[5] = {
|
||||
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_MUSIC_PLAYE_PREV_FOLDER, KEY_NULL, KEY_MUSIC_FR, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
},
|
||||
[6] = {
|
||||
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_MUSIC_NEXT, KEY_VOL_UP, KEY_VOL_UP, KEY_NULL, KEY_REVERB_OPEN, KEY_NULL
|
||||
},
|
||||
[7] = {
|
||||
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
KEY_MUSIC_PLAYE_REC_FOLDER_SWITCH, KEY_NULL, KEY_MUSIC_FF, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
},
|
||||
[8] = {
|
||||
KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL, KEY_NULL
|
||||
|
@ -96,28 +96,16 @@ static void app_init()
|
||||
do_platform_initcall();
|
||||
|
||||
board_init();
|
||||
//mute/busy HiZ
|
||||
gpio_set_pull_down(IO_PORTA_02,0);
|
||||
gpio_set_pull_up(IO_PORTA_02,0);
|
||||
gpio_set_die(IO_PORTA_02,1);
|
||||
gpio_set_direction(IO_PORTA_02,1);
|
||||
//mute
|
||||
gpio_set_pull_down(IO_PORTA_04,0);
|
||||
gpio_set_pull_up(IO_PORTA_04,0);
|
||||
gpio_set_direction(IO_PORTA_04,0);
|
||||
gpio_set_output_value(IO_PORTA_04,1);
|
||||
|
||||
gpio_set_pull_down(IO_PORTC_02,0);
|
||||
gpio_set_pull_up(IO_PORTC_02,0);
|
||||
gpio_set_die(IO_PORTC_02,1);
|
||||
gpio_set_direction(IO_PORTC_02,1);
|
||||
|
||||
|
||||
|
||||
gpio_set_pull_down(IO_PORTA_01,0);
|
||||
gpio_set_pull_up(IO_PORTA_01,0);
|
||||
gpio_set_die(IO_PORTA_01,1);
|
||||
gpio_set_direction(IO_PORTA_01,1);
|
||||
gpio_set_pull_down(IO_PORTA_02,0);
|
||||
gpio_set_pull_up(IO_PORTA_02,0);
|
||||
gpio_set_die(IO_PORTA_02,1);
|
||||
gpio_set_direction(IO_PORTA_02,1);
|
||||
|
||||
do_initcall();
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#define CONFIG_DEBUG_LIB(x) (x & LIB_DEBUG)
|
||||
|
||||
//#define CONFIG_DEBUG_ENABLE
|
||||
#define CONFIG_DEBUG_ENABLE
|
||||
|
||||
#ifndef CONFIG_DEBUG_ENABLE
|
||||
//#define CONFIG_DEBUG_LITE_ENABLE //轻量级打印开关, 默认关闭
|
||||
|
@ -178,8 +178,6 @@ enum {
|
||||
KEY_USER_PLAY_NUM,
|
||||
KEY_USER_PLAY_NAME,
|
||||
KEY_USER_PLAY_FULL_NAME,
|
||||
//KEY_USER_PLAY_CYCLE,
|
||||
KEY_USER_PLAY_STOP,
|
||||
|
||||
KEY_IR_NUM_0, //中间不允许插入
|
||||
KEY_IR_NUM_1,
|
||||
|
@ -18,7 +18,6 @@
|
||||
#include "common/dev_status.h"
|
||||
#include "clock_cfg.h"
|
||||
#include "system/fs/fs.h"
|
||||
#include "kt.h"
|
||||
|
||||
/*************************************************************
|
||||
此文件函数主要是music模式按键处理和事件处理
|
||||
@ -431,7 +430,7 @@ void music_player_err_deal(int err)
|
||||
}
|
||||
else
|
||||
{
|
||||
// msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 所有文件都是错误的, 切换到下一个设备
|
||||
//msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 所有文件都是错误的, 切换到下一个设备
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -439,11 +438,11 @@ void music_player_err_deal(int err)
|
||||
__this->file_err_counter++;
|
||||
if (__this->file_play_direct == 0)
|
||||
{
|
||||
// msg = KEY_MUSIC_NEXT; // 播放下一曲
|
||||
//msg = KEY_MUSIC_NEXT; // 播放下一曲
|
||||
}
|
||||
else
|
||||
{
|
||||
// msg = KEY_MUSIC_PREV; // 播放上一曲
|
||||
//msg = KEY_MUSIC_PREV; // 播放上一曲
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -455,7 +454,7 @@ void music_player_err_deal(int err)
|
||||
}
|
||||
else
|
||||
{
|
||||
// msg = KEY_MUSIC_PLAYER_START; /// 没有找到指定设备, 播放之前的活动设备
|
||||
//msg = KEY_MUSIC_PLAYER_START; /// 没有找到指定设备, 播放之前的活动设备
|
||||
}
|
||||
break;
|
||||
|
||||
@ -494,7 +493,7 @@ void music_player_err_deal(int err)
|
||||
}
|
||||
else
|
||||
{
|
||||
// msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 切换设备
|
||||
//msg = KEY_MUSIC_AUTO_NEXT_DEV; /// 切换设备
|
||||
}
|
||||
break;
|
||||
case MUSIC_PLAYER_ERR_FILE_NOFOUND:
|
||||
@ -511,7 +510,7 @@ void music_player_err_deal(int err)
|
||||
{
|
||||
if (music_player_get_file_total())
|
||||
{
|
||||
// msg = KEY_MUSIC_PLAYER_PLAY_FIRST; /// 有文件,播放第一个文件
|
||||
//msg = KEY_MUSIC_PLAYER_PLAY_FIRST; /// 有文件,播放第一个文件
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -522,7 +521,7 @@ void music_player_err_deal(int err)
|
||||
}
|
||||
else
|
||||
{
|
||||
// msg = KEY_MUSIC_AUTO_NEXT_DEV;
|
||||
//msg = KEY_MUSIC_AUTO_NEXT_DEV;
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -596,14 +595,14 @@ static int music_key_event_opr(struct sys_event *event)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
//if (true == breakpoint_vm_read(breakpoint, logo))
|
||||
//{
|
||||
// err = music_player_play_by_breakpoint(logo, breakpoint);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
if (true == breakpoint_vm_read(breakpoint, logo))
|
||||
{
|
||||
err = music_player_play_by_breakpoint(logo, breakpoint);
|
||||
}
|
||||
else
|
||||
{
|
||||
err = music_player_play_first_file(logo);
|
||||
//}
|
||||
}
|
||||
break;
|
||||
case KEY_USER_PLAY_NUM:
|
||||
printf("KEY_USER_PLAY_NUM = %d !!\n", msg[1]);
|
||||
@ -611,12 +610,8 @@ static int music_key_event_opr(struct sys_event *event)
|
||||
// sprintf(str, "/%03d.*", msg[1]);
|
||||
// printf("%s \n", str);
|
||||
// err = music_player_play_by_path((char *)"fat_nor", str);
|
||||
err = music_player_play_by_number((char *)"sd0", msg[1]);
|
||||
err = music_player_play_by_number((char *)"fat_nor", msg[1]);
|
||||
printf("err = %d\n", err);
|
||||
if (kt_get_cycle() == FCYCLE_ONE)
|
||||
{
|
||||
kt_set_last_play(1, msg[1], NULL);
|
||||
}
|
||||
break;
|
||||
case KEY_USER_PLAY_NAME:
|
||||
printf("KEY_USER_PLAY_NAME !!\n");
|
||||
@ -629,37 +624,16 @@ static int music_key_event_opr(struct sys_event *event)
|
||||
strcat(str, ".*");
|
||||
// strcat(play_name,".*")
|
||||
printf("%s \n", str);
|
||||
err = music_player_play_by_path((char *)"sd0", str);
|
||||
err = music_player_play_by_path((char *)"fat_nor", str);
|
||||
printf("err = %d\n", err);
|
||||
if (kt_get_cycle() == FCYCLE_ONE)
|
||||
{
|
||||
kt_set_last_play(2, 0, str);
|
||||
}
|
||||
break;
|
||||
case KEY_USER_PLAY_FULL_NAME:
|
||||
printf("KEY_USER_PLAY_FULL_NAME !!\n");
|
||||
play_name = (char *)msg[1];
|
||||
printf("%s \n", play_name);
|
||||
|
||||
err = music_player_play_by_path((char *)"sd0", play_name);
|
||||
err = music_player_play_by_path((char *)"fat_nor", play_name);
|
||||
printf("err = %d\n", err);
|
||||
if (kt_get_cycle() == FCYCLE_ONE)
|
||||
{
|
||||
kt_set_last_play(3, 0, play_name);
|
||||
}
|
||||
break;
|
||||
/*case KEY_USER_PLAY_CYCLE:
|
||||
printf("KEY_USER_PLAY_CYCLE !!\n");
|
||||
if (msg[1] < FCYCLE_MAX)
|
||||
{
|
||||
kt_change_cycle(msg[1]);
|
||||
music_player_set_repeat_mode(msg[1]);
|
||||
}
|
||||
break;*/
|
||||
case KEY_USER_PLAY_STOP:
|
||||
printf("KEY_USER_PLAY_STOP !!\n");
|
||||
//err = music_player_end_deal(msg[1]);
|
||||
music_player_stop(0);
|
||||
break;
|
||||
/// 播放器退出处理
|
||||
case KEY_MUSIC_PLAYER_QUIT:
|
||||
@ -670,29 +644,6 @@ static int music_key_event_opr(struct sys_event *event)
|
||||
case KEY_MUSIC_PLAYER_END:
|
||||
printf("KEY_MUSIC_PLAYER_END\n");
|
||||
err = music_player_end_deal(msg[1]);
|
||||
if (kt_get_cycle() == FCYCLE_ONE)
|
||||
{
|
||||
u8 mode, num;
|
||||
char name[32];
|
||||
kt_get_last_play(&mode, &num, name);
|
||||
printf("mode = %d, num = %d, name = %s\n", mode, num, name);
|
||||
if (mode == 0)
|
||||
{
|
||||
printf("noting to do\n");
|
||||
}
|
||||
else if (mode == 1)
|
||||
{
|
||||
printf("play by number\n");
|
||||
err = music_player_play_by_number((char *)"sd0", num);
|
||||
printf("err = %d\n", err);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("play by path\n");
|
||||
err = music_player_play_by_path((char *)"sd0", name);
|
||||
printf("err = %d\n", err);
|
||||
}
|
||||
}
|
||||
break;
|
||||
/// 播放执行类消息
|
||||
case KEY_MUSIC_PP:
|
||||
@ -1035,29 +986,18 @@ int music_app_check(void)
|
||||
@note
|
||||
*/
|
||||
/*----------------------------------------------------------------------------*/
|
||||
//static u8 first_start = 0;
|
||||
void app_music_task()
|
||||
{
|
||||
int res;
|
||||
int msg[32];
|
||||
|
||||
music_task_start();
|
||||
|
||||
//first_start = 1;
|
||||
|
||||
#if (MUSIC_DEVICE_TONE_EN)
|
||||
music_player_play_start();
|
||||
#else
|
||||
// tone_play_with_callback_by_name(tone_table[IDEX_TONE_MUSIC], 1, music_tone_play_end_callback, (void *)IDEX_TONE_MUSIC);
|
||||
#endif
|
||||
//music_player_set_repeat_mode(FCYCLE_ONE);
|
||||
kt_change_cycle(FCYCLE_LIST);
|
||||
|
||||
//dev_manager_set_active_by_logo("sd0");
|
||||
//dev_manager_set_valid_by_logo("sd0", 1);
|
||||
|
||||
app_task_put_key_msg(KEY_MUSIC_PLAYER_START, 0);
|
||||
|
||||
music_player_set_repeat_mode(FCYCLE_ONE);
|
||||
|
||||
while (1)
|
||||
{
|
||||
|
@ -55,20 +55,20 @@ extern void mix_out_automute_open();
|
||||
extern void mix_out_automute_close();
|
||||
#endif
|
||||
|
||||
#define AUDIO_CODEC_SUPPORT_SYNC 1 // 同步
|
||||
#define AUDIO_CODEC_SUPPORT_SYNC 1 // 同步
|
||||
|
||||
#if (RECORDER_MIX_EN)
|
||||
#define MAX_SRC_NUMBER 4 // 最大支持src个数
|
||||
#define MAX_SRC_NUMBER 4 // 最大支持src个数
|
||||
#else
|
||||
#define MAX_SRC_NUMBER 3 // 最大支持src个数
|
||||
#endif /*RECORDER_MIX_EN*/
|
||||
#define MAX_SRC_NUMBER 3 // 最大支持src个数
|
||||
#endif/*RECORDER_MIX_EN*/
|
||||
|
||||
#define AUDIO_DECODE_TASK_WAKEUP_TIME 0 // 解码定时唤醒 // ms
|
||||
#define AUDIO_DECODE_TASK_WAKEUP_TIME 0 // 解码定时唤醒 // ms
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
struct audio_decoder_task decode_task = {0};
|
||||
struct audio_mixer mixer = {0};
|
||||
struct audio_decoder_task decode_task = {0};
|
||||
struct audio_mixer mixer = {0};
|
||||
/*struct audio_stream_dac_out *dac_last = NULL;*/
|
||||
|
||||
static u8 audio_dec_inited = 0;
|
||||
@ -79,12 +79,12 @@ struct audio_eq_drc *mix_eq_drc = NULL;
|
||||
struct prevent_task_fill *prevent_fill = NULL;
|
||||
#endif
|
||||
|
||||
u8 audio_src_hw_filt[SRC_FILT_POINTS * SRC_CHI * 2 * MAX_SRC_NUMBER];
|
||||
u8 audio_src_hw_filt[SRC_FILT_POINTS * SRC_CHI * 2 * MAX_SRC_NUMBER];
|
||||
s16 mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
||||
#if (RECORDER_MIX_EN)
|
||||
struct audio_mixer recorder_mixer = {0};
|
||||
s16 recorder_mix_buff[AUDIO_MIXER_LEN / 2] SEC(.dec_mix_buff);
|
||||
#endif /*RECORDER_MIX_EN*/
|
||||
#endif/*RECORDER_MIX_EN*/
|
||||
|
||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DAC)
|
||||
#if AUDIO_CODEC_SUPPORT_SYNC
|
||||
@ -97,9 +97,11 @@ vocal_remove_hdl *mix_vocal_remove_hdl = NULL;
|
||||
void *vocal_remove_open(u8 ch_num);
|
||||
#endif
|
||||
|
||||
|
||||
extern const int config_mixer_en;
|
||||
|
||||
#define AUDIO_DEC_MIXER_EN config_mixer_en
|
||||
#define AUDIO_DEC_MIXER_EN config_mixer_en
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
void *mix_out_eq_drc_open(u16 sample_rate, u8 ch_num);
|
||||
@ -121,8 +123,7 @@ int audio_dac_energy_get(void)
|
||||
{
|
||||
#if AUDIO_OUTPUT_AUTOMUTE
|
||||
int audio_energy_detect_energy_get(void *_hdl, u8 ch);
|
||||
if (mix_out_automute_hdl)
|
||||
{
|
||||
if (mix_out_automute_hdl) {
|
||||
return audio_energy_detect_energy_get(mix_out_automute_hdl, BIT(0));
|
||||
}
|
||||
|
||||
@ -192,7 +193,7 @@ void audio_dac_sync_src_deal(int in_rate, int out_rate)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static void audio_decoder_wakeup_timer(void *priv)
|
||||
{
|
||||
// putchar('k');
|
||||
//putchar('k');
|
||||
audio_resume_all_decoder();
|
||||
}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@ -204,8 +205,7 @@ static void audio_decoder_wakeup_timer(void *priv)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
||||
{
|
||||
if (task->wakeup_timer == 0)
|
||||
{
|
||||
if (task->wakeup_timer == 0) {
|
||||
task->wakeup_timer = sys_hi_timer_add(NULL, audio_decoder_wakeup_timer, AUDIO_DECODE_TASK_WAKEUP_TIME);
|
||||
log_i("audio_decoder_task_add_probe:%d\n", task->wakeup_timer);
|
||||
}
|
||||
@ -221,13 +221,11 @@ int audio_decoder_task_add_probe(struct audio_decoder_task *task)
|
||||
int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
||||
{
|
||||
log_i("audio_decoder_task_del_probe\n");
|
||||
if (audio_decoder_task_wait_state(task) > 0)
|
||||
{
|
||||
if (audio_decoder_task_wait_state(task) > 0) {
|
||||
/*解码任务列表还有任务*/
|
||||
return 0;
|
||||
}
|
||||
if (task->wakeup_timer)
|
||||
{
|
||||
if (task->wakeup_timer) {
|
||||
log_i("audio_decoder_task_del_probe:%d\n", task->wakeup_timer);
|
||||
sys_hi_timer_del(task->wakeup_timer);
|
||||
task->wakeup_timer = 0;
|
||||
@ -243,14 +241,13 @@ int audio_decoder_task_del_probe(struct audio_decoder_task *task)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
int audio_decoder_wakeup_modify(int msecs)
|
||||
{
|
||||
if (decode_task.wakeup_timer)
|
||||
{
|
||||
if (decode_task.wakeup_timer) {
|
||||
sys_hi_timer_modify(decode_task.wakeup_timer, msecs);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif /*AUDIO_DECODE_TASK_WAKEUP_TIME*/
|
||||
#endif/*AUDIO_DECODE_TASK_WAKEUP_TIME*/
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/**@brief 各模式主解码open
|
||||
@ -269,6 +266,7 @@ void audio_mode_main_dec_open(u32 state)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/**@brief 获取输出默认采样率
|
||||
@param
|
||||
@ -311,14 +309,12 @@ u32 audio_output_nor_rate(void)
|
||||
u32 audio_output_rate(int input_rate)
|
||||
{
|
||||
u32 out_rate = audio_output_nor_rate();
|
||||
if (out_rate)
|
||||
{
|
||||
if (out_rate) {
|
||||
return out_rate;
|
||||
}
|
||||
|
||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN)
|
||||
{
|
||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) {
|
||||
y_printf("+++ \n");
|
||||
return audio_sbc_enc_get_rate();
|
||||
}
|
||||
@ -327,12 +323,11 @@ u32 audio_output_rate(int input_rate)
|
||||
#endif
|
||||
|
||||
#if (TCFG_REVERB_ENABLE || TCFG_MIC_EFFECT_ENABLE)
|
||||
if (input_rate > 48000)
|
||||
{
|
||||
if (input_rate > 48000) {
|
||||
return 48000;
|
||||
}
|
||||
#endif
|
||||
return app_audio_output_samplerate_select(input_rate, 1);
|
||||
return app_audio_output_samplerate_select(input_rate, 1);
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@ -347,26 +342,22 @@ u32 audio_output_channel_num(void)
|
||||
#if AUDIO_OUTPUT_INCLUDE_DAC
|
||||
|
||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN)
|
||||
{
|
||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) {
|
||||
return audio_sbc_enc_get_channel_num();
|
||||
}
|
||||
#endif
|
||||
|
||||
/*根据DAC输出的方式选择输出的声道*/
|
||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF)
|
||||
{
|
||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF) {
|
||||
return 2;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
||||
return 2;
|
||||
return 2;
|
||||
#else
|
||||
return 2;
|
||||
return 2;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -375,10 +366,8 @@ u32 audio_output_channel_type(void)
|
||||
#if AUDIO_OUTPUT_INCLUDE_DAC
|
||||
|
||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_BT)
|
||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN)
|
||||
{
|
||||
if (audio_sbc_enc_get_channel_num() == 2)
|
||||
{
|
||||
if (bt_user_priv_var.emitter_or_receiver == BT_EMITTER_EN) {
|
||||
if (audio_sbc_enc_get_channel_num() == 2) {
|
||||
return AUDIO_CH_LR;
|
||||
}
|
||||
return AUDIO_CH_DIFF;
|
||||
@ -386,27 +375,20 @@ u32 audio_output_channel_type(void)
|
||||
#endif
|
||||
|
||||
/*根据DAC输出的方式选择输出的声道*/
|
||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF)
|
||||
{
|
||||
u8 dac_connect_mode = app_audio_output_mode_get();
|
||||
if (dac_connect_mode == DAC_OUTPUT_LR || dac_connect_mode == DAC_OUTPUT_DUAL_LR_DIFF) {
|
||||
return AUDIO_CH_LR;
|
||||
}
|
||||
else if (dac_connect_mode == DAC_OUTPUT_MONO_L)
|
||||
{
|
||||
} else if (dac_connect_mode == DAC_OUTPUT_MONO_L) {
|
||||
return AUDIO_CH_L;
|
||||
}
|
||||
else if (dac_connect_mode == DAC_OUTPUT_MONO_R)
|
||||
{
|
||||
} else if (dac_connect_mode == DAC_OUTPUT_MONO_R) {
|
||||
return AUDIO_CH_R;
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
return AUDIO_CH_DIFF;
|
||||
}
|
||||
#elif (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_FM)
|
||||
return AUDIO_CH_LR;
|
||||
return AUDIO_CH_LR;
|
||||
#else
|
||||
return AUDIO_CH_LR;
|
||||
return AUDIO_CH_LR;
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -420,14 +402,14 @@ u32 audio_output_channel_type(void)
|
||||
int audio_output_set_start_volume(u8 state)
|
||||
{
|
||||
s16 vol_max = get_max_sys_vol();
|
||||
if (state == APP_AUDIO_STATE_CALL)
|
||||
{
|
||||
if (state == APP_AUDIO_STATE_CALL) {
|
||||
vol_max = app_var.aec_dac_gain;
|
||||
}
|
||||
app_audio_state_switch(state, vol_max);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/**@brief 开始音频输出
|
||||
@param sample_rate: 输出采样率
|
||||
@ -439,13 +421,11 @@ int audio_output_set_start_volume(u8 state)
|
||||
u8 audio_output_flag = 0;
|
||||
int audio_output_start(u32 sample_rate, u8 reset_rate)
|
||||
{
|
||||
if (reset_rate)
|
||||
{
|
||||
if (reset_rate) {
|
||||
app_audio_output_samplerate_set(sample_rate);
|
||||
}
|
||||
|
||||
if (audio_output_flag)
|
||||
{
|
||||
if (audio_output_flag) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -481,15 +461,14 @@ void audio_output_stop(void)
|
||||
*/
|
||||
/*----------------------------------------------------------------------------*/
|
||||
struct audio_src_handle *audio_hw_resample_open(void *priv,
|
||||
int (*output_handler)(void *, void *, int),
|
||||
u8 channel,
|
||||
u16 input_sample_rate,
|
||||
u16 output_sample_rate)
|
||||
int (*output_handler)(void *, void *, int),
|
||||
u8 channel,
|
||||
u16 input_sample_rate,
|
||||
u16 output_sample_rate)
|
||||
{
|
||||
struct audio_src_handle *hdl;
|
||||
hdl = zalloc(sizeof(struct audio_src_handle));
|
||||
if (hdl)
|
||||
{
|
||||
if (hdl) {
|
||||
audio_hw_src_open(hdl, channel, SRC_TYPE_RESAMPLE);
|
||||
audio_hw_src_set_rate(hdl, input_sample_rate, output_sample_rate);
|
||||
audio_src_set_output_handler(hdl, priv, output_handler);
|
||||
@ -507,14 +486,14 @@ struct audio_src_handle *audio_hw_resample_open(void *priv,
|
||||
/*----------------------------------------------------------------------------*/
|
||||
void audio_hw_resample_close(struct audio_src_handle *hdl)
|
||||
{
|
||||
if (hdl)
|
||||
{
|
||||
if (hdl) {
|
||||
audio_hw_src_stop(hdl);
|
||||
audio_hw_src_close(hdl);
|
||||
free(hdl);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/**@brief mixer事件处理
|
||||
@param *mixer: 句柄
|
||||
@ -525,17 +504,14 @@ void audio_hw_resample_close(struct audio_src_handle *hdl)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
||||
{
|
||||
switch (event)
|
||||
{
|
||||
switch (event) {
|
||||
case MIXER_EVENT_OPEN:
|
||||
if (audio_mixer_get_ch_num(mixer) >= 1)
|
||||
{
|
||||
if (audio_mixer_get_ch_num(mixer) >= 1) {
|
||||
clock_add_set(DEC_MIX_CLK);
|
||||
}
|
||||
break;
|
||||
case MIXER_EVENT_CLOSE:
|
||||
if (audio_mixer_get_ch_num(mixer) == 0)
|
||||
{
|
||||
if (audio_mixer_get_ch_num(mixer) == 0) {
|
||||
clock_remove_set(DEC_MIX_CLK);
|
||||
}
|
||||
|
||||
@ -551,6 +527,7 @@ static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/**@brief 检测mixer采样率支持
|
||||
@ -562,8 +539,7 @@ static void mixer_event_handler(struct audio_mixer *mixer, int event)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static u32 audio_mixer_check_sr(struct audio_mixer *mixer, u32 sr)
|
||||
{
|
||||
return audio_output_rate(sr);
|
||||
;
|
||||
return audio_output_rate(sr);;
|
||||
}
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@ -577,6 +553,7 @@ static void audio_last_out_stream_resume(void *p)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/**@brief 音频解码初始化
|
||||
@param
|
||||
@ -591,38 +568,36 @@ int audio_dec_init()
|
||||
|
||||
printf("audio_dec_init\n");
|
||||
|
||||
|
||||
err = audio_decoder_task_create(&decode_task, "audio_dec");
|
||||
|
||||
#if (TCFG_PREVENT_TASK_FILL)
|
||||
prevent_fill = prevent_task_fill_create("prevent");
|
||||
if (prevent_fill)
|
||||
{
|
||||
if (prevent_fill) {
|
||||
decode_task.prevent_fill = prevent_task_fill_ch_open(prevent_fill, 20);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
app_audio_output_init();
|
||||
|
||||
/*硬件SRC模块滤波器buffer设置,可根据最大使用数量设置整体buffer*/
|
||||
audio_src_base_filt_init(audio_src_hw_filt, sizeof(audio_src_hw_filt));
|
||||
|
||||
if (!AUDIO_DEC_MIXER_EN)
|
||||
{
|
||||
if (!AUDIO_DEC_MIXER_EN) {
|
||||
goto __mixer_init_end;
|
||||
}
|
||||
audio_mixer_open(&mixer);
|
||||
audio_mixer_set_event_handler(&mixer, mixer_event_handler);
|
||||
audio_mixer_set_check_sr_handler(&mixer, audio_mixer_check_sr);
|
||||
if (config_mixer_en)
|
||||
{
|
||||
if (config_mixer_en) {
|
||||
/*初始化mix_buf的长度*/
|
||||
audio_mixer_set_output_buf(&mixer, mix_buff, sizeof(mix_buff));
|
||||
}
|
||||
u8 ch_num = audio_output_channel_num();
|
||||
audio_mixer_set_channel_num(&mixer, ch_num);
|
||||
u32 sr = audio_output_nor_rate();
|
||||
if (sr)
|
||||
{
|
||||
if (sr) {
|
||||
// 固定采样率输出
|
||||
audio_mixer_set_sample_rate(&mixer, MIXER_SR_SPEC, sr);
|
||||
}
|
||||
@ -643,15 +618,13 @@ int audio_dec_init()
|
||||
u8 entry_cnt = 0;
|
||||
entries[entry_cnt++] = &mixer.entry;
|
||||
#if TCFG_EQ_ENABLE && TCFG_AUDIO_OUT_EQ_ENABLE
|
||||
if (mix_eq_drc)
|
||||
{
|
||||
if (mix_eq_drc) {
|
||||
entries[entry_cnt++] = &mix_eq_drc->entry;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if AUDIO_VOCAL_REMOVE_EN
|
||||
if (mix_vocal_remove_hdl)
|
||||
{
|
||||
if (mix_vocal_remove_hdl) {
|
||||
entries[entry_cnt++] = &mix_vocal_remove_hdl->entry;
|
||||
}
|
||||
#endif
|
||||
@ -673,6 +646,7 @@ int audio_dec_init()
|
||||
entry_cnt++;
|
||||
#endif
|
||||
|
||||
|
||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_IIS)
|
||||
audio_dig_vol_param iis_digvol_last_param = {
|
||||
.vol_start = app_var.music_volume,
|
||||
@ -692,12 +666,12 @@ int audio_dec_init()
|
||||
entries[entry_cnt++] = iis_entries_start;
|
||||
entries[entry_cnt++] = iis_digvol_last_entry;
|
||||
entries[entry_cnt++] = iis_last_entry;
|
||||
for (int i = 0; i < entry_cnt - 1; i++)
|
||||
{
|
||||
for (int i = 0; i < entry_cnt - 1; i++) {
|
||||
audio_stream_add_entry(entries[i], entries[i + 1]);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#if (AUDIO_OUTPUT_WAY == AUDIO_OUTPUT_WAY_DONGLE)
|
||||
/* #if 1 */
|
||||
{
|
||||
@ -720,8 +694,7 @@ int audio_dec_init()
|
||||
entries[entry_cnt++] = dongle_entries_start;
|
||||
entries[entry_cnt++] = dongle_digvol_last_entry;
|
||||
entries[entry_cnt++] = &dongle_emitter.mix_ch.entry;
|
||||
for (int i = 0; i < entry_cnt - 1; i++)
|
||||
{
|
||||
for (int i = 0; i < entry_cnt - 1; i++) {
|
||||
audio_stream_add_entry(entries[i], entries[i + 1]);
|
||||
}
|
||||
#endif
|
||||
@ -748,7 +721,7 @@ __mixer_init_end:
|
||||
|
||||
#if (RECORDER_MIX_EN)
|
||||
recorder_mix_init(&recorder_mixer, recorder_mix_buff, sizeof(recorder_mix_buff));
|
||||
#endif // RECORDER_MIX_EN
|
||||
#endif//RECORDER_MIX_EN
|
||||
|
||||
app_audio_volume_init();
|
||||
audio_output_set_start_volume(APP_AUDIO_STATE_MUSIC);
|
||||
@ -765,9 +738,14 @@ __mixer_init_end:
|
||||
|
||||
audio_dec_inited = 1;
|
||||
|
||||
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/**@brief 音频解码初始化判断
|
||||
@param
|
||||
@ -778,8 +756,7 @@ __mixer_init_end:
|
||||
/*----------------------------------------------------------------------------*/
|
||||
static u8 audio_dec_init_complete()
|
||||
{
|
||||
if (!audio_dec_inited)
|
||||
{
|
||||
if (!audio_dec_inited) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -790,6 +767,7 @@ REGISTER_LP_TARGET(audio_dec_init_lp_target) = {
|
||||
.is_idle = audio_dec_init_complete,
|
||||
};
|
||||
|
||||
|
||||
struct drc_ch high_bass_drc = {0};
|
||||
static int high_bass_th = 0;
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@ -803,18 +781,15 @@ static int high_bass_th = 0;
|
||||
int high_bass_drc_set_filter_info(int th)
|
||||
{
|
||||
/* int th = 0; // -60 ~ 0 db */
|
||||
if (th < -60)
|
||||
{
|
||||
if (th < -60) {
|
||||
th = -60;
|
||||
}
|
||||
if (th > 0)
|
||||
{
|
||||
if (th > 0) {
|
||||
th = 0;
|
||||
}
|
||||
local_irq_disable();
|
||||
high_bass_th = th;
|
||||
if (mix_eq_drc && mix_eq_drc->drc)
|
||||
{
|
||||
if (mix_eq_drc && mix_eq_drc->drc) {
|
||||
mix_eq_drc->drc->updata = 1;
|
||||
}
|
||||
local_irq_enable();
|
||||
@ -831,7 +806,7 @@ int high_bass_drc_set_filter_info(int th)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
int high_bass_drc_get_filter_info(struct audio_drc *drc, struct audio_drc_filter_info *info)
|
||||
{
|
||||
int th = high_bass_th; //-60 ~0db
|
||||
int th = high_bass_th;//-60 ~0db
|
||||
int threshold = round(pow(10.0, th / 20.0) * 32768); // 0db:32768, -60db:33
|
||||
|
||||
high_bass_drc.nband = 1;
|
||||
@ -871,8 +846,7 @@ void *mix_out_eq_drc_open(u16 sample_rate, u8 ch_num)
|
||||
#endif
|
||||
log_i("=====sr %d, ch_num %d\n", sample_rate, ch_num);
|
||||
|
||||
if (effect_parm.eq_en)
|
||||
{
|
||||
if (effect_parm.eq_en) {
|
||||
effect_parm.async_en = 1;
|
||||
effect_parm.out_32bit = 1;
|
||||
effect_parm.online_en = 0;
|
||||
@ -890,8 +864,7 @@ void *mix_out_eq_drc_open(u16 sample_rate, u8 ch_num)
|
||||
eq_drc = audio_eq_drc_open(&effect_parm);
|
||||
|
||||
clock_add(EQ_CLK);
|
||||
if (effect_parm.drc_en)
|
||||
{
|
||||
if (effect_parm.drc_en) {
|
||||
clock_add(EQ_DRC_CLK);
|
||||
}
|
||||
#endif
|
||||
@ -911,8 +884,7 @@ void mix_out_eq_drc_close(struct audio_eq_drc *eq_drc)
|
||||
{
|
||||
#if TCFG_EQ_ENABLE
|
||||
#if TCFG_AUDIO_OUT_EQ_ENABLE
|
||||
if (eq_drc)
|
||||
{
|
||||
if (eq_drc) {
|
||||
audio_eq_drc_close(eq_drc);
|
||||
eq_drc = NULL;
|
||||
clock_remove(EQ_CLK);
|
||||
@ -939,8 +911,7 @@ void mix_out_eq_drc_close(struct audio_eq_drc *eq_drc)
|
||||
|
||||
void mix_out_high_bass(u32 cmd, struct high_bass *hb)
|
||||
{
|
||||
if (mix_eq_drc)
|
||||
{
|
||||
if (mix_eq_drc) {
|
||||
audio_eq_drc_parm_update(mix_eq_drc, cmd, (void *)hb);
|
||||
}
|
||||
}
|
||||
@ -954,26 +925,16 @@ void mix_out_high_bass(u32 cmd, struct high_bass *hb)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
void mix_out_high_bass_dis(u32 cmd, u8 dis)
|
||||
{
|
||||
if (mix_eq_drc)
|
||||
{
|
||||
if (mix_eq_drc) {
|
||||
audio_eq_drc_parm_update(mix_eq_drc, cmd, (void *)dis);
|
||||
}
|
||||
}
|
||||
|
||||
#if AUDIO_OUTPUT_AUTOMUTE
|
||||
#include "kt.h"
|
||||
|
||||
void audio_mix_out_automute_mute(u8 mute)
|
||||
{
|
||||
printf(">>>>>>>>>>>>>>>>>>>> %s\n", mute ? ("MUTE") : ("UNMUTE"));
|
||||
if (mute)
|
||||
{
|
||||
PA_MUTE();
|
||||
}
|
||||
else
|
||||
{
|
||||
PA_UNMUTE();
|
||||
}
|
||||
}
|
||||
|
||||
/* #define AUDIO_E_DET_UNMUTE (0x00) */
|
||||
@ -981,8 +942,7 @@ void audio_mix_out_automute_mute(u8 mute)
|
||||
void mix_out_automute_handler(u8 event, u8 ch)
|
||||
{
|
||||
printf(">>>> ch:%d %s\n", ch, event ? ("MUTE") : ("UNMUTE"));
|
||||
if (ch == app_audio_output_channel_get())
|
||||
{
|
||||
if (ch == app_audio_output_channel_get()) {
|
||||
audio_mix_out_automute_mute(event);
|
||||
}
|
||||
}
|
||||
@ -990,8 +950,7 @@ void mix_out_automute_handler(u8 event, u8 ch)
|
||||
void mix_out_automute_skip(u8 skip)
|
||||
{
|
||||
u8 mute = !skip;
|
||||
if (mix_out_automute_hdl)
|
||||
{
|
||||
if (mix_out_automute_hdl) {
|
||||
audio_energy_detect_skip(mix_out_automute_hdl, 0xFFFF, skip);
|
||||
audio_mix_out_automute_mute(mute);
|
||||
}
|
||||
@ -999,8 +958,7 @@ void mix_out_automute_skip(u8 skip)
|
||||
|
||||
void mix_out_automute_open()
|
||||
{
|
||||
if (mix_out_automute_hdl)
|
||||
{
|
||||
if (mix_out_automute_hdl) {
|
||||
printf("mix_out_automute is already open !\n");
|
||||
return;
|
||||
}
|
||||
@ -1020,12 +978,11 @@ void mix_out_automute_open()
|
||||
|
||||
void mix_out_automute_close()
|
||||
{
|
||||
if (mix_out_automute_hdl)
|
||||
{
|
||||
if (mix_out_automute_hdl) {
|
||||
audio_energy_detect_close(mix_out_automute_hdl);
|
||||
}
|
||||
}
|
||||
#endif // #if AUDIO_OUTPUT_AUTOMUTE
|
||||
#endif //#if AUDIO_OUTPUT_AUTOMUTE
|
||||
|
||||
#if AUDIO_VOCAL_REMOVE_EN
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@ -1052,11 +1009,11 @@ void *vocal_remove_open(u8 ch_num)
|
||||
/*----------------------------------------------------------------------------*/
|
||||
void vocal_remove_close()
|
||||
{
|
||||
if (mix_vocal_remove_hdl)
|
||||
{
|
||||
if (mix_vocal_remove_hdl) {
|
||||
audio_vocal_remove_close(mix_vocal_remove_hdl);
|
||||
mix_vocal_remove_hdl = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -1,12 +1,15 @@
|
||||
|
||||
|
||||
|
||||
fat_vfs_ops
|
||||
fat_sdfile_fat_ops
|
||||
|
||||
|
||||
|
||||
sdfile_vfs_ops
|
||||
|
||||
|
||||
|
||||
nor_fs_vfs_ops
|
||||
nor_sdfile_vfs_ops
|
||||
nor_rec_fs_vfs_ops
|
||||
pcm_decoder
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,7 +1,4 @@
|
||||
|
||||
|
||||
|
||||
|
||||
rem @echo off
|
||||
|
||||
@echo *****************************************************************
|
||||
|
@ -156,17 +156,6 @@ objs/apps/common/config/bt_profile_config.c.o
|
||||
-r=objs/apps/common/config/bt_profile_config.c.o,a2dp_mutual_support,pl
|
||||
objs/apps/common/config/ci_transport_uart.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
|
||||
-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
|
||||
@ -241,16 +230,7 @@ objs/apps/common/dev_manager/dev_update.c.o
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,dev_update_check,pl
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,update_success_boot_check,l
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,dev_manager_find_spec,l
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,strcmp,l
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,printf,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,fopen,l
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,storage_update_loader_download_init_with_file_hdl,l
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,update_mode_api,l
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,chip_reset,
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,puts,l
|
||||
-r=objs/apps/common/dev_manager/dev_update.c.o,updata_file_name,l
|
||||
objs/apps/common/device/detection.c.o
|
||||
-r=objs/apps/common/device/detection.c.o,vdet_check,pl
|
||||
-r=objs/apps/common/device/detection.c.o,adc_get_value,l
|
||||
@ -282,6 +262,47 @@ objs/apps/common/device/gSensor/SC7A20.c.o
|
||||
objs/apps/common/device/gSensor/da230.c.o
|
||||
objs/apps/common/device/gSensor/gSensor_manage.c.o
|
||||
objs/apps/common/device/norflash/norflash.c.o
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,_norflash_init,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,log_print,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,os_mutex_create,
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,printf,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,cpu_assert_debug,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,chip_reset,
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,norflash_enter_4byte_addr,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,gpio_write,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_send_byte,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,norflash_exit_4byte_addr,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,_norflash_open,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,os_mutex_pend,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,gpio_set_die,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,gpio_set_direction,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_open,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,malloc,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,_norflash_read,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,sys_timer_add,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,os_mutex_post,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,_norflash_close,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,sys_timer_del,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,_norflash_eraser,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,free,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_close,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,gpio_set_pull_up,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,gpio_set_pull_down,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_set_bit_mode,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_dma_recv,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,_norflash_write,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,_norflash_ioctl,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,strcmp,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_set_baud,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_get_baud,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_recv_byte,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,spi_dma_send,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,delay,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,puts,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,config_asser,l
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,clock_spi_norflash,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,norflash_dev_ops,pl
|
||||
-r=objs/apps/common/device/norflash/norflash.c.o,norfs_dev_ops,pl
|
||||
objs/apps/common/fat_nor/nor_fs.c.o
|
||||
-r=objs/apps/common/fat_nor/nor_fs.c.o,norfs_mutex_init,pl
|
||||
-r=objs/apps/common/fat_nor/nor_fs.c.o,os_mutex_create,
|
||||
@ -336,7 +357,7 @@ objs/apps/common/fat_nor/nor_fs.c.o
|
||||
-r=objs/apps/common/fat_nor/nor_fs.c.o,max_rec_capacity,pl
|
||||
-r=objs/apps/common/fat_nor/nor_fs.c.o,recfs,pl
|
||||
-r=objs/apps/common/fat_nor/nor_fs.c.o,recfile,pl
|
||||
-r=objs/apps/common/fat_nor/nor_fs.c.o,nor_fs_vfs_ops,pl
|
||||
-r=objs/apps/common/fat_nor/nor_fs.c.o,nor_fs_vfs_ops,plx
|
||||
objs/apps/common/fat_nor/phone_rec_fs.c.o
|
||||
-r=objs/apps/common/fat_nor/phone_rec_fs.c.o,phonefs_mutex_init,pl
|
||||
-r=objs/apps/common/fat_nor/phone_rec_fs.c.o,os_mutex_create,
|
||||
@ -527,8 +548,6 @@ objs/apps/common/music/music_player.c.o
|
||||
-r=objs/apps/common/music/music_player.c.o,dev_manager_get_total,l
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_get_dev_flit,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_first_file,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,kt_get_cycle,l
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_auto_next,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_decode_start,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,fget_name,l
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_get_file_hdl,pl
|
||||
@ -592,6 +611,7 @@ objs/apps/common/music/music_player.c.o
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_next_cycle_single_dev,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_next,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,dev_manager_scan_disk,l
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_auto_next,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_folder_prev,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_folder_next,pl
|
||||
-r=objs/apps/common/music/music_player.c.o,music_player_play_devcie_prev,pl
|
||||
@ -631,7 +651,7 @@ objs/apps/common/rec_nor/nor_interface.c.o
|
||||
-r=objs/apps/common/rec_nor/nor_interface.c.o,recfile_write,l
|
||||
-r=objs/apps/common/rec_nor/nor_interface.c.o,recfile_seek,l
|
||||
-r=objs/apps/common/rec_nor/nor_interface.c.o,close_nor_recfile,l
|
||||
-r=objs/apps/common/rec_nor/nor_interface.c.o,nor_rec_fs_vfs_ops,pl
|
||||
-r=objs/apps/common/rec_nor/nor_interface.c.o,nor_rec_fs_vfs_ops,plx
|
||||
objs/apps/common/rec_nor/nor_rec_fs.c.o
|
||||
-r=objs/apps/common/rec_nor/nor_rec_fs.c.o,recfs_mutex_init,pl
|
||||
-r=objs/apps/common/rec_nor/nor_rec_fs.c.o,os_mutex_create,
|
||||
@ -1211,17 +1231,14 @@ objs/apps/kaotings/kt.c.o
|
||||
-r=objs/apps/kaotings/kt.c.o,gpio_set_hd,l
|
||||
-r=objs/apps/kaotings/kt.c.o,gpio_set_output_value,l
|
||||
-r=objs/apps/kaotings/kt.c.o,timer_cb,pl
|
||||
-r=objs/apps/kaotings/kt.c.o,app_get_curr_task,l
|
||||
-r=objs/apps/kaotings/kt.c.o,music_player_get_play_status,l
|
||||
-r=objs/apps/kaotings/kt.c.o,start_timer,pl
|
||||
-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,kt_get_cycle,pl
|
||||
-r=objs/apps/kaotings/kt.c.o,kt_change_cycle,pl
|
||||
-r=objs/apps/kaotings/kt.c.o,kt_set_last_play,pl
|
||||
-r=objs/apps/kaotings/kt.c.o,printf,l
|
||||
-r=objs/apps/kaotings/kt.c.o,strcpy,l
|
||||
-r=objs/apps/kaotings/kt.c.o,kt_get_last_play,pl
|
||||
-r=objs/apps/kaotings/kt.c.o,kt_init,pl
|
||||
-r=objs/apps/kaotings/kt.c.o,kt_uart_init,l
|
||||
-r=objs/apps/kaotings/kt.c.o,tid,pl
|
||||
objs/apps/kaotings/kt_uart.c.o
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,kt_uart_init,pl
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,uart_dev_open,l
|
||||
@ -1231,14 +1248,7 @@ objs/apps/kaotings/kt_uart.c.o
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_play_status,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,app_task_put_key_msg,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,app_audio_set_volume,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,app_audio_mute,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,strlen,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,kt_change_cycle,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_file_total,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_dir_total,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_fileindir_number,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_dec_total_time,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,music_player_get_dec_cur_time,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,puts,l
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,kt_sys_mute,pl
|
||||
-r=objs/apps/kaotings/kt_uart.c.o,uart_bus,pl
|
||||
@ -1344,7 +1354,6 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_die,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,gpio_set_dieh,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,P33_CON_SET,
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sdpg_config,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sleep_exit_callback,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sleep_enter_callback,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,dac_sniff_power_off,l
|
||||
@ -1352,8 +1361,6 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_init,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_set_callback,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_keep_dacvdd_en,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sdmmc_0_clk_detect,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sdmmc_0_port_init,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,key_driver_init,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_wakeup_init,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,status_config,pl
|
||||
@ -1364,8 +1371,10 @@ objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,otg_data,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,led7_data,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,ui_cfg_data,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,sd_dev_ops,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,spi1_p_data,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,norflash_fat_dev_data,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,usb_dev_ops,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,norflash_dev_ops,l
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,device_table,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,power_param,pl
|
||||
-r=objs/apps/soundbox/board/br25/board_ac6082_demo/board_ac6082_demo.c.o,port0,pl
|
||||
@ -1429,7 +1438,6 @@ objs/apps/soundbox/common/init.c.o
|
||||
-r=objs/apps/soundbox/common/init.c.o,gpio_set_pull_up,l
|
||||
-r=objs/apps/soundbox/common/init.c.o,gpio_set_die,l
|
||||
-r=objs/apps/soundbox/common/init.c.o,gpio_set_direction,l
|
||||
-r=objs/apps/soundbox/common/init.c.o,gpio_set_output_value,l
|
||||
-r=objs/apps/soundbox/common/init.c.o,audio_enc_init,l
|
||||
-r=objs/apps/soundbox/common/init.c.o,audio_dec_init,l
|
||||
-r=objs/apps/soundbox/common/init.c.o,update_result_deal,l
|
||||
@ -2315,7 +2323,6 @@ objs/apps/soundbox/task_manager/idle/idle.c.o
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_default_event_deal,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,app_task_exitting,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,sys_key_event_enable,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,sdx_dev_detect_timer_del,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_detect_timer_del,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,os_time_dly,
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_otg_online,l
|
||||
@ -2326,7 +2333,6 @@ objs/apps/soundbox/task_manager/idle/idle.c.o
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,gpio_set_pull_down,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,gpio_set_direction,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,log_print,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,sdx_dev_detect_timer_add,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,usb_detect_timer_add,l
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,regs_buf,pl
|
||||
-r=objs/apps/soundbox/task_manager/idle/idle.c.o,log_tag_const_i_APP_IDLE,l
|
||||
@ -2352,7 +2358,7 @@ objs/apps/soundbox/task_manager/music/music.c.o
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_task_set_parm,pl
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_app_check,pl
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_music_task,pl
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_change_cycle,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_set_repeat_mode,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_get_msg,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_default_event_deal,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_exitting,l
|
||||
@ -2385,15 +2391,14 @@ objs/apps/soundbox/task_manager/music/music.c.o
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,dev_manager_find_active,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_get_play_status,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,strcmp,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,breakpoint_vm_read,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_breakpoint,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_first_file,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_number,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_get_cycle,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_set_last_play,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,strcat,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_path,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,app_task_switch_next,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_end_deal,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,kt_get_last_play,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_pp,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_auto_next,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_prev,l
|
||||
@ -2401,8 +2406,6 @@ objs/apps/soundbox/task_manager/music/music.c.o
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_folder_prev,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_folder_next,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_get_dev_next,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,breakpoint_vm_read,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_breakpoint,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_play_by_sclust,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_ff,l
|
||||
-r=objs/apps/soundbox/task_manager/music/music.c.o,music_player_fr,l
|
||||
@ -2449,7 +2452,6 @@ objs/apps/soundbox/task_manager/power_off/power_off.c.o
|
||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,app_poweroff_task,pl
|
||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,app_task_get_msg,l
|
||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,poweroff_entry_cbfun,pl
|
||||
-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,power_set_soft_poweroff,l
|
||||
-r=objs/apps/soundbox/task_manager/power_off/power_off.c.o,syscfg_write,l
|
||||
@ -2767,7 +2769,6 @@ objs/cpu/br25/audio_common/audio_iis.c.o
|
||||
objs/cpu/br25/audio_common/audio_link.c.o
|
||||
objs/cpu/br25/audio_dec/audio_dec.c.o
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dac_energy_get,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_energy_get,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_resume_all_decoder,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_decoder_resume_all,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_src_isr_deal,pl
|
||||
@ -2798,7 +2799,6 @@ objs/cpu/br25/audio_dec/audio_dec.c.o
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_hw_src_close,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,free,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_dec_init,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,printf,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_decoder_task_create,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,prevent_task_fill_create,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,prevent_task_fill_ch_open,l
|
||||
@ -2823,23 +2823,10 @@ objs/cpu/br25/audio_dec/audio_dec.c.o
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_high_bass,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_eq_drc_parm_update,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_high_bass_dis,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_mix_out_automute_mute,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,gpio_set_output_value,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_handler,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,app_audio_output_channel_get,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_skip,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_skip,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_open,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_open,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_entry_get,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_close,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_energy_detect_close,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,audio_mixer_get_ch_num,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,clock_add_set,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,clock_remove_set,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,puts,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_hdl,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_out_automute_entry,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,decode_task,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mixer,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec.c.o,mix_eq_drc,pl
|
||||
@ -2874,7 +2861,6 @@ objs/cpu/br25/audio_dec/audio_dec_bt.c.o
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,esco_dec_open,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,audio_output_channel_num,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,lmp_private_esco_suspend_resume,
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,mix_out_automute_skip,l
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,esco_dec_close,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,bt_audio_is_running,pl
|
||||
-r=objs/cpu/br25/audio_dec/audio_dec_bt.c.o,bt_media_is_running,pl
|
||||
@ -3751,7 +3737,8 @@ objs/cpu/br25/pwm_led.c.o
|
||||
-r=objs/cpu/br25/pwm_led.c.o,request_irq,l
|
||||
objs/cpu/br25/setup.c.o
|
||||
-r=objs/cpu/br25/setup.c.o,cpu_assert_debug,pl
|
||||
-r=objs/cpu/br25/setup.c.o,chip_reset,
|
||||
-r=objs/cpu/br25/setup.c.o,log_flush,l
|
||||
-r=objs/cpu/br25/setup.c.o,local_irq_disable,l
|
||||
-r=objs/cpu/br25/setup.c.o,timer,pl
|
||||
-r=objs/cpu/br25/setup.c.o,sys_timer_dump_time,l
|
||||
-r=objs/cpu/br25/setup.c.o,test_fun,pl
|
||||
@ -3764,6 +3751,8 @@ objs/cpu/br25/setup.c.o
|
||||
-r=objs/cpu/br25/setup.c.o,clk_voltage_init,l
|
||||
-r=objs/cpu/br25/setup.c.o,clk_early_init,l
|
||||
-r=objs/cpu/br25/setup.c.o,tick_timer_init,l
|
||||
-r=objs/cpu/br25/setup.c.o,debug_uart_init,l
|
||||
-r=objs/cpu/br25/setup.c.o,log_early_init,l
|
||||
-r=objs/cpu/br25/setup.c.o,clock_dump,l
|
||||
-r=objs/cpu/br25/setup.c.o,reset_source_dump,l
|
||||
-r=objs/cpu/br25/setup.c.o,power_reset_source_dump,l
|
||||
@ -3800,7 +3789,7 @@ objs/cpu/br25/spi.c.o
|
||||
-r=objs/cpu/br25/spi.c.o,gpio_set_pull_up,l
|
||||
-r=objs/cpu/br25/spi.c.o,gpio_set_pull_down,l
|
||||
-r=objs/cpu/br25/spi.c.o,config_asser,l
|
||||
-r=objs/cpu/br25/spi.c.o,spi1_p_data,
|
||||
-r=objs/cpu/br25/spi.c.o,spi1_p_data,l
|
||||
objs/cpu/br25/spi_test.c.o
|
||||
objs/cpu/br25/uart_bt_product.c.o
|
||||
objs/cpu/br25/uart_dev.c.o
|
||||
@ -4124,22 +4113,6 @@ include_lib/liba/br25/cpu.a.llvm.245840.timer.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.245840.timer.c,log_tag_const_i_TMR,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.245840.timer.c,clock_timer,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.245840.timer.c,clock_sys_src_use_lrc_hw,l
|
||||
include_lib/liba/br25/cpu.a.llvm.259396.sd.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,sdmmc_0_port_init,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,sdmmc_0_io_detect,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_set_die,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_set_pull_up,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_set_pull_down,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_set_direction,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,delay,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_read,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,sdmmc_0_clk_detect,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,sdmmc_cmd_detect,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,puts,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_direction_output,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_set_hd,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_direction_input,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.259396.sd.c,gpio_write,l
|
||||
include_lib/liba/br25/cpu.a.llvm.271980.debug.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.271980.debug.c,sputchar,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.271980.debug.c,sput_u32hex,pl
|
||||
@ -4576,153 +4549,6 @@ include_lib/liba/br25/cpu.a.llvm.672432.pmu_calibrate.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.672432.pmu_calibrate.c,adc_value_to_voltage,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.672432.pmu_calibrate.c,local_irq_disable,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.672432.pmu_calibrate.c,local_irq_enable,l
|
||||
include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,get_sd0_sd1_mux_index,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,get_cardx_info_p,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,get_sdx_dri_p,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_io_source_suspend,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,os_sem_pend,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sys_timeout_del,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,usr_timeout_del,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_stop_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_host_sus,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_io_source_resume,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_host_res,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,os_sem_post,
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_io_suspend,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_io_resume,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_set_power,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdpg_config,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_notify_enable,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_dev_detect_timer_add,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sys_timer_add,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_dev_detect_timer_del,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sys_timer_del,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_dev_entry_lowpower,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,strcmp,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,force_open_sd,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,dev_open,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,force_read_sd,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,dev_bulk_read,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,force_write_sd,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,dev_bulk_write,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,force_operat_sd_test,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,log_print,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,put_buf,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_clk_detect_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_set_buad,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_hw_bit_enable,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_cmd_detect_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_io_detect_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sys_event_notify,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_os_busy_sem_pend,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_hw_init,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_host_close,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,os_sem_create,
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_host_init,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_mdelay,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_init_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_read_card_async,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_read_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_write_card_async,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_write_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sys_timeout_add,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sdx_async_flush,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd0_sd1_use_the_same_hw,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_hdl,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,log_tag_const_i_SD,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,sd_dev_ops,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,log_tag_const_e_SD,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,log_tag_const_d_SD,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.815416.sdx_dev.c,keep_card_at_active_status,l
|
||||
include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,send_cmd42_lock_unlock_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,get_sdx_dri_p,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_send_command,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_send_command_write_data,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_init_card_step1_user_hookfun,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_init_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_host_init,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,log_print,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,malloc,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_send_command_read_data,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,free,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_mdelay,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_set_buad,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_host_close,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_read_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_os_busy_sem_pend,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,usr_timeout_add,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_send_command_read_data_isr,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,usr_timeout_del,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_read_card_async,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_write_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_send_command_write_data_isr,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_write_card_async,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_async_flush,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_stop_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_send_detect_cmd,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_send_command_isr,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_os_sem_clr,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_cmd_detect_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_os_dect_sem_pend,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_clk_detect_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_io_detect_card,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_get_hi_jiffies,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_idle_clk_en,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_4bit_data_io_init,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_4bit_data_io_uinit,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sys_timer_modify,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,sdx_can_operate_mmc_card,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,log_tag_const_e_SD,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.858420.sdx_driver.c,log_tag_const_i_SD,l
|
||||
include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_get_hi_jiffies,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,jiffies_msec,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_mdelay,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,os_time_dly,
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_os_sem_create,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,os_sem_create,
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_os_busy_sem_pend,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,os_sem_pend,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,log_print,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_os_dect_sem_pend,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_os_sem_post,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,os_sem_post,
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_os_sem_clr,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,os_sem_set,
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_os_sem_del,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,os_sem_del,
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_send_command,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_send_command_read_data,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_send_command_write_data,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_send_command_isr,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_send_command_read_data_isr,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_send_command_write_data_isr,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_isr,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_send_detect_cmd,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,usr_timeout_del,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sd0_isr,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,get_sd0_sd1_mux_index,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,get_sdx_dri_p,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sd1_isr,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_set_buad,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,clk_get,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_hw_bit_enable,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_hw_bit_disable,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_hw_close,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_hw_init,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_host_init,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,request_irq,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_host_close,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_host_sus,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_host_res,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_idle_clk_en,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_4bit_data_io_init,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sdx_4bit_data_io_uinit,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,log_tag_const_e_SD,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,sd0_sd1_use_the_same_hw,l
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.904336.sdx_source.c,clock_sdx,pl
|
||||
include_lib/liba/br25/cpu.a.llvm.954572.otg.c
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.954572.otg.c,usb_otg_online,pl
|
||||
-r=include_lib/liba/br25/cpu.a.llvm.954572.otg.c,usb_otg_suspend,pl
|
||||
@ -5153,10 +4979,6 @@ include_lib/liba/br25/system.a.llvm.207078.heap_mmu.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.207078.heap_mmu.c,config_asser,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.207078.heap_mmu.c,log_tag_const_d_HEAP_MEM,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.207078.heap_mmu.c,log_tag_const_e_HEAP_MEM,l
|
||||
include_lib/liba/br25/system.a.llvm.236922.common.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.236922.common.c,jiffies_half_msec,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.236922.common.c,jiffies_msec,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.236922.common.c,jiffies,l
|
||||
include_lib/liba/br25/system.a.llvm.244386.memory.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.244386.memory.c,mem_init,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.244386.memory.c,memory_init,l
|
||||
@ -5455,7 +5277,7 @@ include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,nor_sdfile_hdl,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,__initcall_sdfile_init,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,sdfile_vfs_ops,plx
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,nor_sdfile_vfs_ops,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,nor_sdfile_vfs_ops,plx
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,boot_info,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,config_asser,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1320054.sdfile_new.c,SDFILE_VFS_REDUCE_ENABLE,l
|
||||
@ -5531,7 +5353,7 @@ include_lib/liba/br25/system.a.llvm.1468034.init.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.1468034.init.c,late_initcall_begin,
|
||||
-r=include_lib/liba/br25/system.a.llvm.1468034.init.c,late_initcall_end,
|
||||
include_lib/liba/br25/system.a.llvm.1530946.puthex.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,putchar,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,putchar,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,log_output_lock,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,log_output_start,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,log_putchar,l
|
||||
@ -5539,15 +5361,15 @@ include_lib/liba/br25/system.a.llvm.1530946.puthex.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,log_putbyte,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,log_output_unlock,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_u4hex,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_u16hex,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_u8hex,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_u32hex,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_u16hex,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_u8hex,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_u32hex,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,putbyte,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_buf,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,put_buf,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,log_put_u8hex,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1530946.puthex.c,printf_buf,pl
|
||||
include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,puts,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,puts,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,log_output_lock,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,log_output_start,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,strlen,l
|
||||
@ -5556,9 +5378,9 @@ include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,log_putbyte,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,log_print_time,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,log_output_unlock,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,printf,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,printf,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,print,
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,assert_printf,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,assert_printf,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,local_irq_disable,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,sprintf,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1537914.printf-stdarg.c,vprintf,pl
|
||||
@ -5571,12 +5393,12 @@ include_lib/liba/br25/system.a.llvm.1554582.log.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_print_time,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,jiffies_msec,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,sprintf,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_putbyte,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_putbyte,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_output_lock,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,os_mutex_pend,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,os_mutex_post,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_output_unlock,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_print,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_print,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_output_start,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,log_putchar,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.1554582.log.c,lbuf_free,l
|
||||
@ -5709,6 +5531,10 @@ include_lib/liba/br25/system.a.llvm.78218.cfg_bin.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.78218.cfg_bin.c,CRC16,l
|
||||
-r=include_lib/liba/br25/system.a.llvm.78218.cfg_bin.c,group_item_table,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.78218.cfg_bin.c,cfg_bin,pl
|
||||
include_lib/liba/br25/system.a.llvm.236922.common.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.236922.common.c,jiffies_half_msec,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.236922.common.c,jiffies_msec,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.236922.common.c,jiffies,l
|
||||
include_lib/liba/br25/system.a.llvm.298626.ffunicode.c
|
||||
-r=include_lib/liba/br25/system.a.llvm.298626.ffunicode.c,ff_uni2oem,pl
|
||||
-r=include_lib/liba/br25/system.a.llvm.298626.ffunicode.c,ff_oem2uni,pl
|
||||
@ -5934,27 +5760,6 @@ include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,dac_hdl,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,log_tag_const_i_APP_DAC,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.123018.audio_output_dac.c,config_asser,l
|
||||
include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_event_handler,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,log_print,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,auido_energy_detect_10ms_timer,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_open,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,zalloc,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,usr_timer_add,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_create,
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,usr_timer_del,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,free,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_run,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_pend,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_post,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_close,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,os_mutex_del,
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_skip,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_entry_get,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_sample_rate_update,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,audio_energy_detect_energy_get,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,log_tag_const_i_APP_EDET,l
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.157622.audio_energy_detect.c,log_tag_const_e_APP_EDET,l
|
||||
include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c,audio_dec_eq_open,pl
|
||||
-r=include_lib/liba/br25/media_app.a.llvm.314346.audio_eq_drc_apply.c,zalloc,l
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
cpu/br25/tools/soundbox/standard_608n/update.ufw
Normal file
BIN
cpu/br25/tools/soundbox/standard_608n/update.ufw
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Loading…
Reference in New Issue
Block a user