///////////////////////////////////////////////////////////////////////////////
//                                                                            /
// IAR ANSI C/C++ Compiler V6.30.1.53127/W32 for ARM    08/Mar/2012  18:18:23 /
// Copyright 1999-2011 IAR Systems AB.                                        /
//                                                                            /
//    Cpu mode     =  thumb                                                   /
//    Endian       =  little                                                  /
//    Source file  =  D:\Profiles\b01252\My Documents\Freescale\P0\software\s /
//                    ample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_ /
//                    sc\src\drivers\llwu\llwu.c                              /
//    Command line =  "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\src\drivers\llwu\llwu.c" -D IAR -D TOWER -D         /
//                    TWR_K20D50M -lCN "D:\Profiles\b01252\My                 /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\FLASH_128KB_PFLASH\List\" -lB         /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\FLASH_128KB_PFLASH\List\" /
//                     -o "D:\Profiles\b01252\My                              /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\FLASH_128KB_PFLASH\Obj\" --no_cse     /
//                    --no_unroll --no_inline --no_code_motion --no_tbaa      /
//                    --no_clustering --no_scheduling --debug                 /
//                    --endian=little --cpu=Cortex-M4 -e --fpu=None           /
//                    --dlib_config "C:\Program Files\IAR Systems\Embedded    /
//                    Workbench 6.0_5\arm\INC\c\DLib_Config_Normal.h" -I      /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\common\" -I  /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\cpu\" -I     /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\cpu\headers\ /
//                    " -I "D:\Profiles\b01252\My                             /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\drivers\uart\" -I        /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\drivers\mcg\ /
//                    " -I "D:\Profiles\b01252\My                             /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\drivers\wdog\" -I        /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\drivers\rcm\ /
//                    " -I "D:\Profiles\b01252\My                             /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\drivers\lptmr\" -I       /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\platforms\"  /
//                    -I "D:\Profiles\b01252\My Documents\Freescale\P0\softwa /
//                    re\sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50 /
//                    MHz_sc\build\iar\TWRK20D50M_Demo\..\" -I                /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\projects\TWR /
//                    K20D50M_Demo\" -I "D:\Profiles\b01252\My                /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \dma\" -I "D:\Profiles\b01252\My                        /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \adc16\" -I "D:\Profiles\b01252\My                      /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \i2c\" -I "D:\Profiles\b01252\My                        /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \tsi\" -I "D:\Profiles\b01252\My                        /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \adc_test\" -I "D:\Profiles\b01252\My                   /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \angle_calculation\" -I "D:\Profiles\b01252\My          /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \buzzer\" -I "D:\Profiles\b01252\My                     /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \fft_test\" -I "D:\Profiles\b01252\My                   /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \irda_test\" -I "D:\Profiles\b01252\My                  /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \cmt_test\" -I "D:\Profiles\b01252\My                   /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \protocol\" -I "D:\Profiles\b01252\My                   /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \task_mgr\" -I "D:\Profiles\b01252\My                   /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \TWRK20_specific\" -I "D:\Profiles\b01252\My            /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\projects\TWRK20D50M_Demo /
//                    \rtc\" -I "D:\Profiles\b01252\My                        /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\CMSIS\DSP_Lib\Lib\interm /
//                    ediateFiles\" -I "D:\Profiles\b01252\My                 /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\CMSIS\DSP_Lib\Include\"  /
//                    -I "D:\Profiles\b01252\My Documents\Freescale\P0\softwa /
//                    re\sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50 /
//                    MHz_sc\build\iar\TWRK20D50M_Demo\..\..\..\src\CMSIS\CM4 /
//                    \DeviceSupport\ARM\ARMCM4\" -I "D:\Profiles\b01252\My   /
//                    Documents\Freescale\P0\software\sample code             /
//                    cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\build\ia /
//                    r\TWRK20D50M_Demo\..\..\..\src\CMSIS\CM4\CoreSupport\"  /
//                    -I "D:\Profiles\b01252\My Documents\Freescale\P0\softwa /
//                    re\sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50 /
//                    MHz_sc\build\iar\TWRK20D50M_Demo\..\..\..\src\CMSIS\CM4 /
//                    \CoreSupportLiker Options-Library\" -I                  /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\src\CMSIS\DSP_Li /
//                    b\Lib\intermediateFiles\arm_cortexM4_math.lib\" -I      /
//                    "D:\Profiles\b01252\My Documents\Freescale\P0\software\ /
//                    sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz /
//                    _sc\build\iar\TWRK20D50M_Demo\..\..\..\build\" -Ol      /
//                    --use_c++_inline -I "C:\Program Files\IAR               /
//                    Systems\Embedded Workbench 6.0_5\arm\CMSIS\Include\"    /
//                    -D ARM_MATH_CM4                                         /
//    List file    =  D:\Profiles\b01252\My Documents\Freescale\P0\software\s /
//                    ample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_ /
//                    sc\build\iar\TWRK20D50M_Demo\FLASH_128KB_PFLASH\List\ll /
//                    wu.s                                                    /
//                                                                            /
//                                                                            /
///////////////////////////////////////////////////////////////////////////////

        NAME llwu

        #define SHT_PROGBITS 0x1

        EXTERN printf
        EXTERN putchar
        EXTERN uart_getchar

        PUBLIC llwu_configure
        PUBLIC llwu_configure_filter
        PUBLIC llwu_isr
        PUBLIC llwu_reset_enable

// D:\Profiles\b01252\My Documents\Freescale\P0\software\sample code cesar\TWR-K20D50M_LABS_AND_CE\kinetis_50MHz_sc\src\drivers\llwu\llwu.c
//    1 /*!
//    2  * \file    llwu.c
//    3  * \brief   common LLWU routines
//    4  *
//    5  * This file defines the functions/interrupt handlers/macros used for LLWU to be used as wakeup source.
//    6  * And some common initializations.
//    7  *
//    8  * \version $Revision: 1.0 $
//    9  * \author  Philip Drake(rxaa60)
//   10  ***/
//   11 
//   12 #include "common.h"
//   13 #include "llwu.h"
//   14 #include "mcg.h"
//   15 #include "uart.h"
//   16 #include "rcm.h"
//   17 
//   18 extern int re_init_clk;
//   19 extern int mcg_clk_hz;
//   20 extern int mcg_clk_khz;
//   21 extern int core_clk_khz;
//   22 
//   23 
//   24 /*******************************************************************************
//   25 *
//   26 *   PROCEDURE NAME:
//   27 *       llwu_reset_enable -
//   28 *
//   29 *******************************************************************************/

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//   30 void llwu_reset_enable(void)
//   31 {
llwu_reset_enable:
        PUSH     {R7,LR}
//   32     printf(" LLWU Reset pin enabled as wakeup source from Low power modes \n");
        LDR.W    R0,??DataTable3
        BL       printf
