10.2. BSP Architecture
10.2.1. IAR Project
The IAR project is composed of three projects:
microej_freertos
: main BSP project for MIMXRT595-EVK board. Based on NXP SDK-2.8.0.microej_demo
: enrich the main project with Demo Wearable’s custom drawing (Software Accelerated Rotation).emwin_freetype
: Segger emWin Freetype library.
Both additional projects, microej_demo
and emwin_freetype
produce each a C archive.
These archives are already compiled and included in the main project microej_freertos
(no need to recompile them).
The main project microej_freertos
is based on examples available in NXP SDK-2.8.0 for MIMXRT595-EVK board.
Its tree structure follows the same convention as the NXP examples.
board
: Specific files related to the MIMXRT595-EVK board.CMSIS
: CMSIS files.component
: Required C components for the MIMXRT595-EVK board.device
: i.MX RT595 files.drivers
: NXP drivers.flash_config
: drivers for flash.freertos/freertos_kernel_10.2.1
: version 10.2.1 of FreeRTOS; used by project.freertos/freertos_kernel_10.3.0
: version 10.3.0 of FreeRTOS; not used by project (not compatible with Segger SystemView).lwip
: lwIP TCP/IP stack.libs
: Third-party libraries (C archives).source
: MicroEJ abstraction layer (see after).startup
: startup file.utilities
: additional utility files.vglite
: VGLite 3.0.4-rev4 library.video
: drivers for video (bus, display, etc.).Output
: IAR output files.
The MicroEJ abstraction layer (source
folder) is based on NXP examples.
It is composed of several elements:
ecom-network
: low-level implementation of MicroEJ ECOM-NETWORK library.ecom-wifi
: low-level implementation of MicroEJ ECOM-WIFI library.freetype
: low-level implementation of Segger emWin Freetype library for MIMXRT595-EVK board.kf
: low-level implementation of MicroEJ Multi-Sandbox Firmware and support to install new features (see Deploy Additional Watchface ); this group is useless to build a Mono-Sandbox Firmware.lowpower
: low power management (see Power Management)main
: main entry point and low-level implementation of MicroEJ Architecture core (LLMJVM
,LLBSP
).net
: low-level implementation of MicroEJ NET library.osal
: OS Abstraction Layer FreeRTOS implementation.systemview
: Segger SystemView files.trace
: low-level implementation of MicroEJ Architecture trace over Segger SystemView.ui
: low-level implementation of MicroEJ Architecture UI (MicroUI): display, input, drawings.util
: utility functions for low-level implementation of MicroEJ Architecture.vectorfont
: low-level implementation of VectorFont Library over Segger emWin Freetype library.vglite
: low-level implementation of VG Lite Library over VGLite library.
10.2.2. File System
The following list describes the links between the file system and the IAR project briefly:
projects
: The three projects:microej_freertos
,microej_demo
andemwin_freetype
.sdk
: NXP SDK 2.8.0: board support, CMSIS, drivers, RTOS, VGLite, etc.thirdparty
: Segger SystemView and Segger emWin Freetype files.
The MicroEJ project (projects/microej
) follows the same files and folders organization as the IAR project.
10.2.3. MicroEJ Platform Files
The MicroEJ platform enriches the BSP for MIMXRT595-EVK board with some header files and some archives.
The files are respectively copied into the folders projects/microej/platform/inc
and projects/microej/platform/lib
.
Note
The files are copied from the MicroEJ platform to the BSP project when launching a MicroEJ application on the MicroEJ Platform.