[嵌入式Linux] 用攒电脑的办法快速玩转arm linux

[复制链接]
33729|209
 楼主| wangkj 发表于 2013-8-27 08:47 | 显示全部楼层
我另外放了一份到附件中,如果上面的代码意外出现错误,很可能网页文字有时不对。
就下载这份直接winscp到你的板子上。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| 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/

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangkj 发表于 2013-8-27 08:54 | 显示全部楼层
ls -al /dev/spidev1.*
cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pingroups

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangkj 发表于 2013-8-27 08:55 | 显示全部楼层
root@beaglebone:~# ls /dev/spi*
/dev/spidev1.0  /dev/spidev1.1
可爱的 /dev/spi设备出来啦
 楼主| 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共享。
 楼主| 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
 楼主| 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| wangkj 发表于 2013-8-28 10:44 | 显示全部楼层
找到一份spi方面的如何使用的文档,
修改uenv.txt的时候,改错了,系统不能启动,出现kernel panic错误。
J1接上 usb ttl串口,启动的时候,一直按空格键。
然后输入:
setenv bootenv
boot
启动,然后修改uenv.txt为原来的值。
 楼主| 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
 楼主| wangkj 发表于 2013-8-28 11:17 | 显示全部楼层
用spidev_test 测试,
用mosi/miso短路,或者把mosi接地或电源,
回读的数据不变,但用示波器看,
spck,mosi的输出还是对的。
说明 发送正常,回读没有!
 楼主| wangkj 发表于 2013-8-28 11:18 | 显示全部楼层
http://elinux.org/BeagleBone_Black_Enable_SPIDEV
这份文档或许更合适,按照这份文档试试看
lanchong1980 发表于 2013-8-28 15:15 | 显示全部楼层
狠人啊
dong_abc 发表于 2013-8-28 21:47 | 显示全部楼层
会计玩得很嗨噢!
 楼主| wangkj 发表于 2013-9-2 09:02 | 显示全部楼层
木有人感兴趣,不更新了。。。
yan_jian 发表于 2013-9-2 11:27 | 显示全部楼层
晕!敢兴趣呢
更新吧
snakeemail 发表于 2013-9-2 21:59 | 显示全部楼层
王会计干脆你开讲习班吧,挣钱容易
dong_abc 发表于 2013-9-3 01:13 | 显示全部楼层
wangkj 发表于 2013-9-2 09:02
木有人感兴趣,不更新了。。。

晕,这才到spi,到关键时刻就泄气了。都写这么多了,更新下去吧。
dong_abc 发表于 2013-9-3 01:32 | 显示全部楼层
顶会计,顶arm编译,arm运行,顶会计上java....
原野之狼 发表于 2013-9-3 09:09 | 显示全部楼层
 楼主| 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.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部