//   33     LLWU_RST = LLWU_RST_LLRSTE_MASK;   //no reset filter for now
        LDR.W    R0,??DataTable3_1  ;; 0x4007c00a
        MOVS     R1,#+2
        STRB     R1,[R0, #+0]
//   34 }
        POP      {R0,PC}          ;; return
//   35 
//   36 
//   37 /*******************************************************************************
//   38 *
//   39 *   PROCEDURE NAME:
//   40 *       llwu_configure -
//   41 *
//   42 *******************************************************************************/
//   43 /* function: llwu_configure
//   44 
//   45    description: Set up the LLWU for wakeup the MCU from LLS and VLLSx modes
//   46    from the selected pin or module.
//   47 
//   48    inputs:
//   49    pin_en - unsigned integer, bit position indicates the pin is enabled.
//   50             More than one bit can be set to enable more than one pin at a time.
//   51 
//   52    rise_fall - 0x00 = External input disabled as wakeup
//   53                0x01 - External input enabled as rising edge detection
//   54                0x02 - External input enabled as falling edge detection
//   55                0x03 - External input enablge as any edge detection
//   56    module_en - unsigned char, bit position indicates the module is enabled.
//   57                More than one bit can be set to enabled more than one module
//   58 
//   59    for example:  if bit 0 and 1 need to be enabled as rising edge detect call this  routine with
//   60    pin_en = 0x0003 and rise_fall = 0x02
//   61 
//   62    Note: to set up one set of pins for rising and another for falling, 2 calls to this
//   63          function are required, 1st for rising then the second for falling.
//   64 
//   65 */

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//   66 void llwu_configure(unsigned int pin_en, unsigned char rise_fall, unsigned char module_en )
//   67 {
llwu_configure:
        PUSH     {R3-R7,LR}
        MOVS     R4,R0
        MOVS     R5,R1
        MOVS     R6,R2
//   68     uint8 temp;
//   69 
//   70     temp = LLWU_PE1;
        LDR.W    R0,??DataTable3_2  ;; 0x4007c000
        LDRB     R7,[R0, #+0]
//   71     if( pin_en & 0x0001)
        MOVS     R0,R4
        LSLS     R0,R0,#+31
        BPL.N    ??llwu_configure_0
//   72     {
//   73         temp |= LLWU_PE1_WUPE0(rise_fall);
        ANDS     R0,R5,#0x3
        ORRS     R7,R0,R7
//   74         printf(" LLWU configured pins PTE1/UART1_RX/I2C1_SCL /SPI1_SIN to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_3
        BL       printf
//   75         LLWU_F1 |= LLWU_F1_WUF0_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x1
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//   76     }
//   77     if( pin_en & 0x0002)
??llwu_configure_0:
        MOVS     R0,R4
        LSLS     R0,R0,#+30
        BPL.N    ??llwu_configure_1
//   78     {
//   79         temp |= LLWU_PE1_WUPE1(rise_fall);
        LSLS     R0,R5,#+2
        ANDS     R0,R0,#0xC
        ORRS     R7,R0,R7
//   80         printf(" LLWU configured pins PTE2/SPI1_SCK/SDHC0_DCLK to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_5
        BL       printf
//   81         LLWU_F1 |= LLWU_F1_WUF1_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x2
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//   82     }
//   83     if( pin_en & 0x0004)
??llwu_configure_1:
        MOVS     R0,R4
        LSLS     R0,R0,#+29
        BPL.N    ??llwu_configure_2
//   84     {
//   85         temp |= LLWU_PE1_WUPE2(rise_fall);
        LSLS     R0,R5,#+4
        ANDS     R0,R0,#0x30
        ORRS     R7,R0,R7
//   86         printf(" LLWU configured pins PTE4/SPI1_PCS0/SDHC0_D3 to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_6
        BL       printf
//   87         LLWU_F1 |= LLWU_F1_WUF2_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x4
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//   88     }
//   89     if( pin_en & 0x0008)
??llwu_configure_2:
        MOVS     R0,R4
        LSLS     R0,R0,#+28
        BPL.N    ??llwu_configure_3
//   90     {
//   91         temp |= LLWU_PE1_WUPE3(rise_fall);
        ORRS     R7,R7,R5, LSL #+6
//   92         printf(" LLWU configured pins PTA4/FTM0_CH1/NMI/EZP_CS to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_7
        BL       printf
//   93         LLWU_F1 |= LLWU_F1_WUF3_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x8
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//   94     }
//   95     LLWU_PE1 = temp;
??llwu_configure_3:
        LDR.W    R0,??DataTable3_2  ;; 0x4007c000
        STRB     R7,[R0, #+0]
//   96 
//   97     temp = LLWU_PE2;
        LDR.W    R0,??DataTable3_8  ;; 0x4007c001
        LDRB     R7,[R0, #+0]
//   98     if( pin_en & 0x0010)
        MOVS     R0,R4
        LSLS     R0,R0,#+27
        BPL.N    ??llwu_configure_4
//   99     {
//  100         temp |= LLWU_PE2_WUPE4(rise_fall);
        ANDS     R0,R5,#0x3
        ORRS     R7,R0,R7
//  101         printf(" LLWU configured pins PTA13/FTM1_CH1 /FTM1_QD_PHB to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_9
        BL       printf
//  102         LLWU_F1 |= LLWU_F1_WUF4_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x10
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  103     }
//  104     if( pin_en & 0x0020)
??llwu_configure_4:
        MOVS     R0,R4
        LSLS     R0,R0,#+26
        BPL.N    ??llwu_configure_5
//  105     {
//  106         temp |= LLWU_PE2_WUPE5(rise_fall);
        LSLS     R0,R5,#+2
        ANDS     R0,R0,#0xC
        ORRS     R7,R0,R7
//  107         printf(" LLWU configured pins PTB0/I2C0_SCL/FTM1_CH0/FTM1_QD_PHA to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_10
        BL       printf
//  108         LLWU_F1 |= LLWU_F1_WUF5_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x20
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  109     }
//  110     if( pin_en & 0x0040)
??llwu_configure_5:
        MOVS     R0,R4
        LSLS     R0,R0,#+25
        BPL.N    ??llwu_configure_6
//  111     {
//  112         temp |= LLWU_PE2_WUPE6(rise_fall);
        LSLS     R0,R5,#+4
        ANDS     R0,R0,#0x30
        ORRS     R7,R0,R7
//  113         printf(" LLWU configured pins PTC1/UART1_RTS/FTM0_CH0 to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_11
        BL       printf
//  114         LLWU_F1 |= LLWU_F1_WUF6_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x40
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  115     }
//  116     if( pin_en & 0x0080)
??llwu_configure_6:
        MOVS     R0,R4
        LSLS     R0,R0,#+24
        BPL.N    ??llwu_configure_7
//  117     {
//  118         temp |= LLWU_PE2_WUPE7(rise_fall);
        ORRS     R7,R7,R5, LSL #+6
//  119         printf(" LLWU configured pins PTC3/UART1_RX/FTM0_CH2 to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_12
        BL       printf
//  120         LLWU_F1 |= LLWU_F1_WUF7_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x80
        LDR.W    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  121     }
