簡體   English   中英

RPi3與SenseHat和Yocto

[英]RPi3 with SenseHat and Yocto

我目前正在為安裝了SenseHat的RPi3構建Yocto Image。

Yocto圖像由以下圖層組成:

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

特定於應用程序的層主要負責加載以下內核模塊:

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

它還包含openssh,psplash,gcc,make,libiio,rtimulib和其他一些misc。 包。

我的映像在沒有安裝SenseHat的情況下很好地啟動,但啟動過程在到達UART shell之前停止。 它一直處於凍結狀態,直到監視器重置系統。

以下是系統凍結前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

我要注意,我已經將三條線焊接到UART引腳上:

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

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

知道可能導致這種行為的原因是什么嗎?

事實證明,問題在於yocto local.conf -file。 設置了以下行:

ENABLE_I2C = "1"

這創建了第二個i2c驅動程序,導致其中一個崩潰啟動。

對於那里的任何谷歌:這個標志不需要設置。 而是確保在啟動時加載i2c-dev內核驅動程序。

我從未使用藍牙,但似乎系統沒有凍結,你只是在藍牙連接時丟失了UART數據。 這里 :在rpi3上,這是正常的,因為Raspberry Pi3上的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一樣連接依賴(不要忘記配置它)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM