83 lines
3.8 KiB
ReStructuredText
83 lines
3.8 KiB
ReStructuredText
.. _nrf53_audio_app_adapting:
|
|
|
|
Adapting nRF5340 Audio applications for end products
|
|
####################################################
|
|
|
|
.. contents::
|
|
:local:
|
|
:depth: 2
|
|
|
|
This page describes the relevant configuration sources and lists the steps required for adapting the :ref:`nrf53_audio_app` to end products.
|
|
|
|
Board configuration sources
|
|
***************************
|
|
|
|
The nRF5340 Audio applications use the following files as board configuration sources:
|
|
|
|
* Devicetree Specification (DTS) files - These reflect the hardware configuration.
|
|
See :ref:`zephyr:dt-guide` for more information about the DTS data structure.
|
|
* Kconfig files - These reflect the hardware-related software configuration.
|
|
See :ref:`kconfig_tips_and_tricks` for information about how to configure them.
|
|
* Memory layout configuration files - These define the memory layout of the application.
|
|
|
|
You can see the :file:`zephyr/boards/nordic/nrf5340_audio_dk` directory as an example of how these files are structured.
|
|
|
|
For information about differences between DTS and Kconfig, see :ref:`zephyr:dt_vs_kconfig`.
|
|
For detailed instructions for adding Zephyr support to a custom board, see Zephyr's :ref:`zephyr:board_porting_guide`.
|
|
|
|
.. _nrf53_audio_app_porting_guide_app_configuration:
|
|
|
|
Application configuration sources
|
|
*********************************
|
|
|
|
The application configuration source file defines a set of options used by the given nRF5340 Audio application.
|
|
This is a :file:`.conf` file that modifies the default Kconfig values defined in the Kconfig files.
|
|
|
|
Only one :file:`.conf` file is included at a time.
|
|
The :file:`prj.conf` file is the default configuration file and it implements the debug application version.
|
|
For the release application version, you need to include the :file:`prj_release.conf` configuration file.
|
|
In the release application version no debug features should be enabled.
|
|
|
|
Each nRF5340 Audio application also uses its own :file:`Kconfig.default` file to change configuration defaults automatically.
|
|
|
|
You need to edit :file:`prj.conf` and :file:`prj_release.conf` if you want to add new functionalities to your application, but editing these files when adding a new board is not required.
|
|
|
|
.. _nrf53_audio_app_porting_guide_adding_board:
|
|
|
|
Adding a new board
|
|
******************
|
|
|
|
.. note::
|
|
The first three steps of the configuration procedure are identical to the steps described in Zephyr's :ref:`zephyr:board_porting_guide`.
|
|
|
|
To use the nRF5340 Audio application with your custom board:
|
|
|
|
1. Define the board files for your custom board:
|
|
|
|
a. Create a new directory in the :file:`nrf/boards/<vendor>/` directory with the name of the new board.
|
|
#. Copy the nRF5340 Audio board files from the :file:`nrf5340_audio_dk` directory located in the :file:`zephyr/boards/nordic/` folder to the newly created directory.
|
|
|
|
#. Edit the DTS files to make sure they match the hardware configuration.
|
|
Pay attention to the following elements:
|
|
|
|
* Pins that are used.
|
|
* Interrupt priority that might be different.
|
|
|
|
#. Edit the board's Kconfig files to make sure they match the required system configuration.
|
|
For example, disable the drivers that will not be used by your device.
|
|
#. Build the application by selecting the name of the new board (for example, ``new_audio_board_name``) in your build system.
|
|
For example, when building from the command line, add ``-b new_audio_board_name`` to your build command.
|
|
|
|
FOTA for end products
|
|
*********************
|
|
|
|
Do not use the default MCUboot key for end products.
|
|
See :ref:`ug_fw_update` and :ref:`west-sign` for more information.
|
|
|
|
To create your own app that supports DFU, you can use the `nRF Connect Device Manager`_ libraries for Android and iOS.
|
|
|
|
Changing default values
|
|
***********************
|
|
|
|
Given the requirements for the Coordinated Set Identification Service (CSIS), make sure to change the Set Identity Resolving Key (SIRK) value when adapting the application.
|