//  122     LLWU_PE2 = temp;
??llwu_configure_7:
        LDR.W    R0,??DataTable3_8  ;; 0x4007c001
        STRB     R7,[R0, #+0]
//  123 
//  124     temp = LLWU_PE3;
        LDR.W    R0,??DataTable3_13  ;; 0x4007c002
        LDRB     R7,[R0, #+0]
//  125     if( pin_en & 0x0100)
        LSLS     R0,R4,#+23
        BPL.N    ??llwu_configure_8
//  126     {
//  127         temp |= LLWU_PE3_WUPE8(rise_fall);
        ANDS     R0,R5,#0x3
        ORRS     R7,R0,R7
//  128         printf(" LLWU configured pins PTC4/SPI0_PCS0/FTM0_CH3 to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_14
        BL       printf
//  129         LLWU_F2 |= LLWU_F2_WUF8_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x1
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  130     }
//  131     if( pin_en & 0x0200)
??llwu_configure_8:
        LSLS     R0,R4,#+22
        BPL.N    ??llwu_configure_9
//  132     {
//  133         temp |= LLWU_PE3_WUPE9(rise_fall);
        LSLS     R0,R5,#+2
        ANDS     R0,R0,#0xC
        ORRS     R7,R0,R7
//  134         printf(" LLWU configured pins PTC5/SPI0_SCK/I2S0_RXD0 to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_16
        BL       printf
//  135         LLWU_F2 |= LLWU_F2_WUF9_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x2
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  136     }
//  137     if( pin_en & 0x0400)
??llwu_configure_9:
        LSLS     R0,R4,#+21
        BPL.N    ??llwu_configure_10
//  138     {
//  139         temp |= LLWU_PE3_WUPE10(rise_fall);
        LSLS     R0,R5,#+4
        ANDS     R0,R0,#0x30
        ORRS     R7,R0,R7
//  140         printf(" LLWU configured pins PTC6/PDB0_EXTRG to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_17
        BL       printf
//  141         LLWU_F2 |= LLWU_F2_WUF10_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x4
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  142     }
//  143     if( pin_en & 0x0800)
??llwu_configure_10:
        LSLS     R0,R4,#+20
        BPL.N    ??llwu_configure_11
//  144     {
//  145         temp |= LLWU_PE3_WUPE11(rise_fall);
        ORRS     R7,R7,R5, LSL #+6
//  146         printf(" LLWU configured pins PTC11/I2S0_RXD1 to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_18
        BL       printf
//  147         LLWU_F2 |= LLWU_F2_WUF11_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x8
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  148     }
//  149     LLWU_PE3 = temp;
??llwu_configure_11:
        LDR.W    R0,??DataTable3_13  ;; 0x4007c002
        STRB     R7,[R0, #+0]
//  150 
//  151     temp = LLWU_PE4;
        LDR.W    R0,??DataTable3_19  ;; 0x4007c003
        LDRB     R7,[R0, #+0]
//  152     if( pin_en & 0x1000)
        LSLS     R0,R4,#+19
        BPL.N    ??llwu_configure_12
//  153     {
//  154         temp |= LLWU_PE4_WUPE12(rise_fall);
        ANDS     R0,R5,#0x3
        ORRS     R7,R0,R7
//  155         printf(" LLWU configured pins PTD0/SPI0_PCS0/UART2_RTS to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_20
        BL       printf
//  156         LLWU_F2 |= LLWU_F2_WUF12_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x10
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  157     }
//  158     if( pin_en & 0x2000)
??llwu_configure_12:
        LSLS     R0,R4,#+18
        BPL.N    ??llwu_configure_13
//  159     {
//  160         temp |= LLWU_PE4_WUPE13(rise_fall);
        LSLS     R0,R5,#+2
        ANDS     R0,R0,#0xC
        ORRS     R7,R0,R7
//  161         printf(" LLWU configured pins PTD2/UART2_RX to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_21
        BL       printf
//  162         LLWU_F2 |= LLWU_F2_WUF13_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x20
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  163     }
//  164     if( pin_en & 0x4000)
??llwu_configure_13:
        LSLS     R0,R4,#+17
        BPL.N    ??llwu_configure_14
//  165     {
//  166         temp |= LLWU_PE4_WUPE14(rise_fall);
        LSLS     R0,R5,#+4
        ANDS     R0,R0,#0x30
        ORRS     R7,R0,R7
//  167         printf(" LLWU configured pins PTD4/UART0_RTS/FTM0_CH4/EWM_IN to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_22
        BL       printf
//  168         LLWU_F2 |= LLWU_F2_WUF14_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x40
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  169     }
//  170     if( pin_en & 0x8000)
??llwu_configure_14:
        LSLS     R0,R4,#+16
        BPL.N    ??llwu_configure_15
//  171     {
//  172         temp |= LLWU_PE4_WUPE15(rise_fall);
        ORRS     R7,R7,R5, LSL #+6
//  173         printf(" LLWU configured pins PTD6/UART0_RX/FTM0_CH6/FTM0_FLT0 to be an LLWU wakeup source \n");
        LDR.W    R0,??DataTable3_23
        BL       printf
//  174         LLWU_F2 |= LLWU_F2_WUF15_MASK;   // write one to clear the flag
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x80
        LDR.W    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  175     }
