This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA4VM:McASP1无法正常工作

Guru**** 2380620 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1501141/tda4vm-mcasp1-can-not-work

器件型号:TDA4VM

工具/软件:

你(们)好

我们使用 SDK 10。

我们希望使用 McASP1 (I2S)将数据发送到 ad2428。

 McASP1 引脚多路复用为:μ s

static pinmuxPerCfg_t gMcasp1PinCfg[] =
{
    /* MyMCASP1 -> MCASP1_ACLKX -> AB27 */
    {
        PIN_PRG0_PRU1_GPO5, PIN_MODE(12) | \
        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
    },
    /* MyMCASP1 -> MCASP1_AFSX -> AA28 */
    {
        PIN_PRG0_PRU1_GPO8, PIN_MODE(12) | \
        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
    },
    /* MyMCASP1 -> MCASP1_AXR2 -> AD29 */
    {
        PIN_PRG0_PRU1_GPO4, PIN_MODE(12) | \
        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
    },
    /* MyMCASP1 -> MCASP1_AXR3 -> AC26 */
    {
        PIN_PRG0_PRU1_GPO6, PIN_MODE(12) | \
        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
    },
    /* MyMCASP1 -> MCASP1_AXR6 -> AA25 */
    {
        PIN_PRG0_PRU1_GPO10, PIN_MODE(12) | \
        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
    },
    /* MyMCASP1 -> MCASP1_AXR7 -> AG26 */
    {
        PIN_PRG0_PRU1_GPO11, PIN_MODE(12) | \
        ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) & (~PIN_PULL_DIRECTION))
    },
    {PINMUX_END}
};

DTS 配置为:μ s

	main_mcasp1_pins_default: main-mcasp1-default-pins {
		pinctrl-single,pins = <
			J721E_IOPAD(0x114, PIN_INPUT, 12) /* (AB27) PRG0_PRU1_GPO5.MCASP1_ACLKX */
			J721E_IOPAD(0x120, PIN_INPUT, 12) /* (AA28) PRG0_PRU1_GPO8.MCASP1_AFSX */
			J721E_IOPAD(0x110, PIN_INPUT, 12) /* (AD29) PRG0_PRU1_GPO4.MCASP1_AXR2 */
			J721E_IOPAD(0x118, PIN_INPUT, 12) /* (AC26) PRG0_PRU1_GPO6.MCASP1_AXR3 */
			J721E_IOPAD(0x128, PIN_INPUT, 12) /* (AA25) PRG0_PRU1_GPO10.MCASP1_AXR6 */
			J721E_IOPAD(0x12c, PIN_INPUT, 12) /* (AG26) PRG0_PRU1_GPO11.MCASP1_AXR7 */
		>;
	};
	
	&mcasp1 {
	status = "okay";
	#sound-dai-cells = <0>;

	pinctrl-names = "default";
	pinctrl-0 = <&main_mcasp1_pins_default>;

	op-mode = <0>;          /* MCASP_IIS_MODE */
	tdm-slots = <4>;
	auxclk-fs-ratio = <256>;

	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
		2 2 1 1
	>;
	tx-num-evt = <0>;
	rx-num-evt = <0>;
};


	codec_audio: sound {
		compatible = "simple-audio-card";
		simple-audio-card,name = "ad242x";
		status = "okay";

		/* 纯播放链路 */
		simple-audio-card,dai-link@0 {
			format = "i2s";
			bitclock-master = <&cpu_dai>;
			frame-master = <&cpu_dai>;

			cpu_dai: cpu {
				sound-dai = <&mcasp1>;  // 必须与下方mcasp1的label匹配
				dai-tdm-slot-num = <4>;
				dai-tdm-slot-width = <32>;
				dai-tdm-slot-tx-mask = <1 1 1 1>; // Slot0-3均启用
			};

			simple-audio-card,codec {
				sound-dai = <&dummy_codec>;
			};
		};
	};

	dummy_codec: dummy-codec {
		compatible = "linux,snd-soc-dummy";
		#sound-dai-cells = <0>;
		status = "okay";
	};

然后我们可以看到假声卡

