2016-11-01 41 views
1

我目前正在爲安裝了SenseHat的RPi3構建Yocto圖像。RPi3與SenseHat和Yocto

的Yocto圖像由以下層組成:

  • 元狹小
  • 元OE
  • 元網絡
  • 元蟒
  • 元樹莓派
  • meta-java
  • 一個特定於應用程序的層。

的應用程序特定層的主要任務是加載下列內核模塊:

  • I2C-dev的
  • fb_sys_fops
  • syscopyarea
  • sysfillrect
  • sysimgblt
  • rpisense_core
  • 個rpisense_js
  • rpisense_fb

它還包含OpenSSH的,psplash,GCC,製作,libiio,rtimulib和其他一些雜項。包。

我的形象很好的靴子沒有SenseHat安裝,但是當它被安裝在到達UART前殼的啓動進程停止。它一直保持凍結狀態,直到系統被看門狗復位。

以下是系統凍結前UART輸出的最後部分。

{...} 
Populating dev cache 
ALSA: Restoring mixer settings... 
/usr/sbin/alsactl: load_state:1735: No soundcards found... 
Tue Nov 1 10:01:54 UTC 2016 
INIT: Entering runlevel: 5 
Configuring network interfaces... [ 5.130327] smsc95xx 1-1.1:1.0 eth0: hardware isn't capable of remote wakeup 
udhcpc (v1.24.1) started 
Sending discover... 
[ 6.662428] smsc95xx 1-1.1:1.0 eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1 
[ 6.688217] cfg80211: Calling CRDA to update world regulatory domain 
Sending discover... 
Sending select for 192.168.0.106... 
Lease of 192.168.0.106 obtained, lease time 3600 
/etc/udhcpc.d/50default: Adding DNS 192.168.0.20 
/etc/udhcpc.d/50default: Adding DNS 192.168.0.40 
done. 
Starting system message bus: dbus. 
Starting OpenBSD Secure Shell server: sshd 
[ 9.034713] NET: Registered protocol family 10 
done. 
Starting rpcbind daemon...done. 
Starting advanced power management daemon: No APM support in kernel 
(failed.) 
Starting bluetooth 
bluetoothd 
Starting syslogd/klogd: done 
* Starting Avahi mDNS/DNS-SD Daemon: avahi-daemon 
[ 9.401783] Bluetooth: Core ver 2.20 
[ 9.405528] NET: Registered protocol family 31 
[ 9.410088] Bluetooth: HCI device and connection manager initialized 
[ 9.416576] Bluetooth: HCI socket layer initialized 
[ 9.421576] Bluetooth: L2CAP socket layer initialized 
[ 9.426747] Bluetooth: SCO socket layer initialized 
    ...done. 
Starting Telephony daemon 
[ 9.507315] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 
[ 9.512765] Bluetooth: BNEP filters: protocol multicast 
[ 9.518098] Bluetooth: BNEP socket layer initialized 
Starting Linux NFC daemon 
[ 9.624816] nfc: nfc_init: NFC Core ver 0.1 
[ 9.629241] NET: Registered protocol family 39 

我shoould注意,我焊三根線到UART引腳:

RPi3 UART pins http://www.embeddedforu.com/wp-content/uploads/2015/06/Raspberry-pi-UART-connections_thumb.png

當系統被凍結,我仍然可以ping通的設備,但SSH不起作用。

任何想法可能會導致此行爲?

回答

0

原來,問題在於yocto local.conf -file。設置了以下行:

ENABLE_I2C = "1" 

這創建了第二個i2c驅動程序,它導致啓動時崩潰之一。

對於任何Google員工:無需設置此標誌。相反,請確保在啓動時加載內核驅動程序i2c-dev

0

我從來沒有使用藍牙,但似乎系統不凍結,你只是失去了藍牙連接時的UART數據。 從here: 在rpi3上,這是正常的,因爲樹莓派3上的BCM2837有2個UART(與其前輩一樣),但是爲了支持藍牙功能,全功能的PL011 UART從標頭引腳移動到藍牙芯片以及在頭部引腳上提供的微型UART 8 & 10.

這對串行接口的用戶有很多後果。

以前用於訪問UART的/ dev/ttyAMA0現在連接到藍牙。

我勸你再試一次具有的config.txt

dtoverlay=pi3-disable-bt 
enable_uart=1 

如果你真的需要藍牙,使用

dtoverlay=pi3-miniuart-bt 

而對於SSH,你的圖像添加「的OpenSSH」配方和依賴關係連接像wpa-supplicant(不要忘記配置它)