4.5. Raspberry Pi Build

Also Refer - https://www.nxp.com/docs/en/application-note/AN12570.pdf

4.5.1. Prerequisite

Linux should be running on the Raspberry Pi development board, the release was tested with Raspbian Buster (4.19.75-v7l+)

4.5.2. Connecting SE05X with RaspberryPi

../_images/SE050-RPi.jpg

4.5.3. Enable Pin configuration for SE05X

Connect GPIO22 (P1_15) to enable pin of SE05X as indicated in the image above.

4.5.4. Build Instructions

  1. Copy the Plug & Trust middleware package to the raspberry pi file system

  2. Install required build tools, if the image does not have them already

  3. Enable I2C if not yet enabled on your board. If ls /sys/bus/i2c/devices does not list i2c-1,

    I2C needs to be enabled for your board..

    • Run sudo raspi-config

    • Use the down arrow to select Interfacing Options.

    • Follow instructions and Enable I2C

  4. Install extra build tools. e.g. on 2019-07-10-raspbian-buster-lite.img, following packages are also required:

    sudo apt-get install cmake cmake-curses-gui cmake-gui libssl-dev libsystemd-dev
    
  5. Execute the below commands to build and install the se05x libraries to the system

    cd simw-top
    python scripts/create_cmake_projects.py
    cd ../simw-top_build/raspberrypi_native_se050_t1oi2c
    cmake --build .
    make install
    ldconfig /usr/local/lib
    

    Note

    If autodetection of RaspberryPi fails run the command with arguement python scripts/create_cmake_projects.py rpi

    Default cmake options are shown below:

    Applet                           SE050_C
     CMAKE_BUILD_TYPE                 Debug
    CMAKE_INSTALL_PREFIX             /usr/local
    Host                             Raspbian
    HostCrypto                       OPENSSL
    IOT                              GCP
    Log                              Verbose
    NXPInternal                      ON
    OpenSSL                          1_1_1
    RTOS                             Default
    SCP                              None
    SE05X_Auth                       None
    SMCOM                            VCOM
    SSS_HAVE_FIPS                    0
    WithCodeCoverage                 OFF
    WithNXPNFCRdLib                  OFF
    WithSSS_TestCounterPart          ON
    WithSharedLIB                    OFF
    mbedTLS_ALT                      None
    
  6. If required cmake options can be changes and libraries can be rebuilt and installed. Refer CMake

    cd simw-top_build/raspberrypi_native_se050_t1oi2c
    
    # With Gui
    cmake-gui .
    

    The cmake-gui will bring up CMake GUI that can set up command with bring up the CMake UI using which options like logging level, etc. can be changed.

    If you are connected to Raspberry PI over a command line terminal, (which does not have GUI), you can use ccmake . instead of cmake-gui .

4.5.5. SSS Examples

Above build steps will also build few sample examples for se05x test. Location: simw-top_build/raspberrypi_native_se050_t1oi2c/bin

Refer Demo and Examples for details on these examples and for running cloud/tls demo applications