Root@j721e-evm:~# avplay -l
****播放硬件设备列表****
卡0:虚拟[Dummy]、设备0:虚拟 PCM [Dummy PCM]
副装置:8/8.
SUBDEVICE #0:SUBDEVICE #0
SubDevice #1:SubDevice #1
SubDevice #2:SubDevice #2
SUBDEVICE #3:SUBDEVICE #3
SUBDEVICE #4:SUBDEVICE #4
SUBDEVICE #5:SUBDEVICE #5
SUBDEVICE #6:SUBDEVICE #6
SUBDEVICE #7:SUBDEVICE #7

使用命令  SPEAKER-TEST -D HW:0、0 -t wav to test  

并 使用示波器测量 McASP1_AXR2、McASP1_AXR3、McASP1_AXR6和 McASP1_AXR7、但没有波形。 需要进行哪些修改?

BR

Liupt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    root@j721e-EVM:~# speaker-test -D HW:0、0 -t wav

    Speaker-test 1.2.11.

    播放设备为 HW:0、0
    流参数为48000Hz、S16_LE、1个通道
    WAV 文件
    速率设置为48000Hz (请求的48000Hz)
    缓冲区大小范围为32至32768
    周期大小范围为32至32768
    周期= 4
    已将 PERIOD_SIZE = 12000设置为
    设置 BUFFER_SIZE = 32768
    0-左前
    时间= 1.005434
    0-左前
    时间= 1.499926
    0-左前
    每个周期的时间= 1.499931
    0-左前
    每个周期的时间= 1.250356
    0-左前
    每个周期的时间= 1.499527
    0-左前
    每周期时间= 1.499912
    0-左前
    每个周期的时间= 1.499957
    0-左前
    每个周期的时间= 1.499908
    0-左前
    每个周期的时间= 1.499945
    0-左前
    每周期时间= 1.499921
    0-左前
    每个周期的时间= 1.499974
    0-左前
    每个周期的时间= 1.499941
    0-左前
    每个周期的时间= 1.499944
    0-左前
    每个周期的时间= 1.499925
    0-左前
    每周期时间= 1.499968
    0-左前
    每个周期的时间= 1.250318
    0-左前
    每个周期的时间= 1.499558
    0-左前
    每个周期的时间= 1.499950
    0-左前
    每个周期的时间= 1.499948
    0-左前
    时间= 1.499946

    这是播放测试命令的日志。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

     McASP1有一些问题。

    Root@j721e-evm:~# dmesg | grep sound

    [21.483744]平台声音:延迟探头待定

    如果我删除此行 sound-dai =<&McASP1>; //必须与下方mcasp1的label匹配

    还可以

    BR

    中断

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、liupt:

    McASP1的设备树设置不正确。

    查看引脚多路复用:

    	main_mcasp1_pins_default: main-mcasp1-default-pins {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0x114, PIN_INPUT, 12) /* (AB27) PRG0_PRU1_GPO5.MCASP1_ACLKX */
    			J721E_IOPAD(0x120, PIN_INPUT, 12) /* (AA28) PRG0_PRU1_GPO8.MCASP1_AFSX */
    			J721E_IOPAD(0x110, PIN_INPUT, 12) /* (AD29) PRG0_PRU1_GPO4.MCASP1_AXR2 */
    			J721E_IOPAD(0x118, PIN_INPUT, 12) /* (AC26) PRG0_PRU1_GPO6.MCASP1_AXR3 */
    			J721E_IOPAD(0x128, PIN_INPUT, 12) /* (AA25) PRG0_PRU1_GPO10.MCASP1_AXR6 */
    			J721E_IOPAD(0x12c, PIN_INPUT, 12) /* (AG26) PRG0_PRU1_GPO11.MCASP1_AXR7 */
    		>;
    	};
     

    哪些线路应该是输出? 在此配置中、它们都设置为输入(我认为不正确)。

    查看 McASP1节点、串行器线路设置错误。

     serial-dir 属性中的每个数字对应于一个串行器。 由于您使用的是 AXR 2、3、6和7、serial-dir 属性应该反映这一点。 McASP1节点中有12个串行器、因此我在 serial-dir 属性中放置了12条线路。 根据它们是设置为 RX 还是 TX、相应地更改 X。

    &mcasp1 {
    	status = "okay";
    	#sound-dai-cells = <0>;
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcasp1_pins_default>;
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    	auxclk-fs-ratio = <256>;
    
    	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
    		0 0 X X
    		0 0 X X
    		0 0 0 0
    	>;
    	tx-num-evt = <0>;
    	rx-num-evt = <0>;
    };

    对于 snd-dummy 和编解码器主器件:

    codec_test: codec_test {
        compatible = "linux,snd-soc-dummy";
        #sound-dai-cells = <0>;
    };
    
    codec_audio: sound {
        compatible = "simple-audio-card";
            simple-audio-card,name = "J721E-TEST";
            simple-audio-card,format = "i2s";
            simple-audio-card,bitclock-master = <&sound_master>;
            simple-audio-card,frame-master = <&sound_master>;
            
            sound_master: simple-audio-card,cpu {
                sound-dai = <&mcasp1>;
                system-clock-direction-out;
            };
            
            simple-audio-card,codec {
                sound-dai = <&codec_test>;
            };
    };

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我还 在 decode、中添加了 config_snd_SOC_DaVinci _MCASP=y、但仍然如此  

    dmesg |高音
    [21.452021]平台音频:延迟探头正在申请中

    然后修改这样的代码

    	codec_test: codec_test {
    		compatible = "linux,snd-soc-dummy";
    		#sound-dai-cells = <0>;
    		status = "okay";
    	};
    
    	codec_audio: sound {
    		compatible = "simple-audio-card";
    			simple-audio-card,name = "J721E-TEST";
    			simple-audio-card,format = "i2s";
    			simple-audio-card,bitclock-master = <&sound_master>;
    			simple-audio-card,frame-master = <&sound_master>;
    			status = "okay";
    			sound_master: simple-audio-card,cpu {
    				sound-dai = <&codec_test>;
    				system-clock-direction-out;
    			};
    			
    			simple-audio-card,codec {
    				sound-dai = <&codec_test>;
    			};
    	};

    仍然无法正常工作

    dmesg |高音
    [21.452021]平台音频:延迟探头正在申请中

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    codec_test:codec_test{
    compatible ="linux,snd-diummy" soc;  。。。。》内核中没有相应的驱动程序
    #sound-dai-cells =<0>;
    状态="正常";
    };

    因此、此问题会使 CODEC_AUDIO  延迟探测处于挂起状态。

    我们的定制板通过 I2S 连接 AD2428。 我想使用 aplay 播放音频并通过 I2S 发送。 是否需要配置编解码器? 如有必要、您能否提供有效的编解码器?

    BR

    中断

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    现在、我修改代码  

    	sound {  
    		compatible = "simple-audio-card";  
    		simple-audio-card,name = "J721E-TEST";  
    		simple-audio-card,format = "i2s";  
    		simple-audio-card,bitclock-master = <&sound_master>;  
    		simple-audio-card,frame-master = <&sound_master>;  
    		status = "okay";  
    
    		// CPU 端配置(I2S 控制器)  
    		sound_master: simple-audio-card,cpu {  
    			sound-dai = <&mcasp1>;   
    			system-clock-direction-out;   
    			master-enable;             
    			dai-tdm-slot-num = <2>;    
    			dai-tdm-slot-width = <32>;   
    		};  
    
    		// Codec 端伪配置  
    		simple-audio-card,codec {  
    			sound-dai = <&sound>;     
    		};  
    	};  

    我们可以找到声音  

    Root@j721e-evm:~# avplay -l
    ****播放硬件设备列表****
    卡0:J721ETEST [J721ETEST]、器件0:2b10000.McASP-codec_test codec_test-0 [2b10000.McASP-codec_test codec_test-0]
    子设备:1/1
    SUBDEVICE #0:SUBDEVICE #0
    root@j721e-EVM:~# speaker-test -D HW:0、0 -t wav

    Speaker-test 1.2.11.

    播放设备为 HW:0、0
    流参数为48000Hz、S16_LE、1个通道
    WAV 文件
    速率设置为48000Hz (请求的48000Hz)
    缓冲区大小范围为32至262144
    周期大小范围为16至32768
    周期= 4
    已将 PERIOD_SIZE = 12000设置为
    设置为 BUFFER_SIZE = 48000
    0-左前
    写入错误:-5、输入/输出错误
    xrun_recovery failed (xrun_recovery 失败:-5、输入/输出错误)
    传输失败:输入/输出错误

    BR

    中断

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    root@j721e-evm:~# dmesg | grep -i sdma
    [ 7.759878] snd_soc_ti_sdma:导出重复的符号 sdma_pcmc_platform_register (由内核拥有)
    [ 7.861687] snd_soc_ti_sdma:导出重复的符号 sdma_pcmc_platform_register (由内核拥有)

    补充 DMA 错误日志

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、liupt:

    [引述 userid="517502" url="~/support/processors-group/processors/f/processors-forum/1501141/tda4vm-mcasp1-can-not-work/5769314 #5769314"]J721E_IOPAD (0x114、PIN_OUTPUT、12)/*(AB27) PRG0_PRU1_GPO5.McASP1_ACLKX */
    J721E_IOPAD (0x120、PIN_OUTPUT、12)/*(AA28) PRG0_PRU1_GPO8.McASP1_AFSX */

    如果应输出这些引脚、则是的。

    使用的时钟是 clocks = <&k3_clks 175 1>;,但由于我们是主设备,时钟应该是输出的。 我应该使用 clocks = <&k3_clks 175 10>; 吗?

    否、"输入多路复用时钟"只是表示时钟是多路复用器的输出。

    [引述 userid="517502" url="~/support/processors-group/processors/f/processors-forum/1501141/tda4vm-mcasp1-can-not-work/5769605 #5769605"]

    我还 在 decode、中添加了 config_snd_SOC_DaVinci _MCASP=y、但仍然如此  

    [/报价]

    ti_arm64_prune.config 片段应处理所有需要的.config 更改。

    [引述 userid="517502" url="~/support/processors-group/processors/f/processors-forum/1501141/tda4vm-mcasp1-can-not-work/5769865 #5769865"] compatible ="linux,snd-diummy" soc;  。。。。》内核中没有相应的驱动程序
    [/报价]

    linux,snd-dummy soc 位于./sound/linux/linux/us-utils.c 中 soc 使用它不应该有任何问题 soc。

    [引述 userid="517502" url="~/support/processors-group/processors/f/processors-forum/1501141/tda4vm-mcasp1-can-not-work/5769865 #5769865"]

    我们的定制板通过 I2S 连接 AD2428。 我想使用 aplay 播放音频并通过 I2S 发送。 是否需要配置编解码器? 如有必要、您能否提供有效的编解码器?

    [/报价]

    需要配置编解码器、虚拟编解码器可以正常工作。

    下面是一个线程、其中包含使用虚拟编解码器的设备树 的一个工作示例:https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1480088/processor-sdk-j784s4-how-to-control-the-volume-using-amixer-command

    AD2428的问题在于没有与之相对应的 Linux 驱动程序。 因此,您要么必须编写自己的自定义驱动程序,要么使用虚拟编解码器作为备用程序。  

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    智能 CONFIG_SND_SOC_DaVinci _MCASP 导致错误:
    snd_soc_ti_sdma: exports duplicate symbol sdma_pcm_platform_register (owned by kernel)

    补充 DMA 错误日志。 因此、此错误表示不应启用它。

    2.  codec_test:codec_test{
    兼容="linux、snd-dummy" soc;
    #sound-dai-cells =<0>;
    状态="正常";
    };

    仍然不起作用。 CODEC_TEST 未能完成初始化、从而导致:
    [ 21.719063] platform sound0: deferred probe pending

    使用时还需要哪些其他配置 linux,snd-soc-dummy

    BR

    中断

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、liupt:

    启用 CONFIG_SND_SOC_DaVinci _MCASP 导致错误:
    [/报价]

    config_snd_SOC_DaVinci _MCASP 应设置为 m、以便构建为模块。

    若要生成.config、请运行:

    # with the proper variables set
    make defconfig ti_arm64_prune.config

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Jared

    为什么我仍然无法使用  codec_test:codec_test{
    兼容="linux、snd-dummy" soc;
    #sound-dai-cells =<0>;
    状态="正常";
    };

    您有其他吗 建议  ?μ s

    BR

    中断

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Liupt:

    我已经在 TDA4VM-SK 上设置了 McASP1进行测试。 注意以下几点、请确保不存在 pinmux 冲突、并应用以下补丁。 此后、没有延迟的探测消息。

    k3-j721e-sk-MASP1.dtso:

    /dts-v1/;
    /plugin/;
    
    #include "k3-pinctrl.h"
    
    &main_pmx0 {
    	mcasp1_pins_default: mcasp1-default-pins {
    		pinctrl-single,pins = <
    			J721E_IOPAD(0xd4, PIN_OUTPUT, 12) /* (AB26) PRG0_PRU0_GPO9.MCASP0_ACLKX */
    			J721E_IOPAD(0xd8, PIN_OUTPUT, 12) /* (AB25) PRG0_PRU0_GPO10.MCASP0_AFSX */
    			J721E_IOPAD(0xb0, PIN_INPUT, 12) /* (AF28) PRG0_PRU0_GPO0.MCASP0_AXR0 */
    			J721E_IOPAD(0xb4, PIN_INPUT, 12) /* (AE28) PRG0_PRU0_GPO1.MCASP0_AXR1 */
    			J721E_IOPAD(0xc0, PIN_OUTPUT, 12) /* (AD25) PRG0_PRU0_GPO4.MCASP0_AXR2 */
    			J721E_IOPAD(0xc4, PIN_OUTPUT, 12) /* (AC29) PRG0_PRU0_GPO5.MCASP0_AXR3 */
    		>;
    	};
    
    };
    
    &{/} {
    	codec_test: codec_test {
    		compatible = "linux,snd-soc-dummy";
    		#sound-dai-cells = <0>;
    	};
    
    	codec_audio: sound {
    	compatible = "simple-audio-card";
    		simple-audio-card,name = "J721E-TEST";
    		simple-audio-card,format = "i2s";
    		simple-audio-card,bitclock-master = <&sound_master>;
    		simple-audio-card,frame-master = <&sound_master>;
    
    		sound_master: simple-audio-card,cpu {
    			sound-dai = <&mcasp1>;
    			system-clock-direction-out;
    		};
    
    		simple-audio-card,codec {
    			sound-dai = <&codec_test>;
    		};
    	};
    };
    
    &mcasp1 {
    	status = "okay";
    	#sound-dai-cells = <0>;
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&mcasp1_pins_default>;
    
    	op-mode = <0>;          /* MCASP_IIS_MODE */
    	tdm-slots = <2>;
    	auxclk-fs-ratio = <256>;
    
    	serial-dir = <	/* 0: INACTIVE, 1: TX, 2: RX */
    		2 2 1 1
    		0 0 0 0
    		0 0 0 0
    	>;
    	tx-num-evt = <0>;
    	rx-num-evt = <0>;
    };

    用于为 snd-dt-dummy-dai 添加 dt 绑定的补丁 soc:

    • 6.6内核:
      From bd51a9362a4f6fddaea59bb10f0178e67a510926 Mon Sep 17 00:00:00 2001
      From: Jared McArthur <j-mcarthur@ti.com>
      Date: Thu, 17 Apr 2025 13:25:13 -0500
      Subject: [PATCH 1/1] ASoC: soc-utils: Add dt bindings for snd-soc-dummy-dai
       codec
      
      Provides a simple-card without codec for testing purposes.
      
      Forward port of a patch from 2015 [1].
      
      [1]: patchwork.kernel.org/.../
      
      Signed-off-by: Jared McArthur <j-mcarthur@ti.com>
      ---
       sound/soc/soc-utils.c | 10 ++++++++++
       1 file changed, 10 insertions(+)
      
      diff --git a/sound/soc/soc-utils.c b/sound/soc/soc-utils.c
      index 941ba0639a4e..1cdbecb2f480 100644
      --- a/sound/soc/soc-utils.c
      +++ b/sound/soc/soc-utils.c
      @@ -14,6 +14,7 @@
       #include <sound/pcm.h>
       #include <sound/pcm_params.h>
       #include <sound/soc.h>
      +#include <linux/module.h>
       
       int snd_soc_calc_frame_size(int sample_size, int channels, int tdm_slots)
       {
      @@ -247,9 +248,18 @@ static int snd_soc_dummy_probe(struct platform_device *pdev)
       	return ret;
       }
       
      +#ifdef CONFIG_OF
      +static const struct of_device_id soc_dummy_ids[] = {
      +	{ .compatible = "linux,snd-soc-dummy", },
      +	{ }
      +};
      +MODULE_DEVICE_TABLE(of, soc_dummy_ids);
      +#endif
      +
       static struct platform_driver soc_dummy_driver = {
       	.driver = {
       		.name = "snd-soc-dummy",
      +		.of_match_table = of_match_ptr(soc_dummy_ids),
       	},
       	.probe = snd_soc_dummy_probe,
       };
      -- 
      2.34.1
      
    • 6.1内核: https://patchwork.kernel.org/project/alsa-devel/patch/5652E348.8080002@invoxia.com/ 

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 

    谢谢、工作

    BR

    中断