1. Example Description
        This is an FlexCAN IP driver component LoopBack example.
        
    1.1 The application software functionality
        - Clock_Ip_Init to initialize the clock sources, the clock tree and to configures the clock gating of the peripherals. The clock configuration that is used will enable and use the PLL as source clock.
        - IntCtrl_Ip_Init to configure the interrupt of FlexCAN0 controller.
        - FlexCAN_Ip_Init to initialize FlexCAN driver. FlexCAN_Ip_SetRxMaskType, FlexCAN_Ip_SetRxIndividualMask and FlexCAN_Ip_ConfigRxMb will configure FlexCAN0 controller be able to receive messages.
        - This example will transmit using polling and receive using interrupt method with multiple frame in loopback mode.
            
2. Installation steps
    2.1 Hardware installation
        2.1.1 Supported boards
            - EVB: S32K3X4EVB-Q257 47827 PCB RevX1 SCH RevA
                   S32K3X4EVB-T172 PCB 53148 RevX5 SCH RevB
        2.1.2 Connections
            No special wiring connections are needed for this example.
        2.1.3 Debugger
            - For S32K3X4EVB-Q257 47827 PCB RevX1 SCH RevA:
                - The debugger must be connected to J365 20-pin JTAG Cortex Debug connector.
            - For S32K3X4EVB-T172 PCB 53148 RevX5 SCH RevB:
                - The debugger must be connected to J12 20-pin Cortex Debug D ETM connector.
    2.2 Software installation
        2.2.1 Importing the S32 Design Studio project
            After opening S32 Design Studio, go to "File -> New -> S32DS Project From Example" and select this example. Then click on "Finish".
            The project should now be copied into you current workspace.
         
3. Generating, building and running the example application
    3.1 Generating the S32 configuration
        Before running the example a configuration needs to be generated.  First go to Project Explorer View in S32 DS and select the current project. Select the "S32 Configuration Tool" menu then click on the desired configuration tool (Pins, Cocks, Peripherals etc...). Clicking on any one of those will generate all the components. Make the desired changes(if any) then click on the "S32 Configuration Tool->Update Code" button.
    3.2 Compiling the application
        Select the configuration to be built: RAM (Debug_RAM) or FLASH (Debug_FLASH) by left clicking on the downward arrow corresponding to the build button in eclipse. 
        Use Project > Build to build the project.
        Wait for the build action to be completed before continuing to the next step. Check the compiler console for error messages; upon completion, the *.elf binary file
        should be created.
    3.2 Running the application on the board
        Go to Run and select Debug Configurations. There will be a debug configuration for this project:
        
        Configuration Name                                  Description
        -------------------------------                     -----------------------
        FlexCAN_Ip_Example_S32K344_Debug_FLASH_S32Debug     Debug the FLASH configuration using S32 Debugger
        
        Select the desired debug configuration and click on Launch. Now the perspective will change to the Debug Perspective.
        Use the controls to control the program flow.