Open ShellAlbert opened 5 years ago
烧的程序是left channel输出123456(hex),right channel输出789abc 但是为什么tx2 i2s1读取的时候,大部分是错误的,但也有时候会有正确的时候? 到底哪里出了问题?
在jetsontx2的hdmi接口上播放音乐 cat /proc/asound/cards 发现有3个声卡设备 1.tegrahda 2.tegrat186ref 3.USB camera的 播放音乐 aplay -D plughw:CARD=tegrahda,DEV=7 fo.wav
执行 下列命令后,用示波器探测,发现J21A LRCK/BCLK都有时钟输出。 amixer -c tegrasndt186ref sset "ADMAIF1 Mux" "I2S1" arecord -D hw:tegrasndt186ref,0 -r 32000 -f S32_LE -c 2 -d 120 cap.wav 其中LRCK为32khz,BCLK为2.048MHz。 这说明目前i2s工作在master状态,这跟fpga输出的2个时钟对接不起来。 所以我们需要将i2s设置为slave状态,使用外部的lrck/bclk来工作才行。
看样子是来重新编译dtb了,好吧。
安装完sdk manager后,里面有个source_sync.sh脚本可以自动从互联网下载内核源码。
cd /home/zhangshaoyan/nvidia/nvidia_sdk/JetPack_4.2_Linux_P3310/Linux_for_Tegra
./source_sync.sh
也可以手工下载,地址为https://developer.nvidia.com/embedded/linux-tegra
flash the DTB partition with
sudo ./flash -r -k kernel-dtb jetson-tx2 mmcblk0p1
audacity转换44.1khz 16 bit stereo wav文件到 44.1khz 24bit stereo pcm 文件