我正在尝试在Linux 4.14上使用音频解码器VS1053播放音乐。该设备通过SPI总线进行通信,并且我开发了一个驱动程序,并将VS1053注册为字符设备,谢谢https://github.com/rvp-nl/vs10xx-linux。问题来了。
播放音乐的方式是:
cat musicfile.mp3 > /dev/VS1053_device
当我将WAV音乐文件扔到设备上时,一切正常,音乐播放良好。但是,当我将mp3音乐文件扔到设备上时,Linux会抛出错误
猫:写入错误:设备上没有剩余空间
我已经在许多网站上搜索了原因。许多人说,请检查文件系统上的可用空间和可用索引节点,但这是我的结果:
root@s32v234sbc:~# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/root 956592 10795 945797 2% / devtmpfs 234285 308 233977 1% /dev tmpfs 234333 205 234128 1% /run tmpfs 234333 10 234323 1% /var/volatile root@s32v234sbc:~# df -h Filesystem Size Used Avail Use% Mounted on /dev/root 15G 412M 14G 3% / devtmpfs 916M 0 916M 0% /dev tmpfs 916M 84K 916M 1% /run tmpfs 916M 28K 916M 1% /var/volatile root@s32v234sbc:~#
音乐文件限制在100MB以内,无法耗尽空间。
我试图编写一个打印文件程序来代替“ cat”,但这也不起作用。我不知道为什么以及如何发生此错误。
如果有人可以帮助我,我将非常感激!
我正在尝试在Linux 4.14上使用音频解码器VS1053播放音乐。该设备通过SPI总线进行通信,我已经开发了驱动程序,并将VS1053注册为字符设备,谢谢...
尝试以下命令:
似乎您使用的驱动程序有问题。当您看到“设备上没有剩余空间”时,这并不意味着本地文件系统已满。可能这意味着SPI总线的本地或另一侧存在问题。您正在使用的驱动程序可能会从Linux内核的SPI驱动程序接收-ENOSPC状态,但您的驱动程序无法正确处理此错误。