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

Instructions

  1. Checkout the GIT repository at https://github.com/bcdevices/meta-bcdevices/

  2. Build an RPi4 image:

    kas build meta-bcdevices/kas-rpi4.yml
    
  3. 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