//  176     LLWU_PE4 = temp;
??llwu_configure_15:
        LDR.W    R0,??DataTable3_19  ;; 0x4007c003
        STRB     R7,[R0, #+0]
//  177 
//  178     LLWU_ME = module_en;  //Set up modules to wakeup up
        LDR.W    R0,??DataTable3_24  ;; 0x4007c004
        STRB     R6,[R0, #+0]
//  179 
//  180     printf("LLWU PE1   = 0x%02X,    ",   (LLWU_PE1)) ;
        LDR.W    R0,??DataTable3_2  ;; 0x4007c000
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_25
        BL       printf
//  181     printf("LLWU PE2   = 0x%02X\n",      (LLWU_PE2)) ;
        LDR.W    R0,??DataTable3_8  ;; 0x4007c001
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_26
        BL       printf
//  182     printf("LLWU PE3   = 0x%02X,    ",   (LLWU_PE3)) ;
        LDR.W    R0,??DataTable3_13  ;; 0x4007c002
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_27
        BL       printf
//  183     printf("LLWU PE4   = 0x%02X\n",      (LLWU_PE4)) ;
        LDR.W    R0,??DataTable3_19  ;; 0x4007c003
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_28
        BL       printf
//  184     printf("LLWU ME    = 0x%02X,    ",    (LLWU_ME)) ;
        LDR.W    R0,??DataTable3_24  ;; 0x4007c004
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_29
        BL       printf
//  185     printf("LLWU F1    = 0x%02X\n",       (LLWU_F1)) ;
        LDR.W    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_30
        BL       printf
//  186     printf("LLWU F2    = 0x%02X,    ",    (LLWU_F2)) ;
        LDR.W    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_31
        BL       printf
//  187     printf("LLWU F3    = 0x%02X\n",       (LLWU_F3)) ;
        LDR.W    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_33
        BL       printf
//  188     printf("LLWU FILT1 = 0x%02X,    ", (LLWU_FILT1)) ;
        LDR.W    R0,??DataTable3_34  ;; 0x4007c008
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_35
        BL       printf
//  189     printf("LLWU FILT2 = 0x%02X\n",    (LLWU_FILT2)) ;
        LDR.W    R0,??DataTable3_36  ;; 0x4007c009
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_37
        BL       printf
//  190     printf("LLWU RST   = 0x%02X\n",      (LLWU_RST)) ;
        LDR.N    R0,??DataTable3_1  ;; 0x4007c00a
        LDRB     R1,[R0, #+0]
        UXTB     R1,R1            ;; ZeroExt  R1,R1,#+24,#+24
        LDR.W    R0,??DataTable3_38
        BL       printf
//  191       //function ends
//  192 }
        POP      {R0,R4-R7,PC}    ;; return
//  193 
//  194 
//  195 /*******************************************************************************
//  196 *
//  197 *   PROCEDURE NAME:
//  198 *       llwu_configure_filter -
//  199 *
//  200 *******************************************************************************/

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//  201 void llwu_configure_filter(unsigned int wu_pin_num, unsigned char filter_en, unsigned char rise_fall )
//  202 {
llwu_configure_filter:
        PUSH     {R4-R6,LR}
        MOVS     R5,R0
        MOVS     R6,R1
        MOVS     R4,R2
//  203    //wu_pin_num is the pin number to be written to FILTSEL.  wu_pin_num is not the same as pin_en.
//  204     uint8 temp;
//  205 
//  206     printf("\nEnabling Filter %x on WU Pin %x for WU sense %x \n",filter_en, wu_pin_num, rise_fall);
        UXTB     R4,R4            ;; ZeroExt  R4,R4,#+24,#+24
        MOVS     R3,R4
        MOVS     R2,R5
        UXTB     R6,R6            ;; ZeroExt  R6,R6,#+24,#+24
        MOVS     R1,R6
        LDR.W    R0,??DataTable3_39
        BL       printf
//  207 
//  208      temp = 0;
        MOVS     R0,#+0
//  209      //first clear filter values and clear flag by writing a 1
//  210      LLWU_FILT1 = LLWU_FILT1_FILTF_MASK;
        LDR.W    R1,??DataTable3_34  ;; 0x4007c008
        MOVS     R2,#+128
        STRB     R2,[R1, #+0]
//  211      LLWU_FILT2 = LLWU_FILT2_FILTF_MASK;
        LDR.W    R1,??DataTable3_36  ;; 0x4007c009
        MOVS     R2,#+128
        STRB     R2,[R1, #+0]
//  212 
//  213      if(filter_en == 1)
        UXTB     R6,R6            ;; ZeroExt  R6,R6,#+24,#+24
        CMP      R6,#+1
        BNE.N    ??llwu_configure_filter_0
//  214      {
//  215          //clear the flag bit and set the others
//  216          temp |= (LLWU_FILT1_FILTF_MASK) | (LLWU_FILT1_FILTE(rise_fall) | LLWU_FILT1_FILTSEL(wu_pin_num));
        ANDS     R1,R5,#0xF
        ORRS     R1,R1,R4, LSL #+5
        ORRS     R1,R1,#0x80
        ORRS     R0,R1,R0
//  217          LLWU_FILT1 = temp;
        LDR.W    R1,??DataTable3_34  ;; 0x4007c008
        STRB     R0,[R1, #+0]
        B.N      ??llwu_configure_filter_1
//  218 
//  219      }else if (filter_en == 2)
??llwu_configure_filter_0:
        UXTB     R6,R6            ;; ZeroExt  R6,R6,#+24,#+24
        CMP      R6,#+2
        BNE.N    ??llwu_configure_filter_2
//  220      {
//  221          //clear the flag bit and set the others
//  222          temp |= (LLWU_FILT2_FILTF_MASK) | (LLWU_FILT2_FILTE(rise_fall) | LLWU_FILT2_FILTSEL(wu_pin_num));
        ANDS     R1,R5,#0xF
        ORRS     R1,R1,R4, LSL #+5
        ORRS     R1,R1,#0x80
        ORRS     R0,R1,R0
//  223          LLWU_FILT2 = temp;
        LDR.N    R1,??DataTable3_36  ;; 0x4007c009
        STRB     R0,[R1, #+0]
        B.N      ??llwu_configure_filter_1
//  224      }else
//  225      {
//  226          printf("\nError - invalid filter number %x\n",filter_en);
??llwu_configure_filter_2:
        UXTB     R6,R6            ;; ZeroExt  R6,R6,#+24,#+24
        MOVS     R1,R6
        LDR.N    R0,??DataTable3_40
        BL       printf
//  227      }
//  228 }
??llwu_configure_filter_1:
        POP      {R4-R6,PC}       ;; return
//  229 
//  230 
//  231 /*******************************************************************************
//  232 *
//  233 *   PROCEDURE NAME:
//  234 *       llwu_isr - Interrupt handler for LLWU
//  235 *
//  236 *******************************************************************************/

        SECTION `.text`:CODE:NOROOT(1)
        THUMB
//  237 void llwu_isr(void)
//  238 {
llwu_isr:
        PUSH     {R7,LR}
//  239   char  ch;
//  240 
//  241 //  GPIOE_PSOR = 0x04000000;             // set Port E 26 indicate wakeup - set it in llwu_isr
//  242 //  GPIOE_PCOR = 0x04000000;             // clear Port E 26 indicating sleep
//  243 //  GPIOE_PSOR = 0x04000000;             // set Port E 26 indicate wakeup - set it in llwu_isr
//  244 //  GPIOE_PCOR = 0x04000000;             // clear Port E 26 indicating  wakeup from sleep
//  245 //   GPIOB_PSOR = 0x00080000;             // set Port B19
//  246 //   GPIOB_PCOR = 0x00080000;             // clear Port B19
//  247 //   GPIOB_PSOR = 0x00080000;             // set Port B19
//  248 //   GPIOB_PCOR = 0x00080000;             // clear Port B19
//  249 
//  250 //  outsrs();
//  251 //   printf("[LLWU ISR]\n");
//  252    if (LLWU_F1 & LLWU_F1_WUF0_MASK) {
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+31
        BPL.N    ??llwu_isr_0
//  253        LLWU_F1 |= LLWU_F1_WUF0_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x1
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  254 //       printf("\n[LLWU ISR]  ****WUF0 was set *****\r\n");
//  255    }
//  256    if (LLWU_F1 & LLWU_F1_WUF1_MASK) {
??llwu_isr_0:
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+30
        BPL.N    ??llwu_isr_1
//  257 //       printf("\n [LLWU ISR] ****WUF1 was set *****\r\n");
//  258        LLWU_F1 |= LLWU_F1_WUF2_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x4
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  259    }
//  260    if (LLWU_F1 & LLWU_F1_WUF2_MASK) {
??llwu_isr_1:
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+29
        BPL.N    ??llwu_isr_2
//  261 //       printf("\n [LLWU ISR] ****WUF2 was set *****\r\n");
//  262        LLWU_F1 |= LLWU_F1_WUF2_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x4
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  263    }
//  264    if (LLWU_F1 & LLWU_F1_WUF3_MASK){
??llwu_isr_2:
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+28
        BPL.N    ??llwu_isr_3
//  265 //       printf("\n [LLWU ISR] ****WUF3 was set *****\r\n");
//  266        LLWU_F1 |= LLWU_F1_WUF3_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x8
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  267     }
//  268    if (LLWU_F1 & LLWU_F1_WUF4_MASK) {
??llwu_isr_3:
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+27
        BPL.N    ??llwu_isr_4
//  269  //      printf("\n [LLWU ISR] ****WUF4 was set *****\r\n");
//  270        LLWU_F1 |= LLWU_F1_WUF4_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x10
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  271    }
//  272    if (LLWU_F1 & LLWU_F1_WUF5_MASK) {
??llwu_isr_4:
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+26
        BPL.N    ??llwu_isr_5
//  273 //       printf("\n [LLWU ISR] ****WUF5 was set *****\r\n");
//  274        LLWU_F1 |= LLWU_F1_WUF5_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x20
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  275    }
//  276    if (LLWU_F1 & LLWU_F1_WUF6_MASK) {
??llwu_isr_5:
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+25
        BPL.N    ??llwu_isr_6
//  277 //       printf("\n [LLWU ISR] ****WUF6 was set *****\r\n");
//  278        LLWU_F1 |= LLWU_F1_WUF6_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x40
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  279     }
//  280    if (LLWU_F1 & LLWU_F1_WUF7_MASK) {
??llwu_isr_6:
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+24
        BPL.N    ??llwu_isr_7
//  281 //       printf("\n [LLWU ISR] ****WUF7 was set from PTC3 input  *****\r\n");
//  282        LLWU_F1 |= LLWU_F1_WUF7_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_4  ;; 0x4007c005
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x80
        LDR.N    R1,??DataTable3_4  ;; 0x4007c005
        STRB     R0,[R1, #+0]
//  283    }
//  284    if (LLWU_F2 & LLWU_F2_WUF8_MASK) {
??llwu_isr_7:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+31
        BPL.N    ??llwu_isr_8
//  285  //      printf("\n [LLWU ISR] ****WUF8 was set *****\r\n");
//  286        LLWU_F2 |= LLWU_F2_WUF8_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x1
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  287    }
//  288    if (LLWU_F2 & LLWU_F2_WUF9_MASK) {
??llwu_isr_8:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+30
        BPL.N    ??llwu_isr_9
//  289 //       printf("\n [LLWU ISR] ****WUF9 was set *****\r\n");
//  290        LLWU_F2 |= LLWU_F2_WUF9_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x2
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  291    }
//  292    if (LLWU_F2 & LLWU_F2_WUF10_MASK) {
??llwu_isr_9:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+29
        BPL.N    ??llwu_isr_10
