打印
[嵌入式Linux]

用攒电脑的办法快速玩转arm linux

[复制链接]
楼主: wangkj
手机看帖
扫描二维码
随时随地手机跟帖
121
wangkj|  楼主 | 2013-8-27 08:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
我另外放了一份到附件中,如果上面的代码意外出现错误,很可能网页文字有时不对。
就下载这份直接winscp到你的板子上。

BB-SPI1-01-00A0.zip

809 Bytes

使用特权

评论回复
122
wangkj|  楼主 | 2013-8-27 08:49 | 只看该作者
当然,别忘解压缩之后再传过去。
执行:
dtc -O dtb -o BB-SPI1-01-00A0.dtbo -b 0 -@ BB-SPI1-01-00A0.dts
拷贝到固件目录:
cp BB-SPI1-01-00A0.dtbo /lib/firmware/

061.jpg (11.9 KB )

061.jpg

使用特权

评论回复
123
wangkj|  楼主 | 2013-8-27 08:54 | 只看该作者
ls -al /dev/spidev1.*
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups

062.jpg (30.61 KB )

062.jpg

063.jpg (13.9 KB )

063.jpg

使用特权

评论回复
124
wangkj|  楼主 | 2013-8-27 08:55 | 只看该作者
root@beaglebone:~# ls /dev/spi*
/dev/spidev1.0  /dev/spidev1.1
可爱的 /dev/spi设备出来啦

使用特权

评论回复
125
wangkj|  楼主 | 2013-8-27 08:58 | 只看该作者
这篇文档后面提到的python测试spi,我们可以跳过。我对python也是一知半解。还是C顺手。
不过,python对于快速模型的建立倒是非常方便的。
如果按照后面的教程继续用python测试,别忘了你的bbb板子网络得正常,如果不正常,
请查看/etc/resolve.conf dns server是8.8.8.8
route 的default gw 是 192.167.7.1,还有,别换你的电脑,因为以前设置了internet共享。除非你想重新设置
internet共享。

使用特权

评论回复
126
wangkj|  楼主 | 2013-8-27 09:25 | 只看该作者
本帖最后由 wangkj 于 2013-8-27 10:01 编辑

http://lxr.linux.no/#linux+v3.2.6/Documentation/spi/spidev_test.c
这是C语言版本的测试代码,可以在bbb板子上,不能用wget直接获取。
只用用拷贝粘贴,这段代码是html语言,用wget只能得到html格式的。
或者 wget git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/spi/spidev_test.c

使用特权

评论回复
127
wangkj|  楼主 | 2013-8-27 10:31 | 只看该作者
编译和测试
gcc spidev_test.c -o spidev_test
root@beaglebone:~# ./spidev_test --help
./spidev_test: unrecognized option '--help'
Usage: ./spidev_test [-DsbdlHOLC3]
  -D --device   device to use (default /dev/spidev1.1)
  -s --speed    max speed (Hz)
  -d --delay    delay (usec)
  -b --bpw      bits per word
  -l --loop     loopback
  -H --cpha     clock phase
  -O --cpol     clock polarity
  -L --lsb      least significant bit first
  -C --cs-high  chip select active high
  -3 --3wire    SI/SO signals shared

root@beaglebone:~# ./spidev_test
spi mode: 0
bits per word: 8
max speed: 500000 Hz (500 KHz)

FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF FF FF FF FF
FF FF

064.jpg (17.98 KB )

064.jpg

065.jpg (75.37 KB )

065.jpg

使用特权

评论回复
128
wangkj|  楼主 | 2013-8-28 10:44 | 只看该作者
找到一份spi方面的如何使用的文档,
修改uenv.txt的时候,改错了,系统不能启动,出现kernel panic错误。
J1接上 usb ttl串口,启动的时候,一直按空格键。
然后输入:
setenv bootenv
boot
启动,然后修改uenv.txt为原来的值。

使用特权

评论回复
129
wangkj|  楼主 | 2013-8-28 11:09 | 只看该作者
Header Pin         Mode 0         Mode 1 (SPI)         Pinmux configuration
21         MMC2_CLKO         McSPI3_CLK         OMAP_PIN_INPUT (*)
17         MMC2_DAT0         McSPI3_SOMI         OMAP_PIN_INPUT
19         MMC2_CMD         McSPI3_SIMO         OMAP_PIN_OUTPUT
11         MMC2_DAT3         McSPI3_CS0         OMAP_PIN_OUTPUT
13         MMC2_DAT2         McSPI3_CS1         OMAP_PIN_OUTPUT
McSPI 4
Header Pin         Mode 0         Mode 1 (SPI)         Pinmux configuration
20         BcBSP1_CLKR         McSPI4_CLK         OMAP_PIN_INPUT (*)
18         McBSP1_DR         McSPI4_SOMI         OMAP_PIN_INPUT
12         McBSP1_DX         McSPI4_SIMO         OMAP_PIN_OUTPUT
16         McBSP1_FSX         McSPI4_CS0         OMAP_PIN_OUTPUT

使用特权

评论回复
130
wangkj|  楼主 | 2013-8-28 11:17 | 只看该作者
用spidev_test 测试,
用mosi/miso短路,或者把mosi接地或电源,
回读的数据不变,但用示波器看,
spck,mosi的输出还是对的。
说明 发送正常,回读没有!

