2012-10-09 33 views
2

我正在嘗試使BeagleBoard Xm上的spi接口工作。我重新配置了內核(2.6.32)以允許訪問用戶空間中的spidev驅動程序(spidev3.0和3.1顯示在/ dev下),並且我已經編譯了Documentation/spi下的spidev_test.c程序。當我運行的程序中,我得到以下輸出:用於Beagleboard的SPI Xm

# ./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,0x35,0xFF,0xFF,0xFF,0xFF,0xFF, 寫0xDE,寫入0xAD,0xBE,0xEF,0xBA,寫入0xAD, 0XF0,0X0D

我在黑板上SIMO和SOMI之間的跳線和我沒有看到當用o-scope探測CLK或CS0引腳時,ny在任何引腳上都有活動。這使我相信我沒有在內核或u-boot中正確配置一些東西。 DMA錯誤也可能是配置問題的線索。

有沒有人遇到這個問題?或者對我可能遇到的問題有任何瞭解?

我的下一個可能的解決方案是使用更新的內核並深入u-boot以查看u-boot是否重寫我的引腳複用。

在此先感謝您的答覆。

回答

0

我能弄清楚我的問題。我在內核中啓用了spidev和pin muxing,但沒有更新u-boot。最後,在升級到2.6.39-rc7內核並對u-boot中的beagle.h文件進行正確調整後,我的環回測試似乎正在工作。