From 917def34d941c88590145cbc407e17f636af5183 Mon Sep 17 00:00:00 2001 From: Steven Dan Date: Fri, 15 May 2026 11:48:58 +0800 Subject: [PATCH] update v71 --- .../src/extensions/audiohw.xc | 14 ++------------ .../app_usb_aud_fosi_c1_v71/src/extensions/main.xc | 4 ---- 2 files changed, 2 insertions(+), 16 deletions(-) diff --git a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc index 9562997..2d3e903 100644 --- a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc +++ b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/audiohw.xc @@ -1,7 +1,6 @@ #if UART_DEBUG || DEBUG_MEMORY_LOG_ENABLED #define DEBUG_PRINT_ENABLE 1 #endif -#define DEBUG_PRINT_ENABLE 1 #include #include @@ -279,9 +278,6 @@ unsigned g_uac_mode = 2; // 2 for UAC2.0, 1 for UAC1.0 void device_reboot(void); unsafe streaming chanend uc_audiohw; -/* 改动原因:main 在绑定 uc_audiohw 后置 1;AudioHwInit 内自旋等待,避免与 usb_audio_io(同 tile 另一逻辑核)并行启动时 - * CODEC_REGWRITE 早于 uc_audiohw 初始化触发的 ET_ILLEGAL_RESOURCE。(xC 中 volatile 仅用于 unsafe 指针目标,故用普通 unsigned。) */ -unsigned g_uc_audiohw_chan_bound = 0; /* 改动原因:添加 uc_dfu 全局 streaming chanend,用于从 EP0 HID 处理 * (process_send_params) 向 uart_handler 转发固件升级命令。 * sender 端在此处赋值(AudioHwRemote par 分支),receiver 端传给 uart_handler。 */ @@ -1552,14 +1548,8 @@ void AudioHwRemote(streaming chanend c, client interface c1_led_ctrl_if i_c1_led void AudioHwInit() { debug_printf("AudioHwInit\n"); - /* 改动原因:等待 main 中 tile[0] 完成对 uc_audiohw 的绑定;与 usb_audio_io 无固定启动顺序,仅靠“先 unsafe 再 par”不足。 */ - { - unsigned spin = 0; - while (g_uc_audiohw_chan_bound == 0 && spin < 20000) { - delay_microseconds(50); - spin++; - } - } + /* 改动原因:main 中 tile[0] 绑定 uc_audiohw 与 usb_audio_io→AudioHwInit 同属外层 par,无固定顺序;短延时让 USER_MAIN 核先跑完 unsafe。 + * 不能用普通全局标志跨 par 握手(违反 xC parallel usage rules)。 */ delay_milliseconds(100); if((XUA_SYNCMODE == XUA_SYNCMODE_SYNC || XUA_SPDIF_RX_EN || XUA_ADAT_RX_EN) && XUA_USE_SW_PLL) diff --git a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/main.xc b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/main.xc index 487ddba..e88d93e 100644 --- a/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/main.xc +++ b/sw_usb_audio/app_usb_aud_fosi_c1_v71/src/extensions/main.xc @@ -454,9 +454,6 @@ extern void key_receiver(chanend c_key); extern void SetEx3dToUbmChan (chanend c); -/* 改动原因:main 绑定 uc_audiohw 后写 1,供 AudioHwInit 自旋等待(定义在 audiohw.xc),消除与 usb_audio_io 的启动竞态。 */ -extern unsigned g_uc_audiohw_chan_bound; - /* Main for USB Audio Applications */ int main() { @@ -597,7 +594,6 @@ int main() on tile[0] : { unsafe { uc_audiohw = (streaming chanend)c_audiohw; - g_uc_audiohw_chan_bound = 1; } par { {