/*******************************************************************************
*
* E M B E D D E D   W I Z A R D   P R O J E C T
*
*                                                Copyright (c) TARA Systems GmbH
*                                    written by Paul Banach and Manfred Schweyer
*
********************************************************************************
*
* This software is delivered "as is" and shows the usage of other software
* components. It is provided as an example software which is intended to be
* modified and extended according to particular requirements.
*
* TARA Systems hereby disclaims all warranties and conditions with regard to the
* software, including all implied warranties and conditions of merchantability
* and non-infringement of any third party IPR or other rights which may result
* from the use or the inability to use the software.
*
********************************************************************************
*
* DESCRIPTION:
*
*   MCUXpresso
*
*   This directory contains the necessary projectfiles and settings to compile
*   and link an Embedded Wizard generated application for a dedicated NXP i.MX RT
*   target using NXP MCUXpresso.
*
*   This package is prepared and tested for the NXP IMXRT1064-EVK board.
*
*******************************************************************************/

Getting started with IMXRT1064-EVK development board:
-----------------------------------------------------
  In order to get your first Embedded Wizard generated UI application up and
  running on your IMXRT1064-EVK target, we have prepared a detailed article,
  which covers all necessary steps.
  We highly recommend to study the following document:

  https://doc.embedded-wizard.de/getting-started-mimxrt1064-evk


How to build a UI demo application using NXP MCUXpresso:
--------------------------------------------------------

- The Embedded Wizard template project is commonly used for all provided
  Embedded Wizard examples. All Embedded Wizard examples will store the
  generated code within the common \Application\GeneratedCode folder.

- The following steps are needed to establish this automatic project import:
  * Open the desired Embedded Wizard example project.
  * Select the profile and set the attribute PostProcess to the following file:
    ..\..\Application\Project\MCUXpresso\IMXRT1064-EVK\MCUXpresso_ew_post_process.cmd

- After the Embedded Wizard code generation the installed post process will
  adapt the .cproject xml file. All necessary libraries and include paths
  (depending on the color format and screen rotation) will be set automatically.

- Import of the project to NXP MCUXpresso
  * The given NXP MCUXpresso Example under \Application\Project\MCUXpresso contains a
    workspace which has all adaptions for an Embedded Wizard project. For
    using this this NXP MCUXpresso do following steps:
    1. Open NXP MCUXpresso and select the directory \Application\Project\MCUXpresso
       as workspace directory.
    2. To import the C project, select the menu item 'File' - 'Import' and choose
       'General' - 'Existing Projects into Workspace' and press 'Next'
    3. Choose 'Select root directory' - 'Browse' and select the directory
       \Application\Project\MCUXpresso\IMXRT1064-EVK
    4. Press 'Finish'
    5. To compile the project select 'Project' - 'Build Project'
    6. Choose the 'GUI Flash Tool' for running the application on the target or
       use the build in debug function (violet bug button) for debugging the
       application on your target.

- Usage of FreeRTOS:
  The project is predefined for using FreeRTOS. For running the application
  without FreeRTOS, you have to disable the FreeRTOS symbol (EW_USE_FREE_RTOS=0)
  and exclude the FreeRTOS middleware folders. Therefore please select the FreeRTOS
  folder under 'ThirdParty->MCUXpressoSDK->rtos' and do a right click on it.
  The context menu under 'Resource Configuration->Exclude from Build' will give
  you the option to simply hide or unhide the FreeRTOS folders.

- If the color format or the screen orientation was changed, please do a
  clean and refresh in NXP MCUXpresso and build the project again.

- Please note that the post process has dependencies to the name of the build
  configuration. In case you change these, you also have to change the post process
  respectively the powershell script.

Know Issues:
------------

- The maximum path length of the longest include path is limited for eclipse based
  projects. Due to the complexity of the FreeRTOS folder structure, this can cause the
  error that some files cannot be found even when they are definitely at the right
  place. To avoid this problem please make sure that you unpacked the Build Environment
  at a location close to the root directory (e.g. C:\NXP\).


/*******************************************************************************
* Important note:
* This Build Environment is intended to be used as template for Embedded Wizard
* GUI applications on the development board or your customer specific hardware.
* Please take care to adjust all timings and hardware configurations (e.g. system
* clock configurations, memory timings, MPU and cache settings) according to your
* needs and hardware capabilities in order to ensure a stable system.
* Please also take the hardware manufacturer's corresponding specifications,
* application notes and erratas into account.
*******************************************************************************/