使用特权

评论回复
131
wangkj|  楼主 | 2013-8-28 11:18 | 只看该作者
http://elinux.org/BeagleBone_Black_Enable_SPIDEV
这份文档或许更合适,按照这份文档试试看

使用特权

评论回复
132
lanchong1980| | 2013-8-28 15:15 | 只看该作者
狠人啊

使用特权

评论回复
133
dong_abc| | 2013-8-28 21:47 | 只看该作者
会计玩得很嗨噢!

使用特权

评论回复
134
wangkj|  楼主 | 2013-9-2 09:02 | 只看该作者
木有人感兴趣,不更新了。。。

使用特权

评论回复
135
yan_jian| | 2013-9-2 11:27 | 只看该作者
晕!敢兴趣呢
更新吧

使用特权

评论回复
136
snakeemail| | 2013-9-2 21:59 | 只看该作者
王会计干脆你开讲习班吧,挣钱容易

使用特权

评论回复
137
dong_abc| | 2013-9-3 01:13 | 只看该作者
wangkj 发表于 2013-9-2 09:02
木有人感兴趣,不更新了。。。

晕,这才到spi,到关键时刻就泄气了。都写这么多了,更新下去吧。

使用特权

评论回复
138
dong_abc| | 2013-9-3 01:32 | 只看该作者
顶会计,顶arm编译,arm运行,顶会计上java....

使用特权

评论回复
139
原野之狼| | 2013-9-3 09:09 | 只看该作者
:lol

使用特权

评论回复
140
wangkj|  楼主 | 2013-9-4 11:50 | 只看该作者
测试spi时,找到的zibee部分有错,
需要修改内核,这是说明
eagleBoneBlack IEEE802154 Microchip MRF24J40
Jump to: navigation, search
Using the Microchip IEEE 802.15.4 Radio on the BeagleBone Black

To load support for the Microchip MRF24J40 execute the following:

#echo BB-BONE-MRF24J40 > /sys/devices/bone_capemgr.8/slots

This should result in following kernel debug messages:

[  883.483409] bone-capemgr bone_capemgr.8: part_number 'BB-BONE-MRF24J40', version 'N/A'
[  883.483585] bone-capemgr bone_capemgr.8: slot #6: specific override
[  883.483660] bone-capemgr bone_capemgr.8: bone: Using override eeprom data at slot 6
[  883.483716] bone-capemgr bone_capemgr.8: slot #6: 'Bone-MRF24J40,00A0,Signal 11 Softwa,BB-BONE-MRF24J40'
[  883.484028] bone-capemgr bone_capemgr.8: slot #6: Requesting firmware 'cape-bone-mrf24j40-00A0.dtbo' for board-name 'Bone-MRF24J40', version '00A0'
[  883.484113] bone-capemgr bone_capemgr.8: slot #6: dtbo 'cape-bone-mrf24j40-00A0.dtbo' loaded; converting to live tree
[  883.484629] bone-capemgr bone_capemgr.8: slot #6: #2 overlays
[  883.594180] edma-dma-engine edma-dma-engine.0: allocated channel for 0:43
[  883.594350] edma-dma-engine edma-dma-engine.0: allocated channel for 0:42
[  883.595019] mrf24j40: probe(). IRQ: 205
[  883.599630] bone-capemgr bone_capemgr.8: slot #6: Applied #2 overlays.

Kernel Patch Typo - Incompatible with baseboard

The current kernel patches has a typo in the /kernel/firmware/capes/cape-bone-mrf24j40-00A0.dts that may cause the cape manager to report it is incompatible with the baseboard. i.e.:

[  417.682368] bone-capemgr bone_capemgr.8: slot #8: Requesting firmware 'cape-bone-mrf24j40-00A0.dtbo' for board-name 'Bone-MRF24J40', version '00A0'
[  417.682392] bone-capemgr bone_capemgr.8: slot #8: dtbo 'cape-bone-mrf24j40-00A0.dtbo' loaded; converting to live tree
[  417.682595] bone-capemgr bone_capemgr.8: slot #8: Incompatible with baseboard for 'BB-BONE-MRF24J40'
[  417.692228] bone-capemgr bone_capemgr.8: slot #8: Failed verification

If this is the case, change the following line

compatible = "ti,beaglebone", "ti-beaglebone-black";

to

compatible = "ti,beaglebone", "ti,beaglebone-black";

and rebuild.
I/O Conflict with HDMI

The MRF24J40 shares I/O (P9.31) with the HDMI Interface. If you don't disable the HDMI interface on boot (or unload it - glup), the following error may result:

[   23.701229] bone-capemgr bone_capemgr.8: slot #7: Requesting firmware 'cape-bone-mrf24j40-00A0.dtbo' for board-name 'Bone-MRF24J40', version '00A0'
[   23.715092] bone-capemgr bone_capemgr.8: slot #7: dtbo 'cape-bone-mrf24j40-00A0.dtbo' loaded; converting to live tree
[   23.726858] bone-capemgr bone_capemgr.8: slot #7: BB-BONE-MRF24J40 conflict P9.31 (#5:BB-BONELT-HDMI)
[   23.736629] bone-capemgr bone_capemgr.8: slot #7: Failed verification

To disable the HDMI interface, see the example at the bottom of this page.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则