//  293 //       printf("\n [LLWU ISR] ****WUF10 was set *****\r\n");
//  294        LLWU_F2 |= LLWU_F2_WUF10_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x4
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  295    }
//  296    if (LLWU_F2 & LLWU_F2_WUF11_MASK) {
??llwu_isr_10:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+28
        BPL.N    ??llwu_isr_11
//  297  //      printf("\n [LLWU ISR] ****WUF11 was set *****\r\n");
//  298        LLWU_F2 |= LLWU_F2_WUF11_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x8
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  299    }
//  300    if (LLWU_F2 & LLWU_F2_WUF12_MASK) {
??llwu_isr_11:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+27
        BPL.N    ??llwu_isr_12
//  301 //       printf("\n [LLWU ISR] ****WUF12 was set *****\r\n");
//  302        LLWU_F2 |= LLWU_F2_WUF12_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x10
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  303    }
//  304    if (LLWU_F2 & LLWU_F2_WUF13_MASK) {
??llwu_isr_12:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+26
        BPL.N    ??llwu_isr_13
//  305 //       printf("[LLWU ISR] ****WUF13 was set *****\r\n");
//  306        LLWU_F2 |= LLWU_F2_WUF13_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x20
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  307    }
//  308    if (LLWU_F2 & LLWU_F2_WUF14_MASK) {
??llwu_isr_13:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+25
        BPL.N    ??llwu_isr_14
//  309 //       printf("[LLWU ISR] RTS\n");
//  310        SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK; // turn on port D ajj per alister
        LDR.N    R0,??DataTable3_41  ;; 0x40048038
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x1000
        LDR.N    R1,??DataTable3_41  ;; 0x40048038
        STR      R0,[R1, #+0]
//  311        LLWU_F2 |= LLWU_F2_WUF14_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x40
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  312        PORTD_PCR4 |= PORT_PCR_ISF_MASK  ;   //  clear Flag if there
        LDR.N    R0,??DataTable3_42  ;; 0x4004c010
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x1000000
        LDR.N    R1,??DataTable3_42  ;; 0x4004c010
        STR      R0,[R1, #+0]
//  313    }
//  314    if (LLWU_F2 & LLWU_F2_WUF15_MASK) {
??llwu_isr_14:
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+24
        BPL.N    ??llwu_isr_15
//  315 //       printf("[LLWU ISR] UART0\n");
//  316        SIM_SCGC5 |= SIM_SCGC5_PORTD_MASK; // turn on port D ajj per alister
        LDR.N    R0,??DataTable3_41  ;; 0x40048038
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x1000
        LDR.N    R1,??DataTable3_41  ;; 0x40048038
        STR      R0,[R1, #+0]
//  317        ch = uart_getchar(UART0_BASE_PTR);
        LDR.N    R0,??DataTable3_43  ;; 0x4006a000
        BL       uart_getchar
//  318        out_char(ch);
        UXTB     R0,R0            ;; ZeroExt  R0,R0,#+24,#+24
        BL       putchar
//  319        LLWU_F2 |= LLWU_F2_WUF15_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_15  ;; 0x4007c006
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x80
        LDR.N    R1,??DataTable3_15  ;; 0x4007c006
        STRB     R0,[R1, #+0]
//  320        PORTD_PCR6  |= PORT_PCR_ISF_MASK  ;   //  clear Flag if there
        LDR.N    R0,??DataTable3_44  ;; 0x4004c018
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x1000000
        LDR.N    R1,??DataTable3_44  ;; 0x4004c018
        STR      R0,[R1, #+0]
//  321    }
//  322    if (LLWU_F3 & LLWU_F3_MWUF0_MASK) {
??llwu_isr_15:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+31
        BPL.N    ??llwu_isr_16
//  323 //       printf("[LLWU ISR] LPT0\n");
//  324 //       LPTMR0_CSR |=  LPTMR_CSR_TCF_MASK;   // write 1 to TCF to clear the LPT timer compare flag
//  325 //       LPTMR0_CSR = ( LPTMR_CSR_TEN_MASK | LPTMR_CSR_TIE_MASK | LPTMR_CSR_TCF_MASK  );
//  326        LLWU_F3 |= LLWU_F3_MWUF0_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x1
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  327    }
//  328    if (LLWU_F3 & LLWU_F3_MWUF1_MASK) {
??llwu_isr_16:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+30
        BPL.N    ??llwu_isr_17
//  329 //       printf("\n [LLWU ISR] ****WUF3_MWUF1 IF  CMP0  *****\r\n");
//  330        LLWU_F3 |= LLWU_F3_MWUF1_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x2
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  331    }
//  332    if (LLWU_F3 & LLWU_F3_MWUF2_MASK) {
??llwu_isr_17:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+29
        BPL.N    ??llwu_isr_18
//  333 //       printf("\n [LLWU ISR] ****WUF3_MWUF2 IF  CMP1 *****\r\n");
//  334        LLWU_F3 |= LLWU_F3_MWUF2_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x4
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  335    }
//  336    if (LLWU_F3 & LLWU_F3_MWUF3_MASK) {
??llwu_isr_18:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+28
        BPL.N    ??llwu_isr_19
//  337 //       printf("\n [LLWU ISR] ****WUF3_MWUF3 IF CMP2/CMP3  *****\r\n");
//  338        LLWU_F3 |= LLWU_F3_MWUF3_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x8
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  339    }
//  340    if (LLWU_F3 & LLWU_F3_MWUF4_MASK) {
??llwu_isr_19:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+27
        BPL.N    ??llwu_isr_20
//  341 //       printf("\n [LLWU ISR] ****WUF3_MWUF4 IF TSI  *****\r\n");
//  342        LLWU_F3 |= LLWU_F3_MWUF4_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x10
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  343    }
//  344    if (LLWU_F3 & LLWU_F3_MWUF5_MASK) {
??llwu_isr_20:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+26
        BPL.N    ??llwu_isr_21
