Thanks to visit codestin.com
Credit goes to github.com

Skip to content

NVIDIA/OpenSMA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenSMA

Instructions to build P3957 FW

Prepare Environment

Use Ubuntu 24.04

  1. Install package
apt-get update && apt-get install -y --no-install-recommends \
        git git-lfs git-delta ca-certificates curl locales \
        gawk sed xxd jq rsync make groff ncurses-bin \
        gnupg python3 python3-pip python3-dev python3-clang \
        openssh-client clang-tidy-18 clang-format-18 \
        lcov gcc-13 g++-13 \
        doxygen graphviz asciidoctor asciidoc gem javacc ruby-rouge \
        file dos2unix less patch
  1. Install python package
pip3 install --break-system-packages \
        jsonschema==4.23.0 \
        ruamel.yaml==0.18.14 \
        spsdk==2.3.0
  1. Link make
ln -sf /usr/bin/make corepdk/ubs/bin/make

Prepare Toolchain

  1. Download arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi.tar.xz
  2. Extract arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi.tar.xz into libexec/toolchain/
  3. Download gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
  4. Extract gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 into libexec/toolchain/
  5. Download alire
  6. Run alr get gnat_arm_elf=14.2.1
  7. Move gnat_arm_elf_14.2.1_524d4d41 into libexec/toolchain/

Prepare SDK

  1. Download FRDM-MCXN236 SDK version 25.03.00 from https://mcuxpresso.nxp.com/en
    • Select "mbedTLS", "NXP ELS PKC", "FreeRTOS" and "USB Host, Device, OTG Stack" option in "Developer Environment Settings"
  2. Extract 25.03.00 SDK into libexec/sdk/SDK_25_03_00_FRDM-MCXN236
mkdir -p libexec/sdk/SDK_25_03_00_FRDM-MCXN236
tar -xvzf SDK_25_03_00_FRDM-MCXN236.tar.gz -C libexec/sdk/SDK_25_03_00_FRDM-MCXN236

Patch SDK

MCU SDK

cd libexec/sdk/SDK_25_03_00_FRDM-MCXN236
patch -p1 < ../../patch/mcu.patch

Build and Sign FW

Artifact will be generated under build folder

MCU FW

./ubs build --local PROJECT=p3957 PLATFORM=mcxn236 BOARD=p3957 MODE=rel
./ubs local-sign --local PROJECT=p3957 PLATFORM=mcxn236 BOARD=p3957 MODE=rel

Use Docker

You can also build and sign FW in Docker.

# Build Docker image if you didn't build before
docker build -f ./libexec/ubs.dockerfile -t opensma .
# Run Docker image
docker run --rm -it --user=${UID}:${GID} -v $(pwd):/opensma opensma
# Build and sign FW
./ubs build --local PROJECT=p3957 PLATFORM=mcxn236 BOARD=p3957 MODE=rel
./ubs local-sign --local PROJECT=p3957 PLATFORM=mcxn236 BOARD=p3957 MODE=rel

About

Open-source SMA firmware

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published