1 Document Control Document Version: v1.0 Document Date: 09/21/2021 Document Author: Peter Fenn Document Classification: Public Document Distribution: Public 2 Version History Version Date Comment 09/21/2021 Release version (for Rev.3 production PCB) Page 2...
3 Hardware Checklist Hardware items recommended for application development are the following Item Description Computer (Windows / Linux / Mac) with installed development tools (see below) Avnet MaaXBoard RT board http://avnet.me/MaaXBoard-RT NXP MCU-LINK Debugger/Programmer Probe (plus USB type-A to MicroUSB cable)
5 Introduction • 1GHz SBC with advanced real-time capabilities – Use as a processing sub-assembly in OEM products or as a versatile development board – Raspberry Pi-4B form-factor facilitates easier enclosure and cabling integration – 40-pin HAT compatible expansion header (ie. access Pi HAT ecosystem add-on boards) –...
MaaXBoard RT Schematic and BOM (available under NDA) NXP IMXRT1170RM MCU-LINK Debugger/Programmer Probe (Required Option) NXP MCU-LINK Debugger Probe configured for CMSIS-DAP protocol, is supported by multiple IDEs and is available for purchase separately from Avnet Standard MCU-Link features: High speed USB, SWD debug, ...
MCU-LINK-PRO Debugger/Programmer Probe (Optional) The new NXP MCU-LINK-PRO Debugger Probe provides an alternative debugger probe option with several enhancements (available Sept 2021) Features in common with MCU-Link: High speed USB SWD debug SWO profiling VCOM (USB to UART bridge) Advanced MCU-Link-Pro features: ...
Other SBCs and SOMs from Avnet Boards (Optional) The Avnet Products & Emerging Technology engineering team work in close partnership with key suppliers to develop advanced enablement solutions • Kits / Boards / SOMs / Modules • Reference Designs •...
Jumpers, LEDs, and Switches 6.5.1 Boot Mode Configuration Jumper (J19) Link M1 M0 Setting Pins State Description None Boot from Fuses Internal Boot / IDE-based Development Serial Downloader (using USB or UART) 6.5.2 Button Switches Two pushbuttons are located at board edge, between MIPI-DSI connector and 40-pin header Button Ref.
Memory Resources The NXP RT1176 device is extremely flexible in what memory is utilized for application storage, application execution and data storage. Note: Significant differences in performance can be expected, when comparing code execution in the different types of memory.
6.6.1 Memory Maps for Application Development Tabled below are typical memory map settings for applications using RAM and SDRAM a) RAM-based Cortex-M7 low-latency/high-performance real-time application Memory Mem. Mem. Mem. Hex Start Hex Mem. Type Size Width Speed Address Size SRAM_ITC_cm7 256 KB 32 bit 0x40000...
2) Import an example project from the SDK 2.10.1 RT1170-SDK package (e.g., Hello World) 3) In the project’s XIP folder, delete evkmimxrt1170_flexspi_nor_config.c and replace this with the Avnet version file (of the same name), which specifies the HyperFlash parameters instead of the QSPI flash configuration parameters used in NXP’s SDK examples.
6.6.4 HyperFlash Programming using NXP MCUBootUtility Application Besides normal programming via the debugger probe and the SWD interface, the hyperflash can also be programmed via the USB-C interface or a UART interface, using “Serial Download” boot mode. To select this mode, the J19 bootmode jumper needs to be moved to the “Serial Download” position. NXP-MCUBootUtility PC application is a user-friendly GUI based tool for flash erase and programming, using this mode, either via the board’s USB-C connector, or the debug UART 3-pin header.
Figure 9 – Mass Erase / Reload of Default Flash Driver 6.6.5 HyperFlash Programming using MCUXpresso Secure Provisioning Tools Flash programming is also supported via the NXP MCUXpresso Secure Provisioning Tools standalone application. This is not however a suitable tool to use during program development. Page 25...
When building an application that uses SDRAM, it is of critical importance that the project’s dcd.c file be replaced by the version of this file that is supplied by Avnet. This is necessary as MaaXBoard RT has x16 width SDRAM interface, while the NXP RT1170-EVK board has a x32 width parallel data interface) Download the Avnet version dcd.c file from:...
MaaXBoard RT uses a Murata Type-1ZM Wi-Fi 5 and Bluetooth 5 combo module, which is based on the NXP 88W8987 device. Both 2.4 GHz and 5 GHz Wi-Fi operation is supported Interfaces between the NXP 88W8987 based module and the NXP RT1176 host processor include: ...
6.7.1 Wi-Fi SDIO Interface USDHC1 interface is configured for 1.8V operation and is clocked at 200 MHz (This is the same SDIO interface as used on the RT1170-EVK) 6.7.2 BT/BLE UART Interface LPUART10 including hardware flow is routed from the RT1176 via a 3.3V to 1.8V level-shifter, to the 1ZM module’s Bluetooth UART interface.
The antenna shipped with MaaXBoard RT (as used for regulatory certifications) is Molex p/n: 1461870050 Peripheral Devices and Interfaces 6.8.1 USB 2.0 Host Interface USB1 controller is assigned to the type-A connector USB Host interface 6.8.2 USB 2.0 Device Interface USB0 controller is assigned to the type-C connector USB Device interface 6.8.3 GbE Ethernet (with TSN time-sync.)
6.8.7 MIPI-CSI Camera 2-lane, the pinout is same as used on Raspberry-Pi boards. This optional 5 MP MIPI-CSI camera is based on same OV5640 image sensor as used with the NXP RT1170-EVK board. 6.8.8 Digital Microphones Four PDM digital microphones (ST p/n: MP34DT05-A) are located adjacent to the four mounting holes on MaaXBoard RT.
Height of stacked boards is minimized as RT1176 does not require heatsink 6.8.13 MikroE Click Boards • Over 1000+ Click Boards available (orderable from Avnet) • Inexpensive Pi HAT adapters available (for 2 Click boards) • Parametric search tool on MikroE website •...
6.8.14 J15: Custom 18-pin expansion header MaaXBoard RT MaaXBoard RT Even MaaXBoard RT MaaXBoard RT Port Name Signal Name Pin # Pin # Signal Name Port Name VDD_3V3 VDD_3V3 VDD_3V3 VDD_3V3 GPIO_LPSR_00 CAN3_TX GPIO_AD_01 CAN3_RX 1588_1G_EVENT1_OUT GPIO_LPSR_01 GPIO_AD_07 1588_1G_EVENT1_IN GPIO_AD_00 1588_EVENT1_OUT GPIO_EMC_B2_12 1588_EVENT1_IN...
6.8.15 J17: UART1 USB Serial Port 3-pin header Label on Label on MCU-LINK MaaXBoard RT TX to Target RX to Target Table 9 – UART1 console debug VCOM 3-pin header (J17) Note: The TXD and RXD wire-order is crossed-over between MCU-LINK debugger and MaaXBoard RT ...
Power Input, Protection and Regulation 6.9.1 USB type-C Connector The USB type-C connector is used for 5V power and provides a USB-Device interface 6.9.2 ESD Protection All USB connectors have high-speed ESD protection on their power rails and data lines 6.9.3 Power Regulation A 5V to 3.3V dc/dc buck convertor regulates the Vcc rail voltage (rated @ 3A max)
Build MCUXpresso SDK_2.10.1 to download… To install, simply drag & drop the SDK zip file into the Installed SDKs panel of MCUXpresso IDE SDK_2.10.0_MIMXRT1170-EVK.zip Four files defined by Avnet also need to be downloaded from the following sharepoint page: http://avnet.me/MaaXBoard-RT-SDK MaaXBoard_S26KS256.cfx ...
8 Development Environment Follow the instructions from NXP to install the MCUXpresso IDE and SDK, the documentation to assist with setting up the development environment are provided in section 0. Importing a Project zip File Once the MCUXpresso IDE and SDK are installed, import the project zip file into a new workspace by clicking on the “Import project(s) from file system link”...
Building projects To build the selected project, simply press the Build button from the Quickstart panel. Setting up the debugger Before attempting to debug or flash the board the MaaXBoard_S26KS256.cfx file has to be added to the .mcuxpressoide_packages_support folder. To do this, locate the MaaXBoard_S26KS256.cfx file in the project directory xip folder.
Downloading and running the application At this point, the application is ready for debugging. Press the Debug button from the Quickstart Panel Once the application is downloaded, press the resume button to run the application. Once the application is downloaded and running, press the terminate button to exit debugging. Power-cycling the board or pressing the reset button will restart the application since it is now located in flash.
I2C5 to I2C6. Remap the DSI_TS_nINT interrupt pin. MIPI Display Different display and MIPI controller, use Avnet-supplied driver (avt-ili9881c.c) controller driver plus related modifications. MIPI-DSI signals have same mapping as on EVK. DSI_EN and DSI_BL_PWM control signals require remapping.
4) Accommodating the subset of hardware differences between MaaXBoard RT and the RT1170-EVK, a broad range of RT1170-EVK SDK examples have already been adapted and tested on MaaXBoard RT. This material will be made available in due course via public Avnet Github pages Page 42...
10 MaaXBoard RT Example Applications 10.1 Custom System-level Reference Designs Application Name Board functions exercised Repo / Location Ref.Design #1: MIPI DSI display, touchscreen, USB host, Wi-Fi scan and Not yet posted to Out of Box Demo connect, 100M & 1G Ethernet, PDM microphones, audio public repo output, RGB LED, CLI interface, HyperFlash, User button, CSI camera interface, I2C interface.
11 Customizing the OOB Test Suite (Ref. Design #1) 11.1 Overview of MaaXBoard-RT Reference Design #1 This reference design is the “out-of-box” application that is factory pre-programmed into the HyperFlash memory of new MaaXBoard RT boards. It provides a suite of board test functions that can be exercised using two different interfaces: ...
Page 45
The project source files are available for users to download, edit and repurpose for accelerated development of customized user applications (Avnet’s MaaXBoard RT “Factory Test” application is an example of how this codebase can be rapidly repurposed, in that case to interface with an automated C# test application running on a Windows computer) The Graphical UI screens are designed using NXP's free GUI Guider tool.
--------- UTILITY -------------------- stats : RTOS Statistics : Clear the terminal q/ctrl+c : Abort the command ? / h : Menu Help ========= Avnet GUI Demo v1.0 [2021-06-25] Figure 14 – Default list of supported CLI Menu commands Page 46...
11.3 GUI mode (Graphical UI) To run in GUI mode, the optional 7inch MIPI display (720x1280) from Avnet is required. The Menu can be navigated using the touchscreen or mouse (attach via the USB type-A host connector). Depending on the required orientation, the user may want to rotate the screen by 180 degree.
11.4 Project Structure for Reference Design #1 The project contains several folders however, only a few are of interest for the purpose of this document. The folders of interest are the following: generated/ GUI Guider generated source files sources/ application source files ...
Figure 16 – Project folders The main function int main(void) is located under source/littlevgl_guider.c and contains the initialization routines as well as the logic for creating the required FreeRTOS tasks. There are a total 10 FreeRTOS tasks running. lvgl_task Task handling all GUI object events and navigation ...
USB_HostTask USB host task for enumerating HID devices (keyboard and mouse) USB_HostApplicationMouseTask Reads HID mouse data USB_HostApplicationKeyboardTask Reads HID keyboard data USB_logTask Responsible for processing the USB keyboard and mouse data and outputs to the serial port.
12 Customizing the Wi-Fi Webserver (Ref. Design #2) 12.1 Overview of the MaaXBoard-RT Reference Design #2 FreeRTOS based dual-core application supports M7 based webserver and Wi-Fi network connectivity M4 based I2C sensor monitoring & output control Remote, headless operation UI access to board via any internet browser Websocket streaming of 6-axis IMU sensor data Network connection via 802.11ac Wi-Fi...
This application utilizes the M7 and the M4 cores to demonstrate a headless webserver on the i.MXRT1170 MCU. Main features of this design include the following: Utilizing the HyperFlash for non-volatile configuration storage Wi-Fi softAP or Wi-Fi client ...
12.2.2 Soft AP mode MaaXBoard RT will run in soft AP mode if SSID and password have not been stored in the HyperFlash configuration partition. Alternatively, the user can pre-configure the board’s Wi-Fi network connection, by hard-coding the default SSID and password in webcongig.h #define WIFI_SSID "maaxboard_access_point"...
12.3 Project Structure for Reference Design #2 This reference design application is partitioned into two projects, one for each core, with each project running a set of FreeRTOS tasks. The M7 core project (MASTER) runs FreeRTOS with memory scheme 3 and runs 3 tasks. ...
12.3.1 M7 (MASTER) Wi-Fi Webserver project This contains several folders, but only the following are of interest for purpose of this document. src/ web source files (.css .js .html) source/ application source files board/ board.c/h board specific definitions clock_config.c/h ...
12.4 Installing the Click Boards The LightRanger Click sensor board must installed in slot #1 on the click shield, and the IMU Click sensor board must be installed in slot #2. It is not possible to interchange the board locations due to physical pin routing.
The log shown below is a sample output of the maaxboard_webserver_MASTER demo as displayed in the terminal window: Starting MaaXBoard Webserver DEMO [i] Trying to load data from mflash. [i] Saved SSID: ssid, Password: password [i] Initializing WiFi connection...d MAC Address: XX:XX:XX:XX:XX:XX [net] Initialized TCP/IP networking stack WLAN initialized WLAN FW Version: w8987o-V0, RF878X, FP91, 16.91.10.p200, WPA2_CVE_FIX 1,...
12.7 User Customization 12.7.1 Frontend (Webserver UI) All front-end web resources can be found in src/wifi_common/webconfig/webui The LWIP stack provides a PERL script mkfs.pl which is used to convert entire web frontend sources into a single .c file. The generated .c file can then be added to a project and compiled. The mkfs.pl script is located here, src/wifi_common/webconfig/webui/mkfs.pl The mkfs.pl script requires only the folder location of the web resources as a parameter.
It is the user’s responsibility to be absolutely certain of their requirements before OTP programming and to not program the fuses by accident. Note that Avnet accepts no liability and will not replace boards that have been: ...
15.2 Avnet-hosted Technical Support Resources Avnet documents & reference designs will be available for download from MaaXBoard RT product page: http://avnet.me/MaaXBoard RT Avnet instructional tutorial blogs will also be linked to from: http://avnet.me/MaaXBoard RT...
MaaXBoard RT is engineered for use as a development board (to facilitate product evaluation and system- level prototyping) as well as for use as a sub-assembly in custom OEM end-products. Avnet assumes no liability for modifications that a user chooses to make to MaaXBoard RT. 18 Safety Warnings...
Page 64
FCC Warning This device complies with part 15 of the FCC rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any inte rference received, including interference that may cause undesired operation. Changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate the equipment.
Page 65
ISED Statement English: This device complies with Industry Canada license‐exempt RSS standard(s). Operation is subject to the following two conditions: (1) This device may not cause interference, and (2) This d evice must accept any interference, including interference that may cause undesired operation of the device. The digital apparatus complies with Canadian CAN ICES‐3 (B)/NMB‐3(B).
Need help?
Do you have a question about the NXP RT1176 and is the answer not in the manual?
Questions and answers