//  345 //       printf("\n [LLWU ISR] ****WUF3_MWUF5 IF RTC Alarm  *****\r\n");
//  346        LLWU_F3 |= LLWU_F3_MWUF5_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x20
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  347    }
//  348    if (LLWU_F3 & LLWU_F3_MWUF6_MASK) {
??llwu_isr_21:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+25
        BPL.N    ??llwu_isr_22
//  349 //       printf("\n [LLWU ISR] ****WUF3_MWUF6 IF DryIce(Tamper Detect)  *****\r\n");
//  350        LLWU_F3 |= LLWU_F3_MWUF6_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x40
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  351    }
//  352    if (LLWU_F3 & LLWU_F3_MWUF7_MASK) {
??llwu_isr_22:
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+24
        BPL.N    ??llwu_isr_23
//  353 //       printf("[LLWU ISR] RTC\n");
//  354        LLWU_F3 |= LLWU_F3_MWUF7_MASK;   // write one to clear the flag
        LDR.N    R0,??DataTable3_32  ;; 0x4007c007
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x80
        LDR.N    R1,??DataTable3_32  ;; 0x4007c007
        STRB     R0,[R1, #+0]
//  355    }
//  356 
//  357    if(LLWU_FILT1 & LLWU_FILT1_FILTF_MASK){
??llwu_isr_23:
        LDR.N    R0,??DataTable3_34  ;; 0x4007c008
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+24
        BPL.N    ??llwu_isr_24
//  358 
//  359        LLWU_FILT1 |= LLWU_FILT1_FILTF_MASK;
        LDR.N    R0,??DataTable3_34  ;; 0x4007c008
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x80
        LDR.N    R1,??DataTable3_34  ;; 0x4007c008
        STRB     R0,[R1, #+0]
//  360    }
//  361    if(LLWU_FILT2 & LLWU_FILT2_FILTF_MASK){
??llwu_isr_24:
        LDR.N    R0,??DataTable3_36  ;; 0x4007c009
        LDRB     R0,[R0, #+0]
        LSLS     R0,R0,#+24
        BPL.N    ??llwu_isr_25
//  362 
//  363        LLWU_FILT2 |= LLWU_FILT2_FILTF_MASK;
        LDR.N    R0,??DataTable3_36  ;; 0x4007c009
        LDRB     R0,[R0, #+0]
        ORRS     R0,R0,#0x80
        LDR.N    R1,??DataTable3_36  ;; 0x4007c009
        STRB     R0,[R1, #+0]
//  364    }
//  365 
//  366 }
??llwu_isr_25:
        POP      {R0,PC}          ;; return

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3:
        DC32     `?<Constant " LLWU Reset pin enabl...">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_1:
        DC32     0x4007c00a

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_2:
        DC32     0x4007c000

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_3:
        DC32     `?<Constant " LLWU configured pins...">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_4:
        DC32     0x4007c005

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_5:
        DC32     `?<Constant " LLWU configured pins...">_1`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_6:
        DC32     `?<Constant " LLWU configured pins...">_2`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_7:
        DC32     `?<Constant " LLWU configured pins...">_3`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_8:
        DC32     0x4007c001

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_9:
        DC32     `?<Constant " LLWU configured pins...">_4`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_10:
        DC32     `?<Constant " LLWU configured pins...">_5`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_11:
        DC32     `?<Constant " LLWU configured pins...">_6`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_12:
        DC32     `?<Constant " LLWU configured pins...">_7`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_13:
        DC32     0x4007c002

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_14:
        DC32     `?<Constant " LLWU configured pins...">_8`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_15:
        DC32     0x4007c006

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_16:
        DC32     `?<Constant " LLWU configured pins...">_9`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_17:
        DC32     `?<Constant " LLWU configured pins...">_10`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_18:
        DC32     `?<Constant " LLWU configured pins...">_11`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_19:
        DC32     0x4007c003

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_20:
        DC32     `?<Constant " LLWU configured pins...">_12`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_21:
        DC32     `?<Constant " LLWU configured pins...">_13`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_22:
        DC32     `?<Constant " LLWU configured pins...">_14`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_23:
        DC32     `?<Constant " LLWU configured pins...">_15`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_24:
        DC32     0x4007c004

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_25:
        DC32     `?<Constant "LLWU PE1   = 0x%02X,    ">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_26:
        DC32     `?<Constant "LLWU PE2   = 0x%02X\\n">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_27:
        DC32     `?<Constant "LLWU PE3   = 0x%02X,    ">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_28:
        DC32     `?<Constant "LLWU PE4   = 0x%02X\\n">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_29:
        DC32     `?<Constant "LLWU ME    = 0x%02X,    ">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_30:
        DC32     `?<Constant "LLWU F1    = 0x%02X\\n">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_31:
        DC32     `?<Constant "LLWU F2    = 0x%02X,    ">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_32:
        DC32     0x4007c007

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_33:
        DC32     `?<Constant "LLWU F3    = 0x%02X\\n">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_34:
        DC32     0x4007c008

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_35:
        DC32     `?<Constant "LLWU FILT1 = 0x%02X,    ">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_36:
        DC32     0x4007c009

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_37:
        DC32     `?<Constant "LLWU FILT2 = 0x%02X\\n">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_38:
        DC32     `?<Constant "LLWU RST   = 0x%02X\\n">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_39:
        DC32     `?<Constant "\\nEnabling Filter %x o...">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_40:
        DC32     `?<Constant "\\nError - invalid filt...">`

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_41:
        DC32     0x40048038

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_42:
        DC32     0x4004c010

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_43:
        DC32     0x4006a000

        SECTION `.text`:CODE:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
??DataTable3_44:
        DC32     0x4004c018

        SECTION `.iar_vfe_header`:DATA:REORDER:NOALLOC:NOROOT(2)
        SECTION_TYPE SHT_PROGBITS, 0
        DATA
        DC32 0

        SECTION __DLIB_PERTHREAD:DATA:REORDER:NOROOT(0)
        SECTION_TYPE SHT_PROGBITS, 0

        SECTION __DLIB_PERTHREAD_init:DATA:REORDER:NOROOT(0)
        SECTION_TYPE SHT_PROGBITS, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU Reset pin enabl...">`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 52H, 65H
        DC8 73H, 65H, 74H, 20H, 70H, 69H, 6EH, 20H
        DC8 65H, 6EH, 61H, 62H, 6CH, 65H, 64H, 20H
        DC8 61H, 73H, 20H, 77H, 61H, 6BH, 65H, 75H
        DC8 70H, 20H, 73H, 6FH, 75H, 72H, 63H, 65H
        DC8 20H, 66H, 72H, 6FH, 6DH, 20H, 4CH, 6FH
        DC8 77H, 20H, 70H, 6FH, 77H, 65H, 72H, 20H
        DC8 6DH, 6FH, 64H, 65H, 73H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 45H, 31H, 2FH, 55H, 41H, 52H, 54H, 31H
        DC8 5FH, 52H, 58H, 2FH, 49H, 32H, 43H, 31H
        DC8 5FH, 53H, 43H, 4CH, 20H, 2FH, 53H, 50H
        DC8 49H, 31H, 5FH, 53H, 49H, 4EH, 20H, 74H
        DC8 6FH, 20H, 62H, 65H, 20H, 61H, 6EH, 20H
        DC8 4CH, 4CH, 57H, 55H, 20H, 77H, 61H, 6BH
        DC8 65H, 75H, 70H, 20H, 73H, 6FH, 75H, 72H
        DC8 63H, 65H, 20H, 0AH, 0
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_1`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 45H, 32H, 2FH, 53H, 50H, 49H, 31H, 5FH
        DC8 53H, 43H, 4BH, 2FH, 53H, 44H, 48H, 43H
        DC8 30H, 5FH, 44H, 43H, 4CH, 4BH, 20H, 74H
        DC8 6FH, 20H, 62H, 65H, 20H, 61H, 6EH, 20H
        DC8 4CH, 4CH, 57H, 55H, 20H, 77H, 61H, 6BH
        DC8 65H, 75H, 70H, 20H, 73H, 6FH, 75H, 72H
        DC8 63H, 65H, 20H, 0AH, 0
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_2`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 45H, 34H, 2FH, 53H, 50H, 49H, 31H, 5FH
        DC8 50H, 43H, 53H, 30H, 2FH, 53H, 44H, 48H
        DC8 43H, 30H, 5FH, 44H, 33H, 20H, 74H, 6FH
        DC8 20H, 62H, 65H, 20H, 61H, 6EH, 20H, 4CH
        DC8 4CH, 57H, 55H, 20H, 77H, 61H, 6BH, 65H
        DC8 75H, 70H, 20H, 73H, 6FH, 75H, 72H, 63H
        DC8 65H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_3`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 41H, 34H, 2FH, 46H, 54H, 4DH, 30H, 5FH
        DC8 43H, 48H, 31H, 2FH, 4EH, 4DH, 49H, 2FH
        DC8 45H, 5AH, 50H, 5FH, 43H, 53H, 20H, 74H
        DC8 6FH, 20H, 62H, 65H, 20H, 61H, 6EH, 20H
        DC8 4CH, 4CH, 57H, 55H, 20H, 77H, 61H, 6BH
        DC8 65H, 75H, 70H, 20H, 73H, 6FH, 75H, 72H
        DC8 63H, 65H, 20H, 0AH, 0
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_4`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 41H, 31H, 33H, 2FH, 46H, 54H, 4DH, 31H
        DC8 5FH, 43H, 48H, 31H, 20H, 2FH, 46H, 54H
        DC8 4DH, 31H, 5FH, 51H, 44H, 5FH, 50H, 48H
        DC8 42H, 20H, 74H, 6FH, 20H, 62H, 65H, 20H
        DC8 61H, 6EH, 20H, 4CH, 4CH, 57H, 55H, 20H
        DC8 77H, 61H, 6BH, 65H, 75H, 70H, 20H, 73H
        DC8 6FH, 75H, 72H, 63H, 65H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_5`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 42H, 30H, 2FH, 49H, 32H, 43H, 30H, 5FH
        DC8 53H, 43H, 4CH, 2FH, 46H, 54H, 4DH, 31H
        DC8 5FH, 43H, 48H, 30H, 2FH, 46H, 54H, 4DH
        DC8 31H, 5FH, 51H, 44H, 5FH, 50H, 48H, 41H
        DC8 20H, 74H, 6FH, 20H, 62H, 65H, 20H, 61H
        DC8 6EH, 20H, 4CH, 4CH, 57H, 55H, 20H, 77H
        DC8 61H, 6BH, 65H, 75H, 70H, 20H, 73H, 6FH
        DC8 75H, 72H, 63H, 65H, 20H, 0AH, 0
        DC8 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_6`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 43H, 31H, 2FH, 55H, 41H, 52H, 54H, 31H
        DC8 5FH, 52H, 54H, 53H, 2FH, 46H, 54H, 4DH
        DC8 30H, 5FH, 43H, 48H, 30H, 20H, 74H, 6FH
        DC8 20H, 62H, 65H, 20H, 61H, 6EH, 20H, 4CH
        DC8 4CH, 57H, 55H, 20H, 77H, 61H, 6BH, 65H
        DC8 75H, 70H, 20H, 73H, 6FH, 75H, 72H, 63H
        DC8 65H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_7`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 43H, 33H, 2FH, 55H, 41H, 52H, 54H, 31H
        DC8 5FH, 52H, 58H, 2FH, 46H, 54H, 4DH, 30H
        DC8 5FH, 43H, 48H, 32H, 20H, 74H, 6FH, 20H
        DC8 62H, 65H, 20H, 61H, 6EH, 20H, 4CH, 4CH
        DC8 57H, 55H, 20H, 77H, 61H, 6BH, 65H, 75H
        DC8 70H, 20H, 73H, 6FH, 75H, 72H, 63H, 65H
        DC8 20H, 0AH, 0
        DC8 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_8`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 43H, 34H, 2FH, 53H, 50H, 49H, 30H, 5FH
        DC8 50H, 43H, 53H, 30H, 2FH, 46H, 54H, 4DH
        DC8 30H, 5FH, 43H, 48H, 33H, 20H, 74H, 6FH
        DC8 20H, 62H, 65H, 20H, 61H, 6EH, 20H, 4CH
        DC8 4CH, 57H, 55H, 20H, 77H, 61H, 6BH, 65H
        DC8 75H, 70H, 20H, 73H, 6FH, 75H, 72H, 63H
        DC8 65H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_9`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 43H, 35H, 2FH, 53H, 50H, 49H, 30H, 5FH
        DC8 53H, 43H, 4BH, 2FH, 49H, 32H, 53H, 30H
        DC8 5FH, 52H, 58H, 44H, 30H, 20H, 74H, 6FH
        DC8 20H, 62H, 65H, 20H, 61H, 6EH, 20H, 4CH
        DC8 4CH, 57H, 55H, 20H, 77H, 61H, 6BH, 65H
        DC8 75H, 70H, 20H, 73H, 6FH, 75H, 72H, 63H
        DC8 65H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_10`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 43H, 36H, 2FH, 50H, 44H, 42H, 30H, 5FH
        DC8 45H, 58H, 54H, 52H, 47H, 20H, 74H, 6FH
        DC8 20H, 62H, 65H, 20H, 61H, 6EH, 20H, 4CH
        DC8 4CH, 57H, 55H, 20H, 77H, 61H, 6BH, 65H
        DC8 75H, 70H, 20H, 73H, 6FH, 75H, 72H, 63H
        DC8 65H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_11`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 43H, 31H, 31H, 2FH, 49H, 32H, 53H, 30H
        DC8 5FH, 52H, 58H, 44H, 31H, 20H, 74H, 6FH
        DC8 20H, 62H, 65H, 20H, 61H, 6EH, 20H, 4CH
        DC8 4CH, 57H, 55H, 20H, 77H, 61H, 6BH, 65H
        DC8 75H, 70H, 20H, 73H, 6FH, 75H, 72H, 63H
        DC8 65H, 20H, 0AH, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_12`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 44H, 30H, 2FH, 53H, 50H, 49H, 30H, 5FH
        DC8 50H, 43H, 53H, 30H, 2FH, 55H, 41H, 52H
        DC8 54H, 32H, 5FH, 52H, 54H, 53H, 20H, 74H
        DC8 6FH, 20H, 62H, 65H, 20H, 61H, 6EH, 20H
        DC8 4CH, 4CH, 57H, 55H, 20H, 77H, 61H, 6BH
        DC8 65H, 75H, 70H, 20H, 73H, 6FH, 75H, 72H
        DC8 63H, 65H, 20H, 0AH, 0
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_13`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 44H, 32H, 2FH, 55H, 41H, 52H, 54H, 32H
        DC8 5FH, 52H, 58H, 20H, 74H, 6FH, 20H, 62H
        DC8 65H, 20H, 61H, 6EH, 20H, 4CH, 4CH, 57H
        DC8 55H, 20H, 77H, 61H, 6BH, 65H, 75H, 70H
        DC8 20H, 73H, 6FH, 75H, 72H, 63H, 65H, 20H
        DC8 0AH, 0
        DC8 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_14`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 44H, 34H, 2FH, 55H, 41H, 52H, 54H, 30H
        DC8 5FH, 52H, 54H, 53H, 2FH, 46H, 54H, 4DH
        DC8 30H, 5FH, 43H, 48H, 34H, 2FH, 45H, 57H
        DC8 4DH, 5FH, 49H, 4EH, 20H, 74H, 6FH, 20H
        DC8 62H, 65H, 20H, 61H, 6EH, 20H, 4CH, 4CH
        DC8 57H, 55H, 20H, 77H, 61H, 6BH, 65H, 75H
        DC8 70H, 20H, 73H, 6FH, 75H, 72H, 63H, 65H
        DC8 20H, 0AH, 0
        DC8 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant " LLWU configured pins...">_15`:
        DATA
        DC8 20H, 4CH, 4CH, 57H, 55H, 20H, 63H, 6FH
        DC8 6EH, 66H, 69H, 67H, 75H, 72H, 65H, 64H
        DC8 20H, 70H, 69H, 6EH, 73H, 20H, 50H, 54H
        DC8 44H, 36H, 2FH, 55H, 41H, 52H, 54H, 30H
        DC8 5FH, 52H, 58H, 2FH, 46H, 54H, 4DH, 30H
        DC8 5FH, 43H, 48H, 36H, 2FH, 46H, 54H, 4DH
        DC8 30H, 5FH, 46H, 4CH, 54H, 30H, 20H, 74H
        DC8 6FH, 20H, 62H, 65H, 20H, 61H, 6EH, 20H
        DC8 4CH, 4CH, 57H, 55H, 20H, 77H, 61H, 6BH
        DC8 65H, 75H, 70H, 20H, 73H, 6FH, 75H, 72H
        DC8 63H, 65H, 20H, 0AH, 0
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU PE1   = 0x%02X,    ">`:
        DATA
        DC8 "LLWU PE1   = 0x%02X,    "
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU PE2   = 0x%02X\\n">`:
        DATA
        DC8 "LLWU PE2   = 0x%02X\012"
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU PE3   = 0x%02X,    ">`:
        DATA
        DC8 "LLWU PE3   = 0x%02X,    "
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU PE4   = 0x%02X\\n">`:
        DATA
        DC8 "LLWU PE4   = 0x%02X\012"
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU ME    = 0x%02X,    ">`:
        DATA
        DC8 "LLWU ME    = 0x%02X,    "
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU F1    = 0x%02X\\n">`:
        DATA
        DC8 "LLWU F1    = 0x%02X\012"
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU F2    = 0x%02X,    ">`:
        DATA
        DC8 "LLWU F2    = 0x%02X,    "
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU F3    = 0x%02X\\n">`:
        DATA
        DC8 "LLWU F3    = 0x%02X\012"
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU FILT1 = 0x%02X,    ">`:
        DATA
        DC8 "LLWU FILT1 = 0x%02X,    "
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU FILT2 = 0x%02X\\n">`:
        DATA
        DC8 "LLWU FILT2 = 0x%02X\012"
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "LLWU RST   = 0x%02X\\n">`:
        DATA
        DC8 "LLWU RST   = 0x%02X\012"
        DC8 0, 0, 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "\\nEnabling Filter %x o...">`:
        DATA
        DC8 0AH, 45H, 6EH, 61H, 62H, 6CH, 69H, 6EH
        DC8 67H, 20H, 46H, 69H, 6CH, 74H, 65H, 72H
        DC8 20H, 25H, 78H, 20H, 6FH, 6EH, 20H, 57H
        DC8 55H, 20H, 50H, 69H, 6EH, 20H, 25H, 78H
        DC8 20H, 66H, 6FH, 72H, 20H, 57H, 55H, 20H
        DC8 73H, 65H, 6EH, 73H, 65H, 20H, 25H, 78H
        DC8 20H, 0AH, 0
        DC8 0

        SECTION `.rodata`:CONST:REORDER:NOROOT(2)
`?<Constant "\\nError - invalid filt...">`:
        DATA
        DC8 "\012Error - invalid filter number %x\012"
        DC8 0

        END
// 
// 1 688 bytes in section .rodata
// 1 700 bytes in section .text
// 
// 1 700 bytes of CODE  memory
// 1 688 bytes of CONST memory
//
//Errors: none
//Warnings: none
