Coconote
AI notes
AI voice & video notes
Try for free
🛠️
Custom Board Development with NRF Connect SDK
Nov 22, 2024
Adding Custom Board Support in NRF Connect SDK
Presenter Information
Name:
Ali Aljani
Role:
Developer Marketing Manager at Nordic Semiconductor
Agenda for Webinar
What is a board in the context of NRF Connect SDK and Zephyr?
Hardware support hierarchy in NRF Connect SDK and Zephyr
Board files: mandatory, optional, and special use cases
Considerations for custom boards based on nRF91 and nRF53 series
Hands-on demo: Building a custom board from scratch
Key Concepts
Definition of a Board
A board refers to the target hardware for application development and execution.
Examples include development kits, prototyping platforms, modules, and custom PCBs.
Important attributes include:
Exact chip used (SoC or SIP)
Peripheral configurations
Components (sensors, connectors, etc.)
Portability
NRF Connect SDK is designed with high portability.
Applications can be moved across different hardware by changing the build target.
Hardware Support Hierarchy
Board Layer:
Specific instance of an SoC and its peripherals; needs to be written for custom hardware.
SoC Layer:
Describes the exact SoC, including memory and peripherals; provided by the SDK.
SoC Series and Family Layers:
Groups related SoCs together.
CPU Core and Architecture:
Provided by the SDK; includes low-level functions like boot-up sequences.
Board Files
Mandatory Files:
Required for any custom board implementation.
Device Tree Files
KConfig Files
Optional/Special Use Case Files:
Include documentation, CMake files, etc.
Special Considerations for nRF91 and nRF53 Series
Architecture:
nRF52: ARMv7M architecture, single-core, no trust zone.
nRF53/nRF91: ARMv8M architecture, multi-core with trust zone support.
Trusted Firmware M (TFM):
Provides a secure processing environment.
Two options: Using TFM (secure and non-secure processing environments) or not using TFM (single image with full privilege).
Hands-on Demo
Steps to Create a Custom Board Definition
Set Up Environment:
Open Visual Studio Code with NRF Connect SDK.
Create Board Files:
Using a wizard to generate board files for the nRF52A33 SoC.
**Define Configuration:
Specify board name (e.g., dev academy nRF52 833).
Generate mandatory KConfig files using the wizard.
Device Tree File:
Structure to reflect board hardware, including peripherals.
Utilize Visual Editor:
Enables simple population of device tree syntax.
Testing:
Build the application and check console output to verify board setup.
Resources
Nordic Developer Academy:
Free online courses about SDK and Zephyr.
Dedicated courses for Bluetooth Low Energy, cellular protocols, and more.
Guides and documentation from the Zephyr project.
Q&A Session
Open floor for questions and clarifications.
📄
Full transcript