BeagleBoardXmでspiインターフェイスを動作させようとしています。ユーザースペースでspidevドライバーにアクセスできるようにカーネル(2.6.32)を再構成し(spidev3.0と3.1は/ devの下に表示されます)、Documentation/spiの下にあるspidev_test.cプログラムをコンパイルしました。プログラムを実行すると、次の出力が得られます。
# ./spi_test -D /dev/spidev3.0 spi mode: 3 bits per word: 8 max speed: 5[ 186.539611] spidev spi3.0: DMA RX last word empty00000 Hz (500 KHz)
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D
私は次のものを送信しています:0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0x40、0x00、0x00、0x00、0x00、0x95、0xFF、0xFF、0xFF、0xFF、0xFF 、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xFF、0xDE、0xAD、0xBE、0xEF、0xBA、0xAD、0xF0、0x0D
ボード上のSIMOとSOMIの間にジャンパーがあり、OスコープでCLKピンまたはCS0ピンをプローブしても、どのピンにもアクティビティが見られません。これにより、カーネルまたはu-bootのいずれにも適切に構成されたものがないと信じるようになります。DMAエラーは、構成の問題の手がかりになる場合もあります。
誰かがこの問題に遭遇しましたか?または、私が直面している可能性のある問題について何か洞察がありますか?
次に考えられる解決策は、更新されたカーネルを使用し、u-bootを調べて、u-bootがピンの多重化をオーバーライドしているかどうかを確認することです。
返信ありがとうございます。