PPC Yocto Layer
The meta-bcdevices Yocto layer can be used to facilitate the creation of firmware images for Single-Board Computers (SBCs) embedded in a custom Pogo-Pin Cassette (PPC).
Sample Image Build
The meta-bcdevices layer includes a sample PPC SBC image definition with
a stub test (/bin/true
), which is meant to be replaced with designated
test software needed for testing a particular Device under Test (DUT).
Prerequisites
Linux build host
siemens/kas: Setup tool for bitbake based projects:
sudo pip3 install kas
Instructions
Checkout the GIT repository at https://github.com/bcdevices/meta-bcdevices/
Build an RPi4 image:
kas build meta-bcdevices/kas-rpi4.yml
Copy the generated
..rpi-sdimg
file to the SD card
UART Output
Including the ppc-sbc-packagegroup sets the SBC up for for easy integration with a PLT test plan.
For example, the sample PPC SBC firmware yields the following output over UART:
Poky (Yocto Project Reference Distro) 4.1.2 <machine> ttyAMA0 <hostname> login: pltagent (automatic login) Last login: Mon Mar 27 16:41:54 +0000 2023 on /dev/hvc0. machine-id:<machine_id> ----------------------- Build Configuration: | ----------------------- DISTRO = poky DISTRO_VERSION = 4.1.2 ----------------------- Layer Revisions: | ----------------------- meta-oe = langdale:3f9340a9241d497753b330d90d6a3d8332c1ba7f meta-raspberrypi = langdale:6f5771d2bcfbfb8f8ce17b455c29a5703f2027c9 meta = HEAD:74c92e38c701e268406bb656b45ccd68471c217e meta-poky = HEAD:74c92e38c701e268406bb656b45ccd68471c217e meta-yocto-bsp = HEAD:74c92e38c701e268406bb656b45ccd68471c217e pltagent:PASS PASS pltagent@<hostname>:~$
This output can be intereted as part of a PLT test plan:
title: "Test DUT using SBC in PPC"
suite:
- title: "Power DUT"
steps:
- ground all
- power 3V3 on
- title: "Test DUT with SBC"
steps:
# Send Ctrl-D to trigger new UART session on SBC
- command: uart UART0
send: "\x04"
# SBC Firmware version check
- command: uart UART0 noflush
expect: |
meta-poky = HEAD:74c92e38c701e268406bb656b45ccd68471c217e
# SBC Firmware DUT Test Result
- command: uart UART0 noflush
expect: "\r\nPASS\r\n"
References