2016-11-01 2 views
1

В настоящее время я работаю над созданием изображения Yocto для RPi3 с установленным SenseHat.RPi3 с SenseHat и Yocto

Yocto изображение состоит из следующих слоев:

  • мета
  • мета-убогая
  • мета-ОЕ
  • мета-сети
  • мета-питона
  • мета-raspberrypi
  • meta-java
  • - определенный для приложения уровень.

Применение конкретного слоя в основном поставлена ​​задача загрузки следующих ядра модули:

  • i2c-DEV
  • fb_sys_fops
  • syscopyarea
  • sysfillrect
  • sysimgblt
  • rpisense_core
  • rpisense_js
  • rpisense_fb

Он также содержит OpenSSH, psplash, GCC, сделать, libiio, rtimulib и некоторые другие Misc. пакеты.

Мое изображение прекрасно загружается без монтирования 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 внимание, что я припаяны три провода на УАПП штифтов:

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

Когда система замерзнет, ​​я все еще могу пинговать устройство, но SSH не работает.

Любая идея, что может быть причиной такого поведения?

ответ

0

Оказалось, что проблема лежит в пределах yocto local.conf -file. Следующая строка была установлена:

ENABLE_I2C = "1" 

Это создало вторую i2c-драйвер, который приведет к одному из сбоя при загрузке.

Для любых гуглеров: этот флаг не требуется устанавливать. Вместо этого убедитесь, что при загрузке загружен драйвер ядра i2c-dev.

0

Я никогда не пользовался bluetooth, но, похоже, система не замерзает, вы просто теряете данные UART при подключении Bluetooth. От here: На rpi3 это нормально, так как BCM2837 на Raspberry Pi3 имеет 2 UART (как и его предшественники), однако для поддержки функций Bluetooth полностью совместимый PL011 UART был перемещен из штырьков заголовка в чип Bluetooth и мини-UART, доступный на штифтах заголовка 8 & 10.

Это имеет ряд последствий для пользователей последовательного интерфейса.

/dev/ttyAMA0, ранее используемый для доступа к UART, теперь подключается к Bluetooth.

Я бы посоветовал вам попробовать еще раз, имея в config.txt

dtoverlay=pi3-disable-bt 
enable_uart=1 

И если вам действительно нужно Bluetooth, используйте

dtoverlay=pi3-miniuart-bt 

И для SSH, добавить "OpenSSH" в изображении рецепт и зависимости для подключения, например wpa-supplicant (не забудьте его настроить)