From baa9ed196e2945d39b1487fbd47e7f089a534ee5 Mon Sep 17 00:00:00 2001 From: RichardBarry Date: Wed, 23 Jan 2008 08:35:47 +0000 Subject: [PATCH 1/1] UpdUpdate IAR projects to use Embedded Workbench V5.11. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@131 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h | 2 +- Demo/ARM7_AT91SAM7S64_IAR/SrcIAR/Cstartup.s | 302 + .../resource/at91SAM7S64_FLASH.icf | 42 + Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewd | 426 +- Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewp | 806 +- .../settings/rtosdemo.dbgdt | 8 +- .../settings/rtosdemo.dni | 17 + .../settings/rtosdemo.wsdt | 16 +- .../settings/rtosdemo_lnk.par | 17 + Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h | 2 +- .../SrcIAR/lpc2xxx_cstartup.s | 189 + Demo/ARM7_LPC2129_IAR/main.c | 8 +- Demo/ARM7_LPC2129_IAR/resource/lpc212x.icf | 47 + Demo/ARM7_LPC2129_IAR/rtosdemo.ewd | 428 +- Demo/ARM7_LPC2129_IAR/rtosdemo.ewp | 796 +- Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dbgdt | 8 +- Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dni | 31 +- Demo/ARM7_LPC2129_IAR/settings/rtosdemo.wsdt | 12 +- Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h | 3 +- Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzp | 89 +- Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzs | 75 +- Demo/ARM7_LPC2138_Rowley/main.c | 7 + .../RTOSDemo/FreeRTOSConfig.h | 2 +- Demo/ARM7_LPC2368_Eclipse/RTOSDemo/main.c | 12 +- Demo/ARM7_STR71x_IAR/71x_init.s | 297 + Demo/ARM7_STR71x_IAR/71x_vect.s | 253 + Demo/ARM7_STR71x_IAR/Library/71x_it.c | 78 + Demo/ARM7_STR71x_IAR/RTOSDemo.ewd | 504 +- Demo/ARM7_STR71x_IAR/RTOSDemo.ewp | 884 +- Demo/ARM7_STR71x_IAR/STR71x_FLASH.icf | 42 + Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dbgdt | 14 +- Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dni | 30 +- Demo/ARM7_STR71x_IAR/settings/RTOSDemo.wsdt | 16 +- Demo/ARM7_STR75x_IAR/75x_init.s | 28 +- Demo/ARM7_STR75x_IAR/75x_vect.s | 6 +- Demo/ARM7_STR75x_IAR/RTOSDemo.ewd | 288 +- Demo/ARM7_STR75x_IAR/RTOSDemo.ewp | 776 +- Demo/ARM7_STR75x_IAR/STR75x_FLASH.icf | 49 + Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dbgdt | 12 +- Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dni | 4 + Demo/ARM7_STR75x_IAR/settings/RTOSDemo.wsdt | 6 +- Demo/ARM9_STR91X_IAR/91x_init.s | 242 + Demo/ARM9_STR91X_IAR/91x_vect.s | 228 + Demo/ARM9_STR91X_IAR/RTOSDemo.dep | 7801 ----------------- Demo/ARM9_STR91X_IAR/RTOSDemo.ewd | 951 +- Demo/ARM9_STR91X_IAR/RTOSDemo.ewp | 3059 ++----- Demo/ARM9_STR91X_IAR/STR91x_FLASH.icf | 42 + .../settings/RTOSDemo.cspy.bat | 8 +- Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dbgdt | 16 +- Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dni | 2 + Demo/ARM9_STR91X_IAR/settings/RTOSDemo.wsdt | 8 +- Demo/AVR32_UC3/AT32UC3A/IAR/rtosdemo.dep | 1213 --- Demo/AVR_ATMega323_IAR/rtosdemo.dep | 554 -- Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h | 12 +- Demo/CORTEX_LM3S316_IAR/LM3S316.icf | 58 + Demo/CORTEX_LM3S316_IAR/RTOSDemo.dep | 535 -- Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewd | 159 +- Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewp | 400 +- Demo/CORTEX_LM3S316_IAR/commstest.c | 19 +- Demo/CORTEX_LM3S316_IAR/hw_include/pdc.c | 3 +- Demo/CORTEX_LM3S316_IAR/hw_include/ssi.h | 4 + Demo/CORTEX_LM3S316_IAR/hw_include/startup.c | 111 +- Demo/CORTEX_LM3S316_IAR/hw_include/uart.h | 2 + .../settings/RTOSDemo.dbgdt | 12 +- Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dni | 5 +- .../CORTEX_LM3S316_IAR/settings/RTOSDemo.wsdt | 10 +- Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h | 2 +- Demo/CORTEX_LM3S811_IAR/LM3S811.icf | 58 + Demo/CORTEX_LM3S811_IAR/LuminaryCode/i2c.h | 2 + .../LuminaryCode/osram96x16.c | 4 +- Demo/CORTEX_LM3S811_IAR/LuminaryCode/uart.h | 2 + Demo/CORTEX_LM3S811_IAR/RTOSDemo.dep | 430 - Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewd | 134 +- Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewp | 395 +- Demo/CORTEX_LM3S811_IAR/main.c | 2 +- Demo/CORTEX_LM3S811_IAR/startup.c | 61 +- Demo/CORTEX_LM3Sxxxx_IAR_Keil/LM3Sxxxx.icf | 58 + Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.dep | 951 +- Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewd | 92 +- Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp | 393 +- .../settings/RTOSDemo.cspy.bat | 8 +- .../settings/RTOSDemo.dbgdt | 77 +- .../settings/RTOSDemo.dni | 24 + .../settings/RTOSDemo.wsdt | 98 +- Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c | 61 +- Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c | 8 +- Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewd | 134 +- Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewp | 391 +- .../STM32F10xFWLib/src/cortexm3_macro.s | 50 +- Demo/CORTEX_STM32F103_IAR/STM32F10x_FLASH.icf | 31 + Demo/CORTEX_STM32F103_IAR/stm32f10x_vector.c | 6 +- Demo/Common/Minimal/dynamic.c | 6 + Demo/Common/Minimal/recmutex.c | 335 + .../drivers/LuminaryMicro/IAR/driverlib.a | Bin 0 -> 566104 bytes .../drivers/LuminaryMicro/Rowley/libdriver.a | Bin 0 -> 86998 bytes .../arm-stellaris-eabi-gcc/libdriver.a | Bin 0 -> 89600 bytes Demo/lwIP_AVR32_UC3/AT32UC3A/IAR/lwipdemo.dep | 1165 --- Demo/lwIP_Demo_Rowley_ARM7/rtosdemo.hzs | 47 +- Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h | 2 +- Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s | 302 + Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c | 151 +- Demo/uIP_Demo_IAR_ARM7/rtosdemo.dep | 1590 ---- Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd | 510 +- Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp | 802 +- 104 files changed, 9373 insertions(+), 21095 deletions(-) create mode 100644 Demo/ARM7_AT91SAM7S64_IAR/SrcIAR/Cstartup.s create mode 100644 Demo/ARM7_AT91SAM7S64_IAR/resource/at91SAM7S64_FLASH.icf create mode 100644 Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo_lnk.par create mode 100644 Demo/ARM7_LPC2129_IAR/SrcIAR/lpc2xxx_cstartup.s create mode 100644 Demo/ARM7_LPC2129_IAR/resource/lpc212x.icf create mode 100644 Demo/ARM7_STR71x_IAR/71x_init.s create mode 100644 Demo/ARM7_STR71x_IAR/71x_vect.s create mode 100644 Demo/ARM7_STR71x_IAR/Library/71x_it.c create mode 100644 Demo/ARM7_STR71x_IAR/STR71x_FLASH.icf create mode 100644 Demo/ARM7_STR75x_IAR/STR75x_FLASH.icf create mode 100644 Demo/ARM9_STR91X_IAR/91x_init.s create mode 100644 Demo/ARM9_STR91X_IAR/91x_vect.s delete mode 100644 Demo/ARM9_STR91X_IAR/RTOSDemo.dep create mode 100644 Demo/ARM9_STR91X_IAR/STR91x_FLASH.icf delete mode 100644 Demo/AVR32_UC3/AT32UC3A/IAR/rtosdemo.dep delete mode 100644 Demo/AVR_ATMega323_IAR/rtosdemo.dep create mode 100644 Demo/CORTEX_LM3S316_IAR/LM3S316.icf delete mode 100644 Demo/CORTEX_LM3S316_IAR/RTOSDemo.dep create mode 100644 Demo/CORTEX_LM3S811_IAR/LM3S811.icf delete mode 100644 Demo/CORTEX_LM3S811_IAR/RTOSDemo.dep create mode 100644 Demo/CORTEX_LM3Sxxxx_IAR_Keil/LM3Sxxxx.icf create mode 100644 Demo/CORTEX_STM32F103_IAR/STM32F10x_FLASH.icf create mode 100644 Demo/Common/Minimal/recmutex.c create mode 100644 Demo/Common/drivers/LuminaryMicro/IAR/driverlib.a create mode 100644 Demo/Common/drivers/LuminaryMicro/Rowley/libdriver.a create mode 100644 Demo/Common/drivers/LuminaryMicro/arm-stellaris-eabi-gcc/libdriver.a delete mode 100644 Demo/lwIP_AVR32_UC3/AT32UC3A/IAR/lwipdemo.dep create mode 100644 Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s delete mode 100644 Demo/uIP_Demo_IAR_ARM7/rtosdemo.dep diff --git a/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h b/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h index 42b361533..f54e5ebff 100644 --- a/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h +++ b/Demo/ARM7_AT91SAM7S64_IAR/FreeRTOSConfig.h @@ -37,7 +37,7 @@ #ifndef FREERTOS_CONFIG_H #define FREERTOS_CONFIG_H -#include +#include #include "Board.h" /*----------------------------------------------------------- diff --git a/Demo/ARM7_AT91SAM7S64_IAR/SrcIAR/Cstartup.s b/Demo/ARM7_AT91SAM7S64_IAR/SrcIAR/Cstartup.s new file mode 100644 index 000000000..12842e137 --- /dev/null +++ b/Demo/ARM7_AT91SAM7S64_IAR/SrcIAR/Cstartup.s @@ -0,0 +1,302 @@ +;* ---------------------------------------------------------------------------- +;* ATMEL Microcontroller Software Support - ROUSSET - +;* ---------------------------------------------------------------------------- +;* Copyright (c) 2006, Atmel Corporation +; +;* All rights reserved. +;* +;* Redistribution and use in source and binary forms, with or without +;* modification, are permitted provided that the following conditions are met: +;* +;* - Redistributions of source code must retain the above copyright notice, +;* this list of conditions and the disclaimer below. +;* +;* - Redistributions in binary form must reproduce the above copyright notice, +;* this list of conditions and the disclaimer below in the documentation and/or +;* other materials provided with the distribution. +;* +;* Atmel's name may not be used to endorse or promote products derived from +;* this software without specific prior written permission. +;* +;* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR +;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE +;* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, +;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +;* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +;* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +;* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +;* ---------------------------------------------------------------------------- + +;------------------------------------------------------------------------------ +; Include your AT91 Library files +;------------------------------------------------------------------------------ +#include "AT91SAM7X256_inc.h" +;------------------------------------------------------------------------------ + +#define TOP_OF_MEMORY (AT91C_ISRAM + AT91C_ISRAM_SIZE) +#define IRQ_STACK_SIZE 200 + ; 3 words to be saved per interrupt priority level + +; Mode, correspords to bits 0-5 in CPSR +MODE_BITS DEFINE 0x1F ; Bit mask for mode bits in CPSR +USR_MODE DEFINE 0x10 ; User mode +FIQ_MODE DEFINE 0x11 ; Fast Interrupt Request mode +IRQ_MODE DEFINE 0x12 ; Interrupt Request mode +SVC_MODE DEFINE 0x13 ; Supervisor mode +ABT_MODE DEFINE 0x17 ; Abort mode +UND_MODE DEFINE 0x1B ; Undefined Instruction mode +SYS_MODE DEFINE 0x1F ; System mode + +I_BIT DEFINE 0x80 +F_BIT DEFINE 0x40 + +;------------------------------------------------------------------------------ +; ?RESET +; Reset Vector. +; Normally, segment INTVEC is linked at address 0. +; For debugging purposes, INTVEC may be placed at other addresses. +; A debugger that honors the entry point will start the +; program in a normal way even if INTVEC is not at address 0. +;------------------------------------------------------------------------------ + SECTION .intvec:CODE:NOROOT(2) + PUBLIC __vector + PUBLIC __iar_program_start + EXTERN vPortYieldProcessor + + ARM +__vector: + ldr pc,[pc,#+24] ;; Reset +__und_handler: + ldr pc,[pc,#+24] ;; Undefined instructions +__swi_handler: + ldr pc,[pc,#+24] ;; Software interrupt (SWI/SVC) +__prefetch_handler: + ldr pc,[pc,#+24] ;; Prefetch abort +__data_handler: + ldr pc,[pc,#+24] ;; Data abort + DC32 0xFFFFFFFF ;; RESERVED +__irq_handler: + LDR PC, [PC, #-0xF20] +__fiq_handler: + ldr pc,[pc,#+24] ;; FIQ + + DC32 __iar_program_start + DC32 __und_handler + DC32 vPortYieldProcessor + DC32 __prefetch_handler + DC32 __data_handler + B . + DC32 IRQ_Handler_Entry + DC32 FIQ_Handler_Entry + +;------------------------------------------------------------------------------ +;- Manage exception: The exception must be ensure in ARM mode +;------------------------------------------------------------------------------ + SECTION text:CODE:NOROOT(2) + ARM +;------------------------------------------------------------------------------ +;- Function : FIQ_Handler_Entry +;- Treatments : FIQ Controller Interrupt Handler. +;- R8 is initialize in Cstartup +;- Called Functions : None only by FIQ +;------------------------------------------------------------------------------ +FIQ_Handler_Entry: + +;- Switch in SVC/User Mode to allow User Stack access for C code +; because the FIQ is not yet acknowledged + +;- Save and r0 in FIQ_Register + mov r9,r0 + ldr r0 , [r8, #AIC_FVR] + msr CPSR_c,#I_BIT | F_BIT | SVC_MODE +;- Save scratch/used registers and LR in User Stack + stmfd sp!, { r1-r3, r12, lr} + +;- Branch to the routine pointed by the AIC_FVR + mov r14, pc + bx r0 + +;- Restore scratch/used registers and LR from User Stack + ldmia sp!, { r1-r3, r12, lr} + +;- Leave Interrupts disabled and switch back in FIQ mode + msr CPSR_c, #I_BIT | F_BIT | FIQ_MODE + +;- Restore the R0 ARM_MODE_SVC register + mov r0,r9 + +;- Restore the Program Counter using the LR_fiq directly in the PC + subs pc,lr,#4 +;------------------------------------------------------------------------------ +;- Function : IRQ_Handler_Entry +;- Treatments : IRQ Controller Interrupt Handler. +;- Called Functions : AIC_IVR[interrupt] +;------------------------------------------------------------------------------ +IRQ_Handler_Entry: +;------------------------- +;- Manage Exception Entry +;------------------------- +;- Adjust and save LR_irq in IRQ stack + sub lr, lr, #4 + stmfd sp!, {lr} + +;- Save r0 and SPSR (need to be saved for nested interrupt) + mrs r14, SPSR + stmfd sp!, {r0,r14} + +;- Write in the IVR to support Protect Mode +;- No effect in Normal Mode +;- De-assert the NIRQ and clear the source in Protect Mode + ldr r14, =AT91C_BASE_AIC + ldr r0 , [r14, #AIC_IVR] + str r14, [r14, #AIC_IVR] + +;- Enable Interrupt and Switch in Supervisor Mode + msr CPSR_c, #SVC_MODE + +;- Save scratch/used registers and LR in User Stack + stmfd sp!, { r1-r3, r12, r14} + +;---------------------------------------------- +;- Branch to the routine pointed by the AIC_IVR +;---------------------------------------------- + mov r14, pc + bx r0 + +;---------------------------------------------- +;- Manage Exception Exit +;---------------------------------------------- +;- Restore scratch/used registers and LR from User Stack + ldmia sp!, { r1-r3, r12, r14} + +;- Disable Interrupt and switch back in IRQ mode + msr CPSR_c, #I_BIT | IRQ_MODE + +;- Mark the End of Interrupt on the AIC + ldr r14, =AT91C_BASE_AIC + str r14, [r14, #AIC_EOICR] + +;- Restore SPSR_irq and r0 from IRQ stack + ldmia sp!, {r0,r14} + msr SPSR_cxsf, r14 + +;- Restore adjusted LR_irq from IRQ stack directly in the PC + ldmia sp!, {pc}^ + +;------------------------------------------------------------------------------ +;- Exception Vectors +;------------------------------------------------------------------------------ + PUBLIC AT91F_Default_FIQ_handler + PUBLIC AT91F_Default_IRQ_handler + PUBLIC AT91F_Spurious_handler + + ARM ; Always ARM mode after exeption + +AT91F_Default_FIQ_handler + b AT91F_Default_FIQ_handler + +AT91F_Default_IRQ_handler + b AT91F_Default_IRQ_handler + +AT91F_Spurious_handler + b AT91F_Spurious_handler + + +;------------------------------------------------------------------------------ +; ?INIT +; Program entry. +;------------------------------------------------------------------------------ + + SECTION FIQ_STACK:DATA:NOROOT(3) + SECTION IRQ_STACK:DATA:NOROOT(3) + SECTION SVC_STACK:DATA:NOROOT(3) + SECTION ABT_STACK:DATA:NOROOT(3) + SECTION UND_STACK:DATA:NOROOT(3) + SECTION CSTACK:DATA:NOROOT(3) + SECTION text:CODE:NOROOT(2) + REQUIRE __vector + EXTERN ?main + PUBLIC __iar_program_start + EXTERN AT91F_LowLevelInit + + +__iar_program_start: + +;------------------------------------------------------------------------------ +;- Low level Init is performed in a C function: AT91F_LowLevelInit +;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit +;------------------------------------------------------------------------------ + +;- Retrieve end of RAM address + + ldr r13,=TOP_OF_MEMORY ;- Temporary stack in internal RAM for Low Level Init execution + ldr r0,=AT91F_LowLevelInit + mov lr, pc + bx r0 ;- Branch on C function (with interworking) + +; Initialize the stack pointers. +; The pattern below can be used for any of the exception stacks: +; FIQ, IRQ, SVC, ABT, UND, SYS. +; The USR mode uses the same stack as SYS. +; The stack segments must be defined in the linker command file, +; and be declared above. + + mrs r0,cpsr ; Original PSR value + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#SVC_MODE ; Set SVC mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#UND_MODE ; Set UND mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(UND_STACK) ; End of UND_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#ABT_MODE ; Set ABT mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(ABT_STACK) ; End of ABT_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#FIQ_MODE ; Set FIQ mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(FIQ_STACK) ; End of FIQ_STACK + ;- Init the FIQ register + ldr r8, =AT91C_BASE_AIC + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#IRQ_MODE ; Set IRQ mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(IRQ_STACK) ; End of IRQ_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#SYS_MODE ; Set System mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(CSTACK) ; End of CSTACK + + +#ifdef __ARMVFP__ +; Enable the VFP coprocessor. + mov r0, #0x40000000 ; Set EN bit in VFP + fmxr fpexc, r0 ; FPEXC, clear others. + +; Disable underflow exceptions by setting flush to zero mode. +; For full IEEE 754 underflow compliance this code should be removed +; and the appropriate exception handler installed. + mov r0, #0x01000000 ; Set FZ bit in VFP + fmxr fpscr, r0 ; FPSCR, clear others. +#endif + +; Add more initialization here + msr CPSR_c,#I_BIT | F_BIT | SVC_MODE + + +; Continue to ?main for more IAR specific system startup + + ldr r0,=?main + bx r0 + + END ;- Terminates the assembly of the last module in a file diff --git a/Demo/ARM7_AT91SAM7S64_IAR/resource/at91SAM7S64_FLASH.icf b/Demo/ARM7_AT91SAM7S64_IAR/resource/at91SAM7S64_FLASH.icf new file mode 100644 index 000000000..def0cf0a1 --- /dev/null +++ b/Demo/ARM7_AT91SAM7S64_IAR/resource/at91SAM7S64_FLASH.icf @@ -0,0 +1,42 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x00000100; +define symbol __ICFEDIT_region_ROM_end__ = 0x0000FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x00200000; +define symbol __ICFEDIT_region_RAM_end__ = 0x00203FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x200; +define symbol __ICFEDIT_size_svcstack__ = 0x200; +define symbol __ICFEDIT_size_irqstack__ = 0x200; +define symbol __ICFEDIT_size_fiqstack__ = 0x4; +define symbol __ICFEDIT_size_undstack__ = 0x4; +define symbol __ICFEDIT_size_abtstack__ = 0x4; +define symbol __ICFEDIT_size_heap__ = 0x4; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; +define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; +define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; +define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; +define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK, + block UND_STACK, block ABT_STACK, block HEAP }; diff --git a/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewd b/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewd index 44815edc8..de6ec3f62 100644 --- a/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewd +++ b/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -161,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -200,21 +257,13 @@ JLINK_ID 2 - 2 + 9 1 1 - - - + + + + + + + + + + + + + + + - MACRAIGOR_ID + LMIFTDI_ID 2 1 1 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + @@ -422,23 +566,23 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 @@ -446,7 +590,23 @@ 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 @@ -461,7 +621,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -610,6 +790,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -649,21 +866,13 @@ JLINK_ID 2 - 2 + 9 1 1 - - - + + + + + + + + + + + + + + + - MACRAIGOR_ID + LMIFTDI_ID 2 1 1 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + @@ -871,23 +1175,23 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 @@ -895,7 +1199,23 @@ 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 diff --git a/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewp b/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewp index 63e626910..0b69546f9 100644 --- a/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewp +++ b/Demo/ARM7_AT91SAM7S64_IAR/rtosdemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 13 + 19 1 1 - - - - - - - - - - - - - - + + + + + + @@ -353,7 +316,7 @@ AARM 2 - 6 + 7 1 1 - - - + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -553,275 +534,234 @@ - XLINK - 2 + ILINK + 0 - 17 + 5 1 1 - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -840,15 +780,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 13 + 19 1 1 - - - - - - - - - - - - - - + + + + + + @@ -1183,7 +1086,7 @@ AARM 2 - 6 + 7 1 1 - - - + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -1382,275 +1303,234 @@ - XLINK - 2 + ILINK + 0 - 17 + 5 1 1 - - - - - - - - - - + - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -1727,7 +1607,7 @@ System Files - $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\SrcIAR\Cstartup.s $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c diff --git a/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dbgdt b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dbgdt index cfa227533..0df6a20f1 100644 --- a/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dbgdt +++ b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dbgdt @@ -8,7 +8,7 @@ - 1912727 + 204272727 @@ -42,20 +42,20 @@ - 0 + 0TabID-18517-20319Debug LogDebug-Log0 - TextEditorE:\Dev\FreeRTOS\source\portable\iar\AtmelSAM7S64\lib_AT91SAM7S64.h06152480624806TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\USB\USBSample.c02891049810498TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\main.c014164206420TextEditorE:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\port.c011754935493TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\serial\serial.c013255475547TextEditorE:\Dev\FreeRTOS\Source\portable\MemMang\heap_1.c08236503650TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Cstartup.s7902722262226TextEditorE:\Dev\FreeRTOS\Demo\Common\Minimal\integer.c07740244024TextEditorE:\Dev\FreeRTOS\Source\tasks.c08232928929289TextEditorE:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\portasm.s7900519519TextEditorE:\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\portmacro.h05700TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\FreeRTOSConfig.h02400TextEditorE:\Dev\FreeRTOS\Demo\Common\Minimal\semtest.c016678567856120100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\FreeRTOSConfig.h02517261726TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Cstartup.s7901915271527TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Cstartup.s052325032502TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\AtmelSAM7S64\port.c0217834583450100000010000001 - IarIdePM1DebuggerGui1-2-21072265-2-20000166875959785 + iaridepm.enu1debuggergui.enu1-2-2740278-2-20000166667755601-2-21981682-2-216842001002381203666119048203666 diff --git a/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dni b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dni index fc509a42a..78681fc3a 100644 --- a/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dni +++ b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.dni @@ -9,6 +9,20 @@ Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 [Low Level] Pipeline mode=1 Initialized=0 +[CodeCoverage] +Enabled=_ 0 +[Profiling] +Enabled=0 +[StackPlugin] +Enabled=1 +OverflowWarningsEnabled=1 +WarningThreshold=90 +SpWarningsEnabled=1 +WarnHow=0 +UseTrigger=1 +TriggerName=main +LimitSize=0 +ByteLimit=50 [Log file] LoggingEnabled=_ 0 LogFile=_ "" @@ -20,3 +34,6 @@ LogFile=_ "" mode=0 [Breakpoints] Count=0 +[TraceHelper] +Enabled=0 +ShowSource=1 diff --git a/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.wsdt b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.wsdt index 2910d9720..ca9ef47b3 100644 --- a/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.wsdt +++ b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo.wsdt @@ -3,7 +3,7 @@ - rtosdemo/Flash Debug + rtosdemo/Flash Bin @@ -11,7 +11,7 @@ - 221272727 + 236272727 18115530877 @@ -28,7 +28,7 @@ - + TabID-17425-14382 @@ -36,11 +36,11 @@ Workspace - rtosdemortosdemo/Demo Sourcertosdemo/Scheduler Sourcertosdemo/System Files + rtosdemo - 0 + 0 TabID-4084-16269 @@ -56,20 +56,20 @@ - 0 + 0 - TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\FreeRTOSConfig.h01800TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Board.h00952969TextEditorE:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\SrcIAR\Cstartup.s7901426503651720100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\main.c000000100000010000001 - iaridepm1-2-2659295-2-230301875026809185625590705-2-24131602-2-2160441510025003708661875026809 + iaridepm.enu1-2-2576310-2-232261904826477185714588595-2-23621682-2-2168436410023813706721904826477 diff --git a/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo_lnk.par b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo_lnk.par new file mode 100644 index 000000000..dbc316aa7 --- /dev/null +++ b/Demo/ARM7_AT91SAM7S64_IAR/settings/rtosdemo_lnk.par @@ -0,0 +1,17 @@ +// IAR XLINK Setup +// Autogenerated file - do not edit +% +setrangelist($evec_ADR,[0-3F]); +setrangelist($internal_ROM,[8000-FFFFF]); +setrangelist($external_ROM,[]); +setrangelist($internal_RAM,[100000-7FFFFF]); +setrangelist($external_RAM,[]); +$CSTACK_SIZE=200; +$IRQSTACK_SIZE=100; +$HEAP_SIZE=4; +$COMMANDS=""; +$STACK_LOCATION="Internal RAM"; +$IRQSTACK_LOCATION="Internal RAM"; +$HEAP_LOCATION="Internal RAM"; +$iar_saved_xclfilename="E:\Dev\FreeRTOS\Demo\ARM7_AT91SAM7S64_IAR\resource\at91SAM7S64_NoRemap.xcl"; +% \ No newline at end of file diff --git a/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h b/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h index 778a2060b..0466957ea 100644 --- a/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h +++ b/Demo/ARM7_LPC2129_IAR/FreeRTOSConfig.h @@ -38,7 +38,7 @@ #define FREERTOS_CONFIG_H /* Hardware specifics. */ -#include +#include /*----------------------------------------------------------- * Application specific definitions. diff --git a/Demo/ARM7_LPC2129_IAR/SrcIAR/lpc2xxx_cstartup.s b/Demo/ARM7_LPC2129_IAR/SrcIAR/lpc2xxx_cstartup.s new file mode 100644 index 000000000..062d7dbf2 --- /dev/null +++ b/Demo/ARM7_LPC2129_IAR/SrcIAR/lpc2xxx_cstartup.s @@ -0,0 +1,189 @@ +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; Part one of the system initialization code, +;; contains low-level +;; initialization. +;; +;; Copyright 2006 IAR Systems. All rights reserved. +;; +;; $Revision: 10608 $ +;; + + MODULE ?cstartup + + ;; Forward declaration of sections. + SECTION IRQ_STACK:DATA:NOROOT(3) + SECTION ABT_STACK:DATA:NOROOT(3) + SECTION SVC_STACK:DATA:NOROOT(3) + SECTION UND_STACK:DATA:NOROOT(3) + SECTION FIQ_STACK:DATA:NOROOT(3) + SECTION CSTACK:DATA:NOROOT(3) + +; +; The module in this file are included in the libraries, and may be +; replaced by any user-defined modules that define the PUBLIC symbol +; __iar_program_start or a user defined start symbol. +; +; To override the cstartup defined in the library, simply add your +; modified version to the workbench project. + + SECTION .intvec:CODE:NOROOT(2) + + PUBLIC __vector + PUBLIC __vector_0x14 + PUBLIC __iar_program_start + EXTERN vPortYieldProcessor + + ARM +__vector: + ;; + ldr pc,[pc,#+24] ;; Reset + ldr pc,[pc,#+24] ;; Undefined instructions +;; ldr pc,[pc,#+24] ;; Software interrupt (SWI/SVC) + b vPortYieldProcessor + ldr pc,[pc,#+24] ;; Prefetch abort + ldr pc,[pc,#+24] ;; Data abort +__vector_0x14 + DC32 0 ;; RESERVED + ldr pc, [PC, #-0xFF0] ;; IRQ + ldr pc,[pc,#+24] ;; FIQ + + DC32 __iar_program_start ;; Reset + DC32 undef_handler ;; Undefined instructions + DC32 0 ;; Software interrupt (SWI/SVC) + DC32 prefetch_handler ;; Prefetch abort + DC32 data_handler ;; Data abort + DC32 0 ;; RESERVED + DC32 0 ;; IRQ + DC32 fiq_handler ;; FIQ + +undef_handler + b undef_handler + +prefetch_handler + b prefetch_handler + +data_handler + b data_handler + +fiq_handler + b fiq_handler +; -------------------------------------------------- +; ?cstartup -- low-level system initialization code. +; +; After a reser execution starts here, the mode is ARM, supervisor +; with interrupts disabled. +; + + + + SECTION .text:CODE:NOROOT(2) + +; PUBLIC ?cstartup + EXTERN ?main + REQUIRE __vector + + ARM + +__iar_program_start: +?cstartup: + +; +; Add initialization needed before setup of stackpointers here. +; + +; Errata MAM.1Incorrect read of data from SRAM after Reset and MAM +; is not enabled or partially enabled. +; Work-around: User code should enable the MAM after Reset and before +; any RAM accesses +MAMCR DEFINE 0xE01FC000 ; MAM Control Register +MAMTIM DEFINE 0xE01FC004 ; MAM Timing register + + ldr r0,=MAMCR + ldr r1,=MAMTIM + ldr r2,=0 + str r2,[r0] + ldr r2,=3 ; 1 < 20 MHz; 20 MHz < 2 < 40 MHz; 40MHz > 3 + str r2,[r1] + ldr r2,=2 + str r2,[r0] + +; Initialize the stack pointers. +; The pattern below can be used for any of the exception stacks: +; FIQ, IRQ, SVC, ABT, UND, SYS. +; The USR mode uses the same stack as SYS. +; The stack segments must be defined in the linker command file, +; and be declared above. +; +; -------------------- +; Mode, correspords to bits 0-5 in CPSR +MODE_BITS DEFINE 0x1F ; Bit mask for mode bits in CPSR +USR_MODE DEFINE 0x10 ; User mode +FIQ_MODE DEFINE 0x11 ; Fast Interrupt Request mode +IRQ_MODE DEFINE 0x12 ; Interrupt Request mode +SVC_MODE DEFINE 0x13 ; Supervisor mode +ABT_MODE DEFINE 0x17 ; Abort mode +UND_MODE DEFINE 0x1B ; Undefined Instruction mode +SYS_MODE DEFINE 0x1F ; System mode + + MRS r0, cpsr ; Original PSR value + + BIC r0, r0, #MODE_BITS ; Clear the mode bits + ORR r0, r0, #ABT_MODE ; Set ABT mode bits + MSR cpsr_c, r0 ; Change the mode + LDR sp, =SFE(ABT_STACK) ; End of ABT_STACK + + BIC r0, r0, #MODE_BITS ; Clear the mode bits + ORR r0, r0, #SVC_MODE ; Set SVC mode bits + MSR cpsr_c, r0 ; Change the mode + LDR sp, =SFE(SVC_STACK) ; End of SVC_STACK + + BIC r0, r0, #MODE_BITS ; Clear the mode bits + ORR r0, r0, #UND_MODE ; Set UND mode bits + MSR cpsr_c, r0 ; Change the mode + LDR sp, =SFE(UND_STACK) ; End of UND_STACK + + BIC r0, r0, #MODE_BITS ; Clear the mode bits + ORR r0, r0, #FIQ_MODE ; Set FIQ mode bits + MSR cpsr_c, r0 ; Change the mode + LDR sp, =SFE(FIQ_STACK) ; End of FIQ_STACK + + BIC r0, r0, #MODE_BITS ; Clear the mode bits + ORR r0, r0, #IRQ_MODE ; Set IRQ mode bits + MSR cpsr_c, r0 ; Change the mode + LDR sp, =SFE(IRQ_STACK) ; End of IRQ_STACK + + BIC r0 ,r0, #MODE_BITS ; Clear the mode bits + ORR r0 ,r0, #SYS_MODE ; Set System mode bits + MSR cpsr_c, r0 ; Change the mode + LDR sp, =SFE(CSTACK) ; End of CSTACK + +#ifdef __ARMVFP__ + ;; Enable the VFP coprocessor. + + MOV r0, #0x40000000 ; Set EN bit in VFP + FMXR fpexc, r0 ; FPEXC, clear others. + +; +; Disable underflow exceptions by setting flush to zero mode. +; For full IEEE 754 underflow compliance this code should be removed +; and the appropriate exception handler installed. +; + + MOV r0, #0x01000000 ; Set FZ bit in VFP + FMXR fpscr, r0 ; FPSCR, clear others. +#endif + +; +; Add more initialization here +; + BIC r0, r0, #MODE_BITS ; Clear the mode bits + ORR r0, r0, #SVC_MODE ; Set SVC mode bits + MSR cpsr_c, r0 ; Change the mode + +; Continue to ?main for C-level initialization. + + LDR r0, =?main + BX r0 + + END diff --git a/Demo/ARM7_LPC2129_IAR/main.c b/Demo/ARM7_LPC2129_IAR/main.c index a98655298..91821648e 100644 --- a/Demo/ARM7_LPC2129_IAR/main.c +++ b/Demo/ARM7_LPC2129_IAR/main.c @@ -35,9 +35,9 @@ */ -/* +/* NOTE : Tasks run in system mode and the scheduler runs in Supervisor mode. - The processor MUST be in supervisor mode when vTaskStartScheduler is + The processor MUST be in supervisor mode when vTaskStartScheduler is called. The demo applications included in the FreeRTOS.org download switch to supervisor mode prior to main being called. If you are not using one of these demo application projects then ensure Supervisor mode is used. @@ -159,9 +159,9 @@ void main( void ) xTaskCreate( vErrorChecks, "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL ); /* Start the scheduler. - + NOTE : Tasks run in system mode and the scheduler runs in Supervisor mode. - The processor MUST be in supervisor mode when vTaskStartScheduler is + The processor MUST be in supervisor mode when vTaskStartScheduler is called. The demo applications included in the FreeRTOS.org download switch to supervisor mode prior to main being called. If you are not using one of these demo application projects then ensure Supervisor mode is used here. diff --git a/Demo/ARM7_LPC2129_IAR/resource/lpc212x.icf b/Demo/ARM7_LPC2129_IAR/resource/lpc212x.icf new file mode 100644 index 000000000..4c0e3c8ed --- /dev/null +++ b/Demo/ARM7_LPC2129_IAR/resource/lpc212x.icf @@ -0,0 +1,47 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x00000044; +define symbol __ICFEDIT_region_ROM_end__ = 0x3FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x40000040; +define symbol __ICFEDIT_region_RAM_end__ = 0x40003FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x200; +define symbol __ICFEDIT_size_svcstack__ = 0x200; +define symbol __ICFEDIT_size_irqstack__ = 0x200; +define symbol __ICFEDIT_size_fiqstack__ = 0x00; +define symbol __ICFEDIT_size_undstack__ = 0x0; +define symbol __ICFEDIT_size_abtstack__ = 0x0; +define symbol __ICFEDIT_size_heap__ = 0x0; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; +define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; +define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; +define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; +define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK, + block UND_STACK, block ABT_STACK, block HEAP }; + + + + + diff --git a/Demo/ARM7_LPC2129_IAR/rtosdemo.ewd b/Demo/ARM7_LPC2129_IAR/rtosdemo.ewd index 41a42a723..e75220176 100644 --- a/Demo/ARM7_LPC2129_IAR/rtosdemo.ewd +++ b/Demo/ARM7_LPC2129_IAR/rtosdemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -161,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -200,21 +257,13 @@ JLINK_ID 2 - 2 + 9 1 1 - - - + + + + + + + + + + + + + + + - MACRAIGOR_ID + LMIFTDI_ID 2 1 1 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + @@ -422,35 +566,47 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Trace\Trace.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 @@ -465,7 +621,7 @@ C-SPY 2 - 13 + 15 1 0 + + ARMSIM_ID 2 - 0 + 1 1 0 + + + @@ -614,6 +790,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + IARROM_ID 2 @@ -653,21 +866,13 @@ JLINK_ID 2 - 2 + 9 1 0 - - - + + + + + + + + + + + + + + + - MACRAIGOR_ID + LMIFTDI_ID 2 1 1 0 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 0 + + + @@ -875,37 +1175,49 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Trace\Trace.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin 0 + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + diff --git a/Demo/ARM7_LPC2129_IAR/rtosdemo.ewp b/Demo/ARM7_LPC2129_IAR/rtosdemo.ewp index 9d363c963..88b0f2936 100644 --- a/Demo/ARM7_LPC2129_IAR/rtosdemo.ewp +++ b/Demo/ARM7_LPC2129_IAR/rtosdemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 13 + 19 1 1 - - - - - - - - - - - - - - + + + + + + AARM 2 - 6 + 7 1 1 - - - + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -554,275 +535,234 @@ - XLINK - 2 + ILINK + 0 - 17 + 5 1 1 - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -841,15 +781,11 @@ 0 General - 2 + 3 - 9 + 14 1 0 - - - - + + + ICCARM 2 - 13 + 19 1 0 - - - - - - - - - - - - - - + + + + + + AARM 2 - 6 + 7 1 0 - - - + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + CUSTOM 3 @@ -1385,275 +1306,234 @@ - XLINK - 2 + ILINK + 0 - 17 + 5 1 0 - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 0 @@ -1724,7 +1604,7 @@ System Files - $PROJ_DIR$\SrcIAR\cstartup.s79 + $PROJ_DIR$\SrcIAR\lpc2xxx_cstartup.s diff --git a/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dbgdt b/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dbgdt index cee08cd82..74c9f8d5a 100644 --- a/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dbgdt +++ b/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dbgdt @@ -8,13 +8,13 @@ - 138272727 + 181272727 - 200100 + 200010 300Build 300Debug-Log @@ -48,14 +48,14 @@ - TextEditorE:\Dev\FreeRTOS\Source\list.c015964866613TextEditorE:\Dev\FreeRTOS\Source\include\list.h0000TextEditorE:\Dev\FreeRTOS\Source\tasks.c017269426959TextEditorE:\Dev\FreeRTOS\Source\include\task.h05022822291TextEditorE:\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\serial\serialISR.s790000TextEditorE:\Dev\FreeRTOS\Source\portable\IAR\LPC2000\ISR_Support.h0000TextEditorE:\Dev\FreeRTOS\Source\portable\IAR\LPC2000\portmacro.h05225222531TextEditorE:\Dev\FreeRTOS\Source\queue.c014875937593TextEditorE:\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\main.c016671727172TextEditorE:\Dev\FreeRTOS\Source\portable\MemMang\heap_1.c0752927293890100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\FreeRTOSConfig.h02517461746TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\LPC2000\portmacro.h02517151715TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\LPC2000\port.c019782008200TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\SrcIAR\lpc2xxx_cstartup.s085286628663TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\main.c014360366036TextEditorC:\E\Dev\FreeRTOS\Source\tasks.c014064481144811TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\LPC2000\portasm.s7902916891689TextEditorC:\E\Dev\FreeRTOS\Demo\Common\Minimal\flash.c011743784392TextEditorC:\E\Dev\FreeRTOS\Source\queue.c08693220732207TextEditorC:\E\Dev\FreeRTOS\Demo\Common\Minimal\integer.c011354545454TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\serial\serialISR.s7900307307TextEditorC:\E\Dev\FreeRTOS\Demo\Common\Minimal\comtest.c013868046804TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\serial\serial.c0131549754970100000010000001 - iaridepm1debuggergui1-2-2739212-2-20000133750662198-2-23331602-2-21604335100250029937492500132260 + iaridepm.enu1debuggergui.enu1-2-2646255-2-20000183571659878-2-22921402-2-21404294100285729938992857132383 diff --git a/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dni b/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dni index b3fefed21..e14d72694 100644 --- a/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dni +++ b/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.dni @@ -9,6 +9,27 @@ Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 [Low Level] Pipeline mode=1 Initialized=0 +[Interrupts] +Enabled=1 +[MemoryMap] +Enabled=0 +TypeVolition=1 +UnspecRange=1 +ActionState=1 +[CodeCoverage] +Enabled=_ 0 +[Profiling] +Enabled=0 +[StackPlugin] +Enabled=1 +OverflowWarningsEnabled=1 +WarningThreshold=90 +SpWarningsEnabled=1 +WarnHow=0 +UseTrigger=1 +TriggerName=main +LimitSize=0 +ByteLimit=50 [Log file] LoggingEnabled=_ 0 LogFile=_ "" @@ -19,15 +40,7 @@ LogFile=_ "" [Disassemble mode] mode=0 [Breakpoints] -Bp0=_ "Code" "{E:\Dev\FreeRTOS\Source\queue.c}.179.3@1" 1 0 0 0 "" 0 "" -Count=1 -[Interrupts] -Enabled=1 -[MemoryMap] -Enabled=0 -TypeVolition=1 -UnspecRange=1 -ActionState=1 +Count=0 [TraceHelper] Enabled=0 ShowSource=1 diff --git a/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.wsdt b/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.wsdt index 90d8027fe..b686eb5c1 100644 --- a/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.wsdt +++ b/Demo/ARM7_LPC2129_IAR/settings/rtosdemo.wsdt @@ -11,7 +11,7 @@ - 229272727 + 191272727 18115530877 @@ -28,7 +28,7 @@ - + TabID-17425-14382 @@ -36,24 +36,24 @@ Workspace - rtosdemortosdemo/Scheduler Sourcertosdemo/System Files + rtosdemortosdemo/Demo Sourcertosdemo/System Files - 0TabID-22109-27077BuildBuildTabID-12074-10873BreakpointsBreakpointsTabID-18349-15872Debug LogDebug-LogTabID-30013-18825Find in FilesFind-in-Files0 + 0TabID-22109-27077BuildBuildTabID-12074-10873BreakpointsBreakpointsTabID-18349-15872Debug LogDebug-LogTabID-30013-18825Find in FilesFind-in-Files0 - TextEditorE:\Dev\FreeRTOS\Source\list.c015964866613TextEditorE:\Dev\FreeRTOS\Source\include\list.h0000TextEditorE:\Dev\FreeRTOS\Source\tasks.c017269426959TextEditorE:\Dev\FreeRTOS\Source\include\task.h05022822291TextEditorE:\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\serial\serialISR.s790000TextEditorE:\Dev\FreeRTOS\Source\portable\IAR\LPC2000\ISR_Support.h0000TextEditorE:\Dev\FreeRTOS\Source\portable\IAR\LPC2000\portmacro.h05225222531TextEditorE:\Dev\FreeRTOS\Source\queue.c014875937593TextEditorE:\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\main.c016671727172TextEditorE:\Dev\FreeRTOS\Source\portable\MemMang\heap_1.c0752927293890100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_LPC2129_IAR\main.c01436036603600100000010000001 - iaridepm1-2-2944303-2-20000190625845397-2-21281602-2-2160413010025001161755500078641 + iaridepm.enu1-2-2605265-2-20000190714618126-2-23331402-2-2140433510028573411415500078411 diff --git a/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h b/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h index 43e2e4144..ac4a01586 100644 --- a/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h +++ b/Demo/ARM7_LPC2138_Rowley/FreeRTOSConfig.h @@ -72,7 +72,8 @@ the CPU frequency. */ #define configUSE_TRACE_FACILITY 1 #define configUSE_16_BIT_TICKS 0 #define configIDLE_SHOULD_YIELD 1 -#define configUSE_MUTEXES 0 +#define configUSE_MUTEXES 1 +#define configUSE_RECURSIVE_MUTEXES 1 /* Co-routine definitions. */ #define configUSE_CO_ROUTINES 0 diff --git a/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzp b/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzp index 92c2bdc0f..175dd09b1 100644 --- a/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzp +++ b/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzp @@ -1,55 +1,56 @@ - - - - - - - - - - + + + + + + + + + + - - - - - + + + + + - + - - - - - - - - - - + + + + + + + + + + - + + - - - - - + + + + + - - + + - - diff --git a/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzs b/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzs index 0d0ff0a1d..1ac46d239 100644 --- a/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzs +++ b/Demo/ARM7_LPC2138_Rowley/RTOSDemo.hzs @@ -5,22 +5,21 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -35,28 +34,38 @@ + + + + + + + + + + - + - + - + - + - + @@ -67,8 +76,26 @@ - + + + + + - - + + + + + + + + + + + + + + + + diff --git a/Demo/ARM7_LPC2138_Rowley/main.c b/Demo/ARM7_LPC2138_Rowley/main.c index 4770321ed..4dae2144c 100644 --- a/Demo/ARM7_LPC2138_Rowley/main.c +++ b/Demo/ARM7_LPC2138_Rowley/main.c @@ -81,6 +81,7 @@ #include "integer.h" #include "PollQ.h" #include "blocktim.h" +#include "recmutex.h" /* Hardware configuration definitions. */ #define mainBUS_CLK_FULL ( ( unsigned portCHAR ) 0x01 ) @@ -171,6 +172,7 @@ int main( void ) vStartDynamicPriorityTasks(); vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY ); vCreateBlockTimeTasks(); + vStartRecursiveMutexTasks(); /* Start the tasks defined within this file. */ xTaskCreate( vLEDTask, "LED", configMINIMAL_STACK_SIZE, NULL, mainLED_TASK_PRIORITY, NULL ); @@ -259,6 +261,11 @@ const portCHAR * const pcFailMessage = "FAIL\n"; xErrorOccurred = pdTRUE; } + if( xAreRecursiveMutexTasksStillRunning() != pdTRUE ) + { + xErrorOccurred = pdTRUE; + } + /* Send either a pass or fail message. If an error is found it is never cleared again. */ if( xErrorOccurred == pdTRUE ) diff --git a/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/FreeRTOSConfig.h b/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/FreeRTOSConfig.h index c5c41912f..b620c45bc 100644 --- a/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/FreeRTOSConfig.h +++ b/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/FreeRTOSConfig.h @@ -48,7 +48,7 @@ #define configUSE_PREEMPTION 1 #define configUSE_IDLE_HOOK 0 #define configUSE_TICK_HOOK 1 -#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 57600000 ) /* =12Mhz xtal multiplied by 5 using the PLL. */ +#define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 48000000 ) /* =12Mhz xtal multiplied by 5 using the PLL. */ #define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 ) #define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 104 ) diff --git a/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/main.c b/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/main.c index 16c6ec263..f81a99dc2 100644 --- a/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/main.c +++ b/Demo/ARM7_LPC2368_Eclipse/RTOSDemo/main.c @@ -90,7 +90,7 @@ /* Constants to setup the PLL. */ #define mainPLL_MUL ( ( unsigned portLONG ) ( 12 - 1 ) ) #define mainPLL_DIV ( ( unsigned portLONG ) 0x0000 ) -#define mainCPU_CLK_DIV ( ( unsigned portLONG ) 0x0004 ) +#define mainCPU_CLK_DIV ( ( unsigned portLONG ) 0x0003 ) #define mainPLL_ENABLE ( ( unsigned portLONG ) 0x0001 ) #define mainPLL_CONNECT ( ( ( unsigned portLONG ) 0x0002 ) | mainPLL_ENABLE ) #define mainPLL_FEED_BYTE1 ( ( unsigned portLONG ) 0xaa ) @@ -266,12 +266,18 @@ static void prvSetupHardware( void ) PLLFEED = mainPLL_FEED_BYTE2; while( !( PLLSTAT & mainPLL_CONNECTED ) ); - /* Setup and turn on the MAM. Three cycle access is used due to the fast + /* + This code is commented out as the MAM does not work on the original revision + LPC2368 chips. If using Rev B chips then you can increase the speed though + the use of the MAM. + + Setup and turn on the MAM. Three cycle access is used due to the fast PLL used. It is possible faster overall performance could be obtained by - tuning the MAM and PLL settings. */ + tuning the MAM and PLL settings. MAMCR = 0; MAMTIM = mainMAM_TIM_3; MAMCR = mainMAM_MODE_FULL; + */ /* Setup the led's on the MCB2300 board */ vParTestInitialise(); diff --git a/Demo/ARM7_STR71x_IAR/71x_init.s b/Demo/ARM7_STR71x_IAR/71x_init.s new file mode 100644 index 000000000..b53e1e52b --- /dev/null +++ b/Demo/ARM7_STR71x_IAR/71x_init.s @@ -0,0 +1,297 @@ +;******************** (C) COPYRIGHT 2003 STMicroelectronics ******************** +;* File Name : 71x_init.s +;* Author : MCD Application Team +;* Date First Issued : 06/23/2004 +;* Description : This is the first code executed after RESET. +;* This code used to initialize system stacks +;* and critical peripherals before entering the C code. +;******************************************************************************* +;* History: +;* 13/01/2006 : V3.1 +;* 24/05/2005 : V3.0 +;* 30/11/2004 : V2.0 +;* 14/07/2004 : V1.3 +;* 01/01/2004 : V1.2 +;******************************************************************************* +; THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH +; CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. +; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT +; OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +; OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION +; CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +;*******************************************************************************/ + + +; --- Standard definitions of mode bits and interrupt (I & F) flags in PSRs + +Mode_USR EQU 0x10 +Mode_FIQ EQU 0x11 +Mode_IRQ EQU 0x12 +Mode_SVC EQU 0x13 +Mode_ABT EQU 0x17 +Mode_UNDEF EQU 0x1B +Mode_SYS EQU 0x1F ; available on ARM Arch 4 and later + +I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled +F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled + + + +EIC_Base_addr EQU 0xFFFFF800; EIC base address +ICR_off_addr EQU 0x00 ; Interrupt Control register offset +CIPR_off_addr EQU 0x08 ; Current Interrupt Priority Register offset +IVR_off_addr EQU 0x18 ; Interrupt Vector Register offset +FIR_off_addr EQU 0x1C ; Fast Interrupt Register offset +IER_off_addr EQU 0x20 ; Interrupt Enable Register offset +IPR_off_addr EQU 0x40 ; Interrupt Pending Bit Register offset +SIR0_off_addr EQU 0x60 ; Source Interrupt Register 0 + +EMI_Base_addr EQU 0x6C000000; EMI base address +BCON0_off_addr EQU 0x00 ; Bank 0 configuration register offset +BCON1_off_addr EQU 0x04 ; Bank 1 configuration register offset +BCON2_off_addr EQU 0x08 ; Bank 2 configuration register offset +BCON3_off_addr EQU 0x0C ; Bank 3 configuration register offset + +EMI_ENABLE EQU 0x8000 +EMI_SIZE_16 EQU 0x0001 + +GPIO2_Base_addr EQU 0xE0005000; GPIO2 base address +PC0_off_addr EQU 0x00 ; Port Configuration Register 0 offset +PC1_off_addr EQU 0x04 ; Port Configuration Register 1 offset +PC2_off_addr EQU 0x08 ; Port Configuration Register 2 offset +PD_off_addr EQU 0x0C ; Port Data Register offset + +CPM_Base_addr EQU 0xA0000040; CPM Base Address +BOOTCR_off_addr EQU 0x10 ; CPM - Boot Configuration Register +FLASH_mask EQU 0x0000 ; to remap FLASH at 0x0 +RAM_mask EQU 0x0002 ; to remap RAM at 0x0 + +;|----------------------------------------------------------------------------------| +;| - APB Bridge (System Peripheral) | +;|----------------------------------------------------------------------------------| +APB1_base_addr EQU 0xC0000000 ; APB Bridge1 Base Address +APB2_base_addr EQU 0xE0000000 ; APB Bridge2 Base Address +CKDIS_off_addr EQU 0x10 ; APB Bridge1 - Clock Disable Register +SWRES_off_addr EQU 0x14 ; APB Bridge1 - Software Reset Register +CKDIS1_config_all EQU 0x27FB ; To enable/disable clock of all APB1's peripherals +SWRES1_config_all EQU 0x27FB ; To reset all APB1's peripherals +CKDIS2_config_all EQU 0x7FDD ; To enable/disable clock of all APB2's peripherals +SWRES2_config_all EQU 0x7FDD ; To reset all APB2's peripherals + + + +;--------------------------------------------------------------- +; ?program_start +;--------------------------------------------------------------- + MODULE ?program_start + SECTION IRQ_STACK:DATA:NOROOT(3) + SECTION FIQ_STACK:DATA:NOROOT(3) + SECTION UND_STACK:DATA:NOROOT(3) + SECTION ABT_STACK:DATA:NOROOT(3) + SECTION SVC_STACK:DATA:NOROOT(3) + SECTION CSTACK:DATA:NOROOT(3) + SECTION .text:CODE(2) + PUBLIC __iar_program_start + EXTERN ?main + EXTERN ?main + CODE32 + + +;******************************************************************************* +;******* -- MACROS -- ******* +;******************************************************************************* +;******************************************************************************* +;* Macro Name : EMI_INIT +;* Description : This macro Initialize EMI bank 1: 16-bit 7 wait state +;* Input : None. +;* Output : None. +;******************************************************************************* +EMI_INIT MACRO + LDR r0, =GPIO2_Base_addr ; Configure P2.0 -> 3 in AF_PP mode + LDR r2, [r0, #PC0_off_addr] + ORR r2, r2,#0x0000000F + STR r2, [r0, #PC0_off_addr] + LDR r2, [r0, #PC1_off_addr] + ORR r2, r2,#0x0000000F + STR r2, [r0, #PC1_off_addr] + LDR r2, [r0, #PC2_off_addr] + ORR r2, r2,#0x0000000F + STR r2, [r0, #PC2_off_addr] + LDR r0, =EMI_Base_addr + LDR r1, =0x18|EMI_ENABLE|EMI_SIZE_16 + STR r1, [r0, #BCON1_off_addr] ; Enable bank 1 16-bit 7 wait state + ENDM +;******************************************************************************* +;* Macro Name : EIC_INIT +;* Description : This macro Initialize the EIC as following : +; - IRQ disabled +; - FIQ disabled +; - IVR contain the load PC opcode (0xE59FFXXX) +; - Current priority level equal to 0 +; - All channels are disabled +; - All channels priority equal to 0 +; - All SIR registers contain offset to the related IRQ +; table entry +;* Input : None. +;* Output : None. +;******************************************************************************* +EIC_INIT MACRO + + LDR r3, =EIC_Base_addr + LDR r4, =0xE59F0000 + STR r4, [r3, #IVR_off_addr]; Write the LDR pc,[pc,#offset] + ; instruction code in IVR[31:16] + LDR r2, =32 ; 32 Channel to initialize + LDR r0, =T0TIMI_Addr ; Read the address of the IRQs + ; address table + LDR r1, =0x00000FFF + AND r0,r0,r1 + LDR r5, =SIR0_off_addr ; Read SIR0 address + SUB r4,r0,#8 ; subtract 8 for prefetch + LDR r1, =0xF7E8 ; Add the offset from IVR to 0x00000000 + ; address(IVR address + 7E8 = 0x00000000) + ; 0xF7E8 used to complete the + ; LDR pc,[pc,#offset] opcode (0xE59FFXXX) + ADD r1,r4,r1 ; Compute the jump offset from IVR to the + ; IRQ table entry. +EIC_INI MOV r4, r1, LSL #16 ; Left shift the result + STR r4, [r3, r5] ; Store the result in SIRx register + ADD r1, r1, #4 ; Next IRQ address + ADD r5, r5, #4 ; Next SIR + SUBS r2, r2, #1 ; Decrement the number of SIR registers + ; to initialize + BNE EIC_INI ; If more then continue + ENDM +;******************************************************************************* +;* Macro Name : PERIPHERAL_INIT +;* Description : This macro reset all device peripherals. +;* Input : None. +;* Output : None. +;******************************************************************************* +PERIPHERAL_INIT MACRO + + LDR r1, =APB1_base_addr ; r0= APB1 base address + LDR r2, =APB2_base_addr ; r0= APB2 base address + LDR r0, =CKDIS1_config_all + STRH r0, [r1, #CKDIS_off_addr]; Clock Disabling for all APB1 peripherals + LDR r0, =CKDIS2_config_all + STRH r0, [r2, #CKDIS_off_addr]; Clock Disabling for all APB2 peripherals + LDR r0, =SWRES1_config_all + STRH r0, [r1, #SWRES_off_addr]; Keep all APB1 peripherals under reset + LDR r0, =SWRES2_config_all + STRH r0, [r2, #SWRES_off_addr]; Keep all APB2 peripherals under reset + MOV r7, #10 ; Wait that the selected macrocells exit from reset +loop1 SUBS r7, r7, #1 + BNE loop1 + MOV r0, #0 + STRH r0, [r1, #SWRES_off_addr]; Enable all all APB1 peripherals + STRH r0, [r2, #SWRES_off_addr]; Enable all all APB2 peripherals + STRH r0, [r1, #CKDIS_off_addr]; Clock Enabling for all APB1 peripherals + STRH r0, [r2, #CKDIS_off_addr]; Clock Enabling for all APB2 peripherals + MOV r7, #10 ; Wait that the selected macrocells exit from reset +loop2 SUBS r7, r7, #1 + BNE loop2 + ENDM +;******************************************************************************************** + +; define remapping +; If you need to remap memory before entring the main program +; uncomment next ligne +; #define remapping + +; Then define which memory to remap to address 0x00000000 +; Uncomment next line if you want to remap RAM +; #define remap_ram + +; Uncomment next line if you want to remap FLASH +; #define remap_flash + + + IMPORT T0TIMI_Addr +__iar_program_start + LDR pc, =NextInst +NextInst + NOP ; Wait for OSC stabilization + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + + MSR CPSR_c, #Mode_ABT|F_Bit|I_Bit + ldr sp,=SFE(ABT_STACK) ; End of ABT_STACK + + MSR CPSR_c, #Mode_UNDEF|F_Bit|I_Bit + ldr sp,=SFE(UND_STACK) ; End of UNDEF_STACK + + MSR CPSR_c, #Mode_SVC|F_Bit|I_Bit + ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK + + + +; Uncomment next ligne if you need to reset all device pripherals + ; PERIPHERAL_INIT ; Reset all device peripherals + +; Uncomment next ligne if you need to enable the EMI Bank 1 + ; EMI_INIT ; Initialize EIM Bank 1 + +;Uncomment next ligne if you need to initialize the EIC + EIC_INIT ; Initialize EIC + +;****************************************************************************** +;REMAPPING +;Description : Remapping memory whether RAM,FLASH +; at Address 0x0 after the application has started executing. +; Remapping is generally done to allow RAM to replace FLASH +; at 0x0. +; the remapping of RAM allow copying of vector table into RAM +; To enable the memory remapping uncomment: (see above) +; #define remapping to enable memory remapping +; AND +; #define remap_ram to remap RAM +; OR +; #define remap_flash to remap FLASH +;****************************************************************************** +#ifdef remapping + #ifdef remap_flash + MOV r0, #FLASH_mask + #endif + #ifdef remap_ram + MOV r0, #RAM_mask + #endif + + LDR r1, =CPM_Base_addr + LDRH r2, [r1, #BOOTCR_off_addr]; Read BOOTCR Register + BIC r2, r2, #0x03 ; Reset the two LSB bits of BOOTCR + ORR r2, r2, r0 ; change the two LSB bits of BOOTCR + STRH r2, [r1, #BOOTCR_off_addr]; Write BOOTCR Register +#endif + + MSR CPSR_c, #Mode_FIQ|I_Bit; Change to FIQ mode + ldr sp,=SFE(FIQ_STACK) ; End of FIQ_STACK + + MSR CPSR_c, #Mode_IRQ|I_Bit; Change to IRQ mode + ldr sp,=SFE(IRQ_STACK) ; End of IRQ_STACK + + MSR CPSR_c, #Mode_SYS ; Change to system mode, Enable IRQ and FIQ + ldr sp,=SFE(CSTACK) ; End of CSTACK(user) + + + +; --- Now branches to a C lib function that copies RO data from their +; load region to their execute region, create the RW and ZI regions +; then jumps to user C main program. + + ; main() must be called from Supervisor mode + MSR CPSR_c, #Mode_SVC|F_Bit|I_Bit + + b ?main ; Note : use B not BL, because an application will + ; never return this way + + LTORG + + END +;******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE**** diff --git a/Demo/ARM7_STR71x_IAR/71x_vect.s b/Demo/ARM7_STR71x_IAR/71x_vect.s new file mode 100644 index 000000000..da2dd6ab8 --- /dev/null +++ b/Demo/ARM7_STR71x_IAR/71x_vect.s @@ -0,0 +1,253 @@ +#include "FreeRTOSConfig.h" +;******************** (C) COPYRIGHT 2003 STMicroelectronics ******************** +;* File Name : 71x_vect.s +;* Author : MCD Application Team +;* Date First Issued : 16/05/2003 +;* Description : This file used to initialize the exception and IRQ +;* vectors, and to enter/return to/from exceptions handlers. +;******************************************************************************* +;* History: +;* 13/01/2006 : V3.1 +;* 24/05/2005 : V3.0 +;* 30/11/2004 : V2.0 +;* 14/07/2004 : V1.3 +;* 01/01/2004 : V1.2 +;******************************************************************************* +; THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH +; CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. +; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT +; OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +; OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION +; CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +;*******************************************************************************/ + + MODULE ?RESET + SECTION .intvec:CODE(2) + CODE32 + +EIC_base_addr EQU 0xFFFFF800; EIC base address. +CICR_off_addr EQU 0x04 ; Current Interrupt Channel Register. +IVR_off_addr EQU 0x18 ; Interrupt Vector Register. +IPR_off_addr EQU 0x40 ; Interrupt Pending Register. + + +;******************************************************************************* +; Import the __iar_program_start address from 71x_init.s +;******************************************************************************* + + IMPORT __iar_program_start + +;******************************************************************************* +; Import exception handlers +;******************************************************************************* + + IMPORT Undefined_Handler + IMPORT Prefetch_Handler + IMPORT Abort_Handler + IMPORT FIQ_Handler + +;******************************************************************************* +; Import IRQ handlers from 71x_it.c +;******************************************************************************* + + IMPORT Default_Handler + IMPORT vPortYieldProcessor + IMPORT vSerialISREntry + IMPORT vPortPreemptiveTickISR + IMPORT vPortNonPreemptiveTick + +;******************************************************************************* +; Export Peripherals IRQ handlers table address +;******************************************************************************* + + EXPORT T0TIMI_Addr + +;******************************************************************************* +; Exception vectors +;******************************************************************************* +IVR_ADDR DEFINE 0xFFFFF818 + + LDR PC, Reset_Addr + LDR PC, Undefined_Addr + LDR PC, SWI_Addr + LDR PC, Prefetch_Addr + LDR PC, Abort_Addr + NOP ; Reserved vector + LDR PC, =IVR_ADDR + LDR PC, FIQ_Addr + +;******************************************************************************* +; Exception handlers address table +;******************************************************************************* + +Reset_Addr DCD __iar_program_start +Undefined_Addr DCD UndefinedHandler +SWI_Addr DCD vPortYieldProcessor +Prefetch_Addr DCD PrefetchAbortHandler +Abort_Addr DCD DataAbortHandler + DCD 0 ; Reserved vector +IRQ_Addr DCD 0 ; Direct vectors are used. See the STR75x demo for an alternative implementation +FIQ_Addr DCD FIQHandler + +;******************************************************************************* +; Peripherals IRQ handlers address table +;******************************************************************************* + +T0TIMI_Addr DCD Default_Handler +FLASH_Addr DCD Default_Handler +RCCU_Addr DCD Default_Handler +RTC_Addr DCD Default_Handler +#if configUSE_PREEMPTION == 0 +WDG_Addr DCD vPortNonPreemptiveTick ; Tick ISR if the cooperative scheduler is used. +#else +WDG_Addr DCD vPortPreemptiveTickISR ; Tick ISR if the preemptive scheduler is used. +#endif +XTI_Addr DCD Default_Handler +USBHP_Addr DCD Default_Handler +I2C0ITERR_Addr DCD Default_Handler +I2C1ITERR_ADDR DCD Default_Handler +UART0_Addr DCD vSerialISREntry +UART1_Addr DCD Default_Handler +UART2_ADDR DCD Default_Handler +UART3_ADDR DCD Default_Handler +BSPI0_ADDR DCD Default_Handler +BSPI1_Addr DCD Default_Handler +I2C0_Addr DCD Default_Handler +I2C1_Addr DCD Default_Handler +CAN_Addr DCD Default_Handler +ADC12_Addr DCD Default_Handler +T1TIMI_Addr DCD Default_Handler +T2TIMI_Addr DCD Default_Handler +T3TIMI_Addr DCD Default_Handler + DCD 0 ; reserved + DCD 0 ; reserved + DCD 0 ; reserved +HDLC_Addr DCD Default_Handler +USBLP_Addr DCD Default_Handler + DCD 0 ; reserved + DCD 0 ; reserved +T0TOI_Addr DCD Default_Handler +T0OC1_Addr DCD Default_Handler +T0OC2_Addr DCD Default_Handler + + +;******************************************************************************* +; Exception Handlers +;******************************************************************************* + +;******************************************************************************* +;* Macro Name : SaveContext +;* Description : This macro used to save the context before entering +; an exception handler. +;* Input : The range of registers to store. +;* Output : none +;******************************************************************************* + +SaveContext MACRO reg1,reg2 + + STMFD sp!,{reg1-reg2,lr} ; Save The workspace plus the current return + ; address lr_ mode into the stack. + MRS r1,spsr ; Save the spsr_mode into r1. + STMFD sp!,{r1} ; Save spsr. + ENDM + +;******************************************************************************* +;* Macro Name : RestoreContext +;* Description : This macro used to restore the context to return from +; an exception handler and continue the program execution. +;* Input : The range of registers to restore. +;* Output : none +;******************************************************************************* + +RestoreContext MACRO reg1,reg2 + + LDMFD sp!,{r1} ; Restore the saved spsr_mode into r1. + MSR spsr_cxsf,r1 ; Restore spsr_mode. + LDMFD sp!,{reg1-reg2,pc}^; Return to the instruction following... + ; ...the exception interrupt. + ENDM + +;******************************************************************************* +;* Function Name : UndefinedHandler +;* Description : This function called when undefined instruction +; exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* +UndefinedHandler + SaveContext r0,r12 ; Save the workspace plus the current + ; return address lr_ und and spsr_und. + ldr r0,=Undefined_Handler + ldr lr,=Undefined_Handler_end + bx r0 ; Branch to Undefined_Handler +Undefined_Handler_end: + RestoreContext r0,r12 ; Return to the instruction following... + ; ...the undefined instruction. + + +;******************************************************************************* +;* Function Name : PrefetchAbortHandler +;* Description : This function called when Prefetch Abort +; exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* + +PrefetchAbortHandler + SUB lr,lr,#4 ; Update the link register. + SaveContext r0,r12 ; Save the workspace plus the current + ; return address lr_abt and spsr_abt. + ldr r0,=Prefetch_Handler + ldr lr,=Prefetch_Handler_end + + bx r0 ; Branch to Prefetch_Handler. +Prefetch_Handler_end: + RestoreContext r0,r12 ; Return to the instruction following that... + ; ...has generated the prefetch abort exception. + +;******************************************************************************* +;* Function Name : DataAbortHandler +;* Description : This function is called when Data Abort +; exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* + +DataAbortHandler + SUB lr,lr,#8 ; Update the link register. + SaveContext r0,r12 ; Save the workspace plus the current + ; return address lr_ abt and spsr_abt. + ldr r0,=Abort_Handler + ldr lr,=Abort_Handler_end + + bx r0 ; Branch to Abort_Handler. +Abort_Handler_end: + RestoreContext r0,r12 ; Return to the instruction following that... + ; ...has generated the data abort exception. + +;******************************************************************************* +;* Function Name : FIQHandler +;* Description : This function is called when FIQ +; exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* + +FIQHandler + SUB lr,lr,#4 ; Update the link register. + SaveContext r0,r7 ; Save the workspace plus the current + ; return address lr_ fiq and spsr_fiq. + ldr r0,=FIQ_Handler + ldr lr,=FIQ_Handler_end + + bx r0 ; Branch to FIQ_Handler. +FIQ_Handler_end: + RestoreContext r0,r7 ; Restore the context and return to the... + ; ...program execution. + + + + LTORG + + END +;******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE**** \ No newline at end of file diff --git a/Demo/ARM7_STR71x_IAR/Library/71x_it.c b/Demo/ARM7_STR71x_IAR/Library/71x_it.c new file mode 100644 index 000000000..cc4b2b50a --- /dev/null +++ b/Demo/ARM7_STR71x_IAR/Library/71x_it.c @@ -0,0 +1,78 @@ +/******************** (C) COPYRIGHT 2003 STMicroelectronics ******************** +* File Name : 71x_it.c +* Author : MCD Application Team +* Date First Issued : 16/05/2003 +* Description : Main Interrupt Service Routines +******************************************************************************* +* History: +* 24/05/05 : V3.0 +* 30/11/04 : V2.0 +* 16/05/03 : Created +******************************************************************************* + THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH + CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. + AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT + OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT + OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION + CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +*******************************************************************************/ +#include "71x_it.h" + + + u32 counter=1; +/******************************************************************************* +* Function Name : Undefined_Handler +* Description : This function handles Undefined instruction exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void Undefined_Handler(void) +{ + for( ;; ); +} + +/******************************************************************************* +* Function Name : FIQ_Handler +* Description : This function handles FIQ exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void FIQ_Handler(void) +{ + for( ;; ); +} + +/******************************************************************************* +* Function Name : Prefetch_Handler +* Description : This function handles Prefetch Abort exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void Prefetch_Handler(void) +{ + for( ;; ); +} + +/******************************************************************************* +* Function Name : Abort_Handler +* Description : This function handles Data Abort exception. +* Input : None +* Output : None +* Return : None +*******************************************************************************/ +void Abort_Handler(void) +{ + for( ;; ); +} + +void Default_Handler( void ); +void Default_Handler( void ) +{ + for( ;; ); +} + + +/******************* (C) COPYRIGHT 2003 STMicroelectronics *****END OF FILE****/ diff --git a/Demo/ARM7_STR71x_IAR/RTOSDemo.ewd b/Demo/ARM7_STR71x_IAR/RTOSDemo.ewd index bf7182a47..55ff7b44e 100644 --- a/Demo/ARM7_STR71x_IAR/RTOSDemo.ewd +++ b/Demo/ARM7_STR71x_IAR/RTOSDemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 12 + 15 1 1 - - - - + @@ -129,13 +117,25 @@ ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -181,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -220,7 +257,7 @@ JLINK_ID 2 - 1 + 9 1 1 + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + @@ -273,7 +401,7 @@ MACRAIGOR_ID 2 - 1 + 2 1 1 + + + @@ -426,23 +566,23 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Trace\Trace.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 @@ -450,9 +590,25 @@ 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + @@ -465,7 +621,7 @@ C-SPY 2 - 12 + 15 1 0 - - - - + @@ -582,13 +726,25 @@ ARMSIM_ID 2 - 0 + 1 1 0 + + + @@ -634,6 +790,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + IARROM_ID 2 @@ -673,7 +866,7 @@ JLINK_ID 2 - 1 + 9 1 0 + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 0 + + @@ -726,7 +1010,7 @@ MACRAIGOR_ID 2 - 1 + 2 1 0 + + + @@ -879,23 +1175,23 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Trace\Trace.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 @@ -903,7 +1199,23 @@ 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 diff --git a/Demo/ARM7_STR71x_IAR/RTOSDemo.ewp b/Demo/ARM7_STR71x_IAR/RTOSDemo.ewp index b87cca4f9..4364c7b18 100644 --- a/Demo/ARM7_STR71x_IAR/RTOSDemo.ewp +++ b/Demo/ARM7_STR71x_IAR/RTOSDemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 8 + 14 1 1 - - - - - + + + + ICCARM 2 - 11 + 19 1 1 - - - - - - - - - + + + + + AARM 2 - 5 + 7 1 1 - + + + + OBJCOPY + 0 + + 1 + 1 + 1 + @@ -542,275 +529,234 @@ - XLINK - 2 + ILINK + 0 - 17 + 5 1 1 - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -829,15 +775,11 @@ 0 General - 2 + 3 - 8 + 14 1 0 - - - - - + + + + ICCARM 2 - 11 + 19 1 0 - - - - - - - - - + + + + + AARM 2 - 5 + 7 1 0 - + + + + OBJCOPY + 0 + + 1 + 1 + 0 + @@ -1362,275 +1295,234 @@ - XLINK - 2 + ILINK + 0 - 17 + 5 1 0 - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 0 @@ -1719,13 +1611,13 @@ System Files - $PROJ_DIR$\cstartup.s79 + $PROJ_DIR$\71x_init.s - $PROJ_DIR$\lnkarm.xcl + $PROJ_DIR$\Library\71x_it.c - $PROJ_DIR$\vect.s79 + $PROJ_DIR$\71x_vect.s diff --git a/Demo/ARM7_STR71x_IAR/STR71x_FLASH.icf b/Demo/ARM7_STR71x_IAR/STR71x_FLASH.icf new file mode 100644 index 000000000..82356bda1 --- /dev/null +++ b/Demo/ARM7_STR71x_IAR/STR71x_FLASH.icf @@ -0,0 +1,42 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x40000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x4000062C; +define symbol __ICFEDIT_region_ROM_end__ = 0x4003FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x2000FFFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x200; +define symbol __ICFEDIT_size_svcstack__ = 0x100; +define symbol __ICFEDIT_size_irqstack__ = 0x200; +define symbol __ICFEDIT_size_fiqstack__ = 0x10; +define symbol __ICFEDIT_size_undstack__ = 0x10; +define symbol __ICFEDIT_size_abtstack__ = 0x10; +define symbol __ICFEDIT_size_heap__ = 0x4; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; +define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; +define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; +define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; +define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK, + block UND_STACK, block ABT_STACK, block HEAP }; \ No newline at end of file diff --git a/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dbgdt b/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dbgdt index cd1e2ee2f..7e27d3f4d 100644 --- a/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dbgdt +++ b/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dbgdt @@ -9,7 +9,7 @@ - 129272727 + 273272727 @@ -21,7 +21,7 @@ - 100 + 010 @@ -33,7 +33,7 @@ - + TabID-24393-22702 @@ -45,7 +45,7 @@ - 0 + 0 TabID-13122-22708 @@ -61,20 +61,20 @@ TabID-19116-28152BreakpointsBreakpoints - 0TabID-10243-6871RegisterRegister0001CPSR0 + 0TabID-10802-25870DisassemblyDisassembly0 - 0100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR71x_IAR\main.c010449004900TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR71x_IAR\Library\71x_it.c0482578257810100000010000001 - iaridepm1debuggergui1-2-2853203-2-212512578125111706128124764075-2-2853447-2-2200200125000178731280625764075-2-22191602-2-21604221100250019749778125111706 + iaridepm.enu1debuggergui.enu1-2-2746347-2-210911077857112016249286761711-2-2746198-2-2200200142857203666142857761711-2-21921402-2-21404194100285719755677857112016 diff --git a/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dni b/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dni index e6db9e63b..3062e860f 100644 --- a/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dni +++ b/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.dni @@ -4,16 +4,25 @@ State 1=_ 1 [JLinkDriver] WatchVectorCatch=_ 0 WatchCond=_ 0 -Watch0=_ 0 "0x00000000" 0 "0x00000000" 0 "0x00000000" 0 "0x00000000" 0 0 0 0 -Watch1=_ 0 "0x00000000" 0 "0x00000000" 0 "0x00000000" 0 "0x00000000" 0 0 0 0 +Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 +Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 [Low Level] Pipeline mode=0 Initialized=0 -[Disassemble mode] -mode=0 -[Breakpoints] -Bp0=_ "Code" "{E:\Dev\FreeRTOS\Source\portable\IAR\STR71x\port.c}.240.4@1" 1 0 0 0 "" 0 "" -Count=1 +[CodeCoverage] +Enabled=_ 0 +[Profiling] +Enabled=0 +[StackPlugin] +Enabled=1 +OverflowWarningsEnabled=1 +WarningThreshold=90 +SpWarningsEnabled=1 +WarnHow=0 +UseTrigger=1 +TriggerName=main +LimitSize=0 +ByteLimit=50 [Log file] LoggingEnabled=_ 0 LogFile=_ "" @@ -21,3 +30,10 @@ Category=_ 0 [TermIOLog] LoggingEnabled=_ 0 LogFile=_ "" +[Disassemble mode] +mode=0 +[Breakpoints] +Count=0 +[TraceHelper] +Enabled=0 +ShowSource=1 diff --git a/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.wsdt b/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.wsdt index 5acc21f72..f34de69b6 100644 --- a/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.wsdt +++ b/Demo/ARM7_STR71x_IAR/settings/RTOSDemo.wsdt @@ -3,7 +3,7 @@ - RTOSDemo/Debug + RTOSDemo/Release @@ -12,7 +12,7 @@ - 227272727 + 189272727 @@ -23,11 +23,11 @@ - + 10 - + TabID-14962-21036 @@ -39,7 +39,7 @@ - 0 + 0 TabID-24623-22493 @@ -55,20 +55,20 @@ TabID-25855-25419BreakpointsBreakpoints - 0 + 0 - TextEditorE:\Dev\FreeRTOS\Demo\ARM7_STR71x_IAR\main.c0984693469300100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR71x_IAR\main.c01044900490000100000010000001 - iaridepm1debuggergui1-2-2675301-2-221211312518766189375605004-2-23971602-2-2160439910025003565681312518766 + iaridepm.enu1-2-2590263-2-218181285718330189286602851-2-23481402-2-2140435010028573564151285718330 diff --git a/Demo/ARM7_STR75x_IAR/75x_init.s b/Demo/ARM7_STR75x_IAR/75x_init.s index a4b018b67..850cf11a6 100644 --- a/Demo/ARM7_STR75x_IAR/75x_init.s +++ b/Demo/ARM7_STR75x_IAR/75x_init.s @@ -88,19 +88,19 @@ SIR0_off_addr EQU 0x60 ; Source Interrupt Register 0 ; ?program_start ;--------------------------------------------------------------- MODULE ?program_start - RSEG IRQ_STACK:DATA(2) - RSEG FIQ_STACK:DATA(2) - RSEG UND_STACK:DATA(2) - RSEG ABT_STACK:DATA(2) - RSEG SVC_STACK:DATA(2) - RSEG CSTACK:DATA(2) - RSEG ICODE:CODE(2) - PUBLIC __program_start + SECTION IRQ_STACK:DATA:NOROOT(3) + SECTION FIQ_STACK:DATA:NOROOT(3) + SECTION UND_STACK:DATA:NOROOT(3) + SECTION ABT_STACK:DATA:NOROOT(3) + SECTION SVC_STACK:DATA:NOROOT(3) + SECTION CSTACK:DATA:NOROOT(3) + SECTION .text:CODE(2) + PUBLIC __iar_program_start EXTERN ?main CODE32 -__program_start: +__iar_program_start: LDR pc, =NextInst NextInst @@ -134,19 +134,19 @@ NextInst MSR CPSR_c, #Mode_FIQ|I_Bit|F_Bit ; No interrupts - ldr sp,=SFE(FIQ_STACK) & 0xFFFFFFF8 ; End of FIQ_STACK + ldr sp,=SFE(FIQ_STACK) ; End of FIQ_STACK MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit ; No interrupts - ldr sp,=SFE(IRQ_STACK) & 0xFFFFFFF8 ; End of IRQ_STACK + ldr sp,=SFE(IRQ_STACK) ; End of IRQ_STACK MSR CPSR_c, #Mode_ABT|I_Bit|F_Bit ; No interrupts - ldr sp,=SFE(ABT_STACK) & 0xFFFFFFF8 ; End of ABT_STACK + ldr sp,=SFE(ABT_STACK) ; End of ABT_STACK MSR CPSR_c, #Mode_UND|I_Bit|F_Bit ; No interrupts - ldr sp,=SFE(UND_STACK) & 0xFFFFFFF8 ; End of UND_STACK + ldr sp,=SFE(UND_STACK) ; End of UND_STACK MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit ; No interrupts - ldr sp,=SFE(SVC_STACK) & 0xFFFFFFF8 ; End of SVC_STACK + ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK ; ------------------------------------------------------------------------------ ; Description : Enable SMI Bank0: enable GPIOs clock in MRCC_PCLKEN register, diff --git a/Demo/ARM7_STR75x_IAR/75x_vect.s b/Demo/ARM7_STR75x_IAR/75x_vect.s index 991bda794..aceda9657 100644 --- a/Demo/ARM7_STR75x_IAR/75x_vect.s +++ b/Demo/ARM7_STR75x_IAR/75x_vect.s @@ -22,7 +22,7 @@ PROGRAM ?RESET - COMMON INTVEC:CODE(2) + SECTION .intvec:CODE(2) CODE32 EIC_base_addr EQU 0xFFFFF800 ; EIC base address @@ -35,7 +35,7 @@ IPR_off_addr EQU 0x40 ; Interrupt Pending Register ; Import the __program_start address from 75x_init.s ;******************************************************************************* - IMPORT __program_start + IMPORT __iar_program_start @@ -113,7 +113,7 @@ IPR_off_addr EQU 0x40 ; Interrupt Pending Register ; Exception handlers address table ;******************************************************************************* -Reset_Addr DCD __program_start +Reset_Addr DCD __iar_program_start Undefined_Addr DCD UndefinedHandler SWI_Addr DCD vPortYieldProcessor Prefetch_Addr DCD PrefetchAbortHandler diff --git a/Demo/ARM7_STR75x_IAR/RTOSDemo.ewd b/Demo/ARM7_STR75x_IAR/RTOSDemo.ewd index 77da49bb2..431b04239 100644 --- a/Demo/ARM7_STR75x_IAR/RTOSDemo.ewd +++ b/Demo/ARM7_STR75x_IAR/RTOSDemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -161,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -200,7 +257,7 @@ JLINK_ID 2 - 6 + 9 1 1 - - + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + @@ -479,43 +566,47 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Stack\stack.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 @@ -530,7 +621,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -679,6 +790,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -718,7 +866,7 @@ JLINK_ID 2 - 6 + 9 1 1 - - + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + + + @@ -997,44 +1175,48 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Stack\stack.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin - 0 + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin - 0 + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 diff --git a/Demo/ARM7_STR75x_IAR/RTOSDemo.ewp b/Demo/ARM7_STR75x_IAR/RTOSDemo.ewp index c078f2f2f..3ed41e775 100644 --- a/Demo/ARM7_STR75x_IAR/RTOSDemo.ewp +++ b/Demo/ARM7_STR75x_IAR/RTOSDemo.ewp @@ -10,19 +10,15 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 13 + 19 1 1 - - - - - - - - - - - - - - + + + + + + @@ -479,7 +442,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -537,283 +530,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -832,19 +776,15 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 13 + 19 1 1 - - - - - - - - - - - - - - + + + + + + @@ -1337,6 +1244,36 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -1359,283 +1296,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 diff --git a/Demo/ARM7_STR75x_IAR/STR75x_FLASH.icf b/Demo/ARM7_STR75x_IAR/STR75x_FLASH.icf new file mode 100644 index 000000000..d44de43ba --- /dev/null +++ b/Demo/ARM7_STR75x_IAR/STR75x_FLASH.icf @@ -0,0 +1,49 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x20000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x200006F4; +define symbol __ICFEDIT_region_ROM_end__ = 0x2003FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x40000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x40003FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_svcstack__ = 0x200; +define symbol __ICFEDIT_size_irqstack__ = 0x200; +define symbol __ICFEDIT_size_fiqstack__ = 0x00; +define symbol __ICFEDIT_size_undstack__ = 0x00; +define symbol __ICFEDIT_size_abtstack__ = 0x00; +define symbol __ICFEDIT_size_heap__ = 0x4; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define symbol __region_USB_PKG_RAM_start__ = 0xFFFFA000; +define symbol __region_USB_PKG_RAM_end__ = 0xFFFFA3FF; +define region USB_PKG_RAM_region = mem:[from __region_USB_PKG_RAM_start__ to __region_USB_PKG_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; +define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; +define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; +define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; +define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; +do not initialize { section USB_PACKET_MEMORY }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK, + block UND_STACK, block ABT_STACK, block HEAP }; +place in USB_PKG_RAM_region + { readwrite data section USB_PACKET_MEMORY }; diff --git a/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dbgdt b/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dbgdt index 1c29a21aa..25da3e89d 100644 --- a/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dbgdt +++ b/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dbgdt @@ -22,7 +22,7 @@ - 100 + 010 20 1004 @@ -34,7 +34,7 @@ - + TabID-22366-21915 @@ -56,7 +56,7 @@ - 0 + 0 TabID-346-21918 @@ -68,20 +68,20 @@ - 0 + 0 - TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\main.c01195333533300100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\STR75x\portmacro.h03220192019TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\STR75x\portasm.s7902519701970TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\75x_vect.s02591152811528TextEditorC:\E\Dev\FreeRTOS\Source\tasks.c011123707137071TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\STR75x\port.c0123565156514TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\STLibrary\src\75x_it.c06539063906TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\75x_init.s021198149814TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\main.c0144551855180100000010000001 - iaridepm1debuggergui1-2-2796232-2-20000167143820988-2-21301402-2-21404132100285713580200 + iaridepm.enu1debuggergui.enu1-2-2807232-2-20000167143823829-2-21311402-2-21404133100285713543800 diff --git a/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dni b/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dni index 6b1ac8cf7..1dcb6aa9e 100644 --- a/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dni +++ b/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.dni @@ -24,6 +24,10 @@ UseAuto=0 TypeViolation=1 UnspecRange=1 ActionState=1 +[CodeCoverage] +Enabled=_ 0 +[Profiling] +Enabled=0 [Log file] LoggingEnabled=_ 0 LogFile=_ "" diff --git a/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.wsdt b/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.wsdt index 9ecfb8432..f669e65af 100644 --- a/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.wsdt +++ b/Demo/ARM7_STR75x_IAR/settings/RTOSDemo.wsdt @@ -40,7 +40,7 @@ Workspace - RTOSDemoRTOSDemo/source + RTOSDemoRTOSDemo/sourceRTOSDemo/startup @@ -50,14 +50,14 @@ - TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\main.c011953335333TextEditorC:\E\temp\rc\2\V4.1.2rc1\Demo\ARM7_STR75x_IAR\STLibrary\inc\75x_map.h0013451345TextEditorC:\E\temp\rc\2\V4.1.2rc1\Demo\ARM7_STR75x_IAR\STLibrary\src\75x_it.c02119391939TextEditorC:\E\temp\rc\2\V4.1.2rc1\Demo\ARM7_STR75x_IAR\STLibrary\src\lcd.c0212162211623930100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\STR75x\portmacro.h03220192019TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\STR75x\portasm.s7902519701970TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\75x_vect.s02591152811528TextEditorC:\E\Dev\FreeRTOS\Source\tasks.c011123707137071TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\STR75x\port.c0123565156514TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\STLibrary\src\75x_it.c06539063906TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\75x_init.s021198149814TextEditorC:\E\Dev\FreeRTOS\Demo\ARM7_STR75x_IAR\main.c0144551855180100000010000001 - iaridepm1-2-2705298-2-20000214286727366-2-22211402-2-214042231002857229424142857205761 + iaridepm.enu1-2-2715298-2-20000214286730143-2-22231402-2-214042251002857229124142857205703 diff --git a/Demo/ARM9_STR91X_IAR/91x_init.s b/Demo/ARM9_STR91X_IAR/91x_init.s new file mode 100644 index 000000000..6c74e5272 --- /dev/null +++ b/Demo/ARM9_STR91X_IAR/91x_init.s @@ -0,0 +1,242 @@ +;******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** +;* File Name : 91x_init.s +;* Author : MCD Application Team +;* Date First Issued : 05/18/2006 : Version 1.0 +;* Description : This module performs: +;* - FLASH/RAM initialization, +;* - Stack pointer initialization for each mode , +;* - Branches to ?main in the C library (which eventually +;* calls main()). +;* +;* On reset, the ARM core starts up in Supervisor (SVC) mode, +;* in ARM state,with IRQ and FIQ disabled. +;******************************************************************************* +;* History: +;* 05/22/2007 : Version 1.2 +;* 05/24/2006 : Version 1.1 +;* 05/18/2006 : Version 1.0 +;******************************************************************************* +;* THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH +;* CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS +;* A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT +;* OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +;* OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION +;* CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +;******************************************************************************/ + +; At power up, the CPU defaults to run on the oscillator clock, so Depending +; of your Application, Disable or Enable the following Define + + #define PLL_Clock ; Use PLL as the default clock source @ 96 MHz only with + ; Bank 0 @ 0x0 and Bank 1 @ 0x80000 +; #define RTC_Clock ; Use RTC as the default clock source +; #define OSC_Clock ; Use OSC as the default clock source + + +; --- Standard definitions of mode bits and interrupt (I & F) flags in PSRs + +Mode_USR EQU 0x10 +Mode_FIQ EQU 0x11 +Mode_IRQ EQU 0x12 +Mode_SVC EQU 0x13 +Mode_ABT EQU 0x17 +Mode_UND EQU 0x1B +Mode_SYS EQU 0x1F ; available on ARM Arch 4 and later + +I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled +F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled + + + +; --- STR9X SCU specific definitions + +SCU_BASE_Address EQU 0x5C002000 ; SCU Base Address +SCU_CLKCNTR_OFST EQU 0x00000000 ; Clock Control register Offset +SCU_PLLCONF_OFST EQU 0x00000004 ; PLL Configuration register Offset +SCU_SYSSTATUS_OFST EQU 0x00000008 ; System Status Register Offset +SCU_SCR0_OFST EQU 0x00000034 ; System Configuration Register 0 Offset + +; --- STR9X FMI specific definitions + +FMI_BASE_Address EQU 0x54000000 ; FMI Base Address +FMI_BBSR_OFST EQU 0x00000000 ; Boot Bank Size Register +FMI_NBBSR_OFST EQU 0x00000004 ; Non-boot Bank Size Register +FMI_BBADR_OFST EQU 0x0000000C ; Boot Bank Base Address Register +FMI_NBBADR_OFST EQU 0x00000010 ; Non-boot Bank Base Address Register +FMI_CR_OFST EQU 0x00000018 ; Control Register + +;--------------------------------------------------------------- +; ?program_start +;--------------------------------------------------------------- + MODULE ?program_start + + SECTION IRQ_STACK:DATA:NOROOT(3) + SECTION FIQ_STACK:DATA:NOROOT(3) + SECTION UND_STACK:DATA:NOROOT(3) + SECTION ABT_STACK:DATA:NOROOT(3) + SECTION SVC_STACK:DATA:NOROOT(3) + SECTION CSTACK:DATA:NOROOT(3) + SECTION .icode:CODE:NOROOT(2) + PUBLIC __iar_program_start + EXTERN ?main + CODE32 + +__iar_program_start: + LDR pc, =NextInst + + +NextInst + + + NOP ; execute some instructions to access CPU registers after wake + NOP ; up from Reset, while waiting for OSC stabilization + NOP + NOP + NOP + NOP + NOP + NOP + NOP + + +; BUFFERED_Mode +; ------------------------------------------------------------------------------ +; Description : Enable the Buffered mode. +; Just enable the buffered define on the 91x_conf.h +; http://www.arm.com/pdfs/DDI0164A_966E_S.pdf +; ------------------------------------------------------------------------------ + + MRC p15, 0, r0, c1, c0, 0 ; Read CP15 register 1 into r0 + ORR r0, r0, #0x8 ; Enable Write Buffer on AHB + MCR p15, 0, r0, c1, c0, 0 ; Write CP15 register 1 + + + +; --- Remap Flash Bank 0 at address 0x0 and Bank 1 at address 0x80000, +; when the bank 0 is the boot bank, then enable the Bank 1. + + LDR R6, =FMI_BASE_Address + + LDR R7, = 0x4 ; BOOT BANK Size = 512KB + STR R7, [R6, #FMI_BBSR_OFST] ; (2^4) * 32 = 512KB + + LDR R7, = 0x2 ; NON BOOT BANK Size = 32KB + STR R7, [R6, #FMI_NBBSR_OFST] ; (2^2) * 8 = 32KB + + LDR R7, = 0x0 ; BOOT BANK Address = 0x0 + STR R7, [R6, #FMI_BBADR_OFST] + + LDR R7, = 0x20000 ; NON BOOT BANK Address = 0x80000 + STR R7, [R6, #FMI_NBBADR_OFST] ; need to put 0x20000 because FMI + ; bus on A[25:2] of CPU bus + + LDR R7, = 0x18 ; Enable CS on both banks + STR R7, [R6, #FMI_CR_OFST] ; LDR R7, = 0x19 ;in RevD + ; to enable 8 words PFQ deepth + +; --- Enable 96K RAM, PFQBC enabled, DTCM & AHB wait-states disabled + LDR R0, = SCU_BASE_Address + LDR R1, = 0x0191 + STR R1, [R0, #SCU_SCR0_OFST] + +; ------------------------------------------------------------------------------ +; --- System clock configuration +; ------------------------------------------------------------------------------ + +#ifdef PLL_Clock ; Use 96 MHZ PLL clock as the default frequency + +; --- wait states Flash confguration + + LDR R6, = 0x00080000 ;Write a Write Flash Configuration + LDR R7, =0x60 ;Register command (60h) to any word + STRH R7, [R6] ;address in Bank 1. + + LDR R6, = 0x00083040 ;Write a Write Flash Configuration + LDR R7, = 0x3 ;Register Confirm command (03h) + STRH R7, [R6] ;2Wstaites in read,PWD,LVD enabled, + ;High BUSCFG. +; --- PLL configuration + LDR R1, = 0x00020002 ;Set OSC as clock source + STR R1, [R0, #SCU_CLKCNTR_OFST ] + + + NOP ; Wait for OSC stabilization + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + + + + + LDR R1, = 0x000ac019 ;Set PLL ENABLE, to 96Mhz + STR R1, [R0, #SCU_PLLCONF_OFST] + +Wait_Loop + LDR R1,[R0, #SCU_SYSSTATUS_OFST] ;Wait until PLL is Locked + ANDS R1, R1, #0x01 + BEQ Wait_Loop + + LDR R1, = 0x00020080 ;Set PLL as clock source after pll + STR R1, [R0, #SCU_CLKCNTR_OFST ] ;is locked and FMICLK=RCLK, + ;PCLK=RCLK/2 +#endif + +#ifdef RTC_Clock ;Use RTC as the default clock source + LDR R1, = 0x00020001 ;Set RTC as clock source and + STR R1, [R0, #SCU_CLKCNTR_OFST ] ;FMICLK=RCLK, PCLK=RCLK +#endif + +#ifdef OSC_Clock ;Use Osc as the default clock source + LDR R1, = 0x00020002 ;Set OSC as clock source and + STR R1, [R0, #SCU_CLKCNTR_OFST ] ;FMICLK=RCLK, PCLK=RCLK +#endif + + +; --- Initialize Stack pointer registers + +; Enter each mode in turn and set up the stack pointer + + MSR CPSR_c, #Mode_FIQ|I_Bit|F_Bit ; No interrupts + LDR SP, =SFE(FIQ_STACK) + + MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit ; No interrupts + LDR SP, = SFE(IRQ_STACK) + + MSR CPSR_c, #Mode_ABT|I_Bit|F_Bit ; No interrupts + LDR SP, = SFE(ABT_STACK) + + MSR CPSR_c, #Mode_UND|I_Bit|F_Bit ; No interrupts + LDR SP, = SFE(UND_STACK) + + MSR CPSR_c, #Mode_SYS ; IRQs & FIQs are now enabled + LDR SP, = SFE(CSTACK) + + MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit ; No interrupts + LDR SP, = SFE(SVC_STACK) + +; --- Set bits 17-18(DTCM/ITCM order bits)of the Core Configuration Control +; Register + MOV r0, #0x60000 + MCR p15,0x1,r0,c15,c1,0 + +; --- Now enter the C code + B ?main ; Note : use B not BL, because an application will + ; never return this way + + LTORG + + + END +;******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE**** + + + + diff --git a/Demo/ARM9_STR91X_IAR/91x_vect.s b/Demo/ARM9_STR91X_IAR/91x_vect.s new file mode 100644 index 000000000..d1a4b0b2b --- /dev/null +++ b/Demo/ARM9_STR91X_IAR/91x_vect.s @@ -0,0 +1,228 @@ +;******************** (C) COPYRIGHT 2006 STMicroelectronics ******************** +;* File Name : 91x_vect.s +;* Author : MCD Application Team +;* Date First Issued : 05/18/2006 : Version 1.0 +;* Description : This File used to initialize the exception and IRQ +;* vectors, and to enter/return to/from exceptions +;* handlers. +;******************************************************************************* +* History: +* 05/22/2007 : Version 1.2 +* 05/24/2006 : Version 1.1 +* 05/18/2006 : Version 1.0 +;******************************************************************************* +; THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS WITH +; CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. AS +; A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, INDIRECT +; OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE CONTENT +; OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING INFORMATION +; CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. +;******************************************************************************/ + +#include "FreeRTOSConfig.h" +#include "ISR_Support.h" + + SECTION .intvec:CODE:ROOT(2) + CODE32 + + +VectorAddress EQU 0xFFFFF030 ; VIC Vector address register address. +VectorAddressDaisy EQU 0xFC000030 ; Daisy VIC Vector address register +I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled +F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled + + + + +;******************************************************************************* +; Import the __iar_program_start address from 91x_init.s +;******************************************************************************* + + IMPORT __iar_program_start + +;******************************************************************************* +; Import exception handlers +;******************************************************************************* + + IMPORT Undefined_Handler + IMPORT vPortYieldProcessor ; FreeRTOS SWI handler + IMPORT Prefetch_Handler + IMPORT Abort_Handler + IMPORT FIQ_Handler + + +;******************************************************************************* +; Export Peripherals IRQ handlers table address +;******************************************************************************* + +;******************************************************************************* +; Exception vectors +;******************************************************************************* + + LDR PC, Reset_Addr + LDR PC, Undefined_Addr + LDR PC, SWI_Addr + LDR PC, Prefetch_Addr + LDR PC, Abort_Addr + NOP ; Reserved vector + LDR PC, IRQ_Addr + +;******************************************************************************* +;* Function Name : FIQHandler +;* Description : This function is called when FIQ exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* +FIQHandler + SUB lr,lr,#4 ; Update the link register. + STMFD sp!,{r0-r7,lr} ; Save The workspace plus the current return + ; address lr_fiq into the FIQ stack. + ldr r0,=FIQ_Handler + ldr lr,=FIQ_Handler_end + bx r0 ;Branch to FIQ_Handler. +FIQ_Handler_end: + + LDMFD sp!,{r0-r7,pc}^; Return to the instruction following... + ; ...the exception interrupt. + + +;******************************************************************************* +; Exception handlers address table +;******************************************************************************* + +Reset_Addr DCD __iar_program_start +Undefined_Addr DCD UndefinedHandler +SWI_Addr DCD vPortYieldProcessor +Prefetch_Addr DCD PrefetchAbortHandler +Abort_Addr DCD DataAbortHandler + DCD 0 ; Reserved vector +IRQ_Addr DCD IRQHandler + + +;******************************************************************************* +; MACRO +;******************************************************************************* +;******************************************************************************* +;* Macro Name : SaveContext +;* Description : This macro is used to save the context before entering +; an exception handler. +;* Input : The range of registers to store. +;* Output : none +;******************************************************************************* + +SaveContext MACRO reg1,reg2 + STMFD sp!,{reg1-reg2,lr} ; Save The workspace plus the current return + ; address lr_ mode into the stack. + MRS r1,spsr ; Save the spsr_mode into r1. + STMFD sp!,{r1} ; Save spsr. + ENDM + +;******************************************************************************* +;* Macro Name : RestoreContext +;* Description : This macro is used to restore the context to return from +; an exception handler and continue the program execution. +;* Input : The range of registers to restore. +;* Output : none +;******************************************************************************* + +RestoreContext MACRO reg1,reg2 + LDMFD sp!,{r1} ; Restore the saved spsr_mode into r1. + MSR spsr_cxsf,r1 ; Restore spsr_mode. + LDMFD sp!,{reg1-reg2,pc}^; Return to the instruction following... + ; ...the exception interrupt. + ENDM + + +;******************************************************************************* +; Exception Handlers +;******************************************************************************* + + +;******************************************************************************* +;* Function Name : UndefinedHandler +;* Description : This function is called when undefined instruction +; exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* + +UndefinedHandler + SaveContext r0,r12 ; Save the workspace plus the current + ; return address lr_ und and spsr_und. + + ldr r0,=Undefined_Handler + ldr lr,=Undefined_Handler_end + bx r0 ; Branch to Undefined_Handler. + +Undefined_Handler_end: + RestoreContext r0,r12 ; Return to the instruction following... + ; ...the undefined instruction. + +;******************************************************************************* +;* Function Name : PrefetchAbortHandler +;* Description : This function is called when Prefetch Abort +; exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* + +PrefetchAbortHandler + SUB lr,lr,#4 ; Update the link register. + SaveContext r0,r12 ; Save the workspace plus the current + ; return address lr_abt and spsr_abt. + + ldr r0,=Prefetch_Handler + ldr lr,=Prefetch_Handler_end + bx r0 ; Branch to Prefetch_Handler. + +Prefetch_Handler_end: + RestoreContext r0,r12 ; Return to the instruction following that... + ; ...has generated the prefetch abort exception. + +;******************************************************************************* +;* Function Name : DataAbortHandler +;* Description : This function is called when Data Abort +; exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* + +DataAbortHandler + SUB lr,lr,#8 ; Update the link register. + SaveContext r0,r12 ; Save the workspace plus the current + ; return address lr_ abt and spsr_abt. + ldr r0,=Abort_Handler + ldr lr,=Abort_Handler_end + bx r0 ; Branch to Abort_Handler. + +Abort_Handler_end: + + RestoreContext r0,r12 ; Return to the instruction following that... + ; ...has generated the data abort exception. +;******************************************************************************* +;* Function Name : IRQHandler +;* Description : This function is called when IRQ exception is entered. +;* Input : none +;* Output : none +;******************************************************************************* + +IRQHandler + portSAVE_CONTEXT ; Save the context of the current task. + + LDR r0, = VectorAddress + LDR r0, [r0] ; Read the routine address + LDR r1, = VectorAddressDaisy + LDR r1, [r1] + MOV lr, pc + bx r0 + LDR r0, = VectorAddress ; Write to the VectorAddress to clear the + STR r0, [r0] ; respective interrupt in the internal interrupt + LDR r1, = VectorAddressDaisy ; Write to the VectorAddressDaisy to clear the + STR r1,[r1] ; respective interrupt in the internal interrupt + + portRESTORE_CONTEXT ; Restore the context of the selected task. + + LTORG + + END +;******************* (C) COPYRIGHT 2006 STMicroelectronics *****END OF FILE**** diff --git a/Demo/ARM9_STR91X_IAR/RTOSDemo.dep b/Demo/ARM9_STR91X_IAR/RTOSDemo.dep deleted file mode 100644 index 9e4386916..000000000 --- a/Demo/ARM9_STR91X_IAR/RTOSDemo.dep +++ /dev/null @@ -1,7801 +0,0 @@ - - - - 2 - 2035077562 - - ARM - lwIP - D - - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\snmp.h - $PROJ_DIR$\ARM - lwIP - D\Obj\mem.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\def.h - $PROJ_DIR$\ARM - lwIP - D\Obj\stats.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\tcp.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\QPeek.pbi - $PROJ_DIR$\Library\include\91x_fmi.h - $PROJ_DIR$\ARM - lwIP - D\Obj\ip_frag.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\stats.c - $PROJ_DIR$\ARM - lwIP - D\Obj\ip.r79 - $PROJ_DIR$\..\Common\include\comtest2.h - $PROJ_DIR$\ARM - lwIP - D\Obj\udp.r79 - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\ARM - lwIP - D\Obj\ParTest.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\sys.c - $PROJ_DIR$\ARM - lwIP - D\Obj\port.pbi - $PROJ_DIR$\lwip\include\lwip\opt.h - $PROJ_DIR$\ARM - lwIP - D\List\RTOSDemo.html - $PROJ_DIR$\ARM - lwIP - D\Obj\mib2.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\BasicWEB.pbi - $PROJ_DIR$\lwip\include\lwIPWebServer\fs.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_vect_IAR.r79 - $PROJ_DIR$\Library\include\91x_vic.h - $PROJ_DIR$\ARM - lwIP - D\Obj\flash.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\api_msg.h - $PROJ_DIR$\ARM - lwIP - D\Obj\list.r79 - $PROJ_DIR$\Library\source\91x_scu.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\netif.h - $PROJ_DIR$\lwip\include\arch\lwip_errno.h - $PROJ_DIR$\Library\source\91x_gpio.c - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\tcpip.h - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_scu.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\QPeek.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\ParTest.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\icmp.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_gpio.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\dynamic.pbi - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\ARM - lwIP - D\Obj\tcpip.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\serial.pbi - $TOOLKIT_DIR$\inc\intrinsic.h - $PROJ_DIR$\ARM - lwIP - D\Obj\GenQTest.r79 - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_fmi.pbi - $PROJ_DIR$\Library\include\91x_scu.h - $PROJ_DIR$\ARM - lwIP - D\Obj\sys.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_msg.c - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_uart.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\dhcp.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_tim.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\netif.r79 - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\ARM - lwIP - D\Obj\mib_structs.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\msg_out.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_tim.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\msg_in.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_vic.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\tcpip.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_vic.pbi - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\ARM - lwIP - D\Obj\main.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\RTOSDemo.pbd - $PROJ_DIR$\ARM - lwIP - D\Obj\icmp.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_fmi.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\sockets.pbi - $PROJ_DIR$\lwip\lwipWebServer\fs.c - $PROJ_DIR$\ARM - lwIP - D\Obj\netif.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\main.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\api_lib.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\err.r79 - $PROJ_DIR$\Library\source\91x_vic.c - $PROJ_DIR$\Library\source\91x_tim.c - $PROJ_DIR$\ARM - lwIP - D\Obj\ethernetif.r79 - $PROJ_DIR$\Library\include\91x_lib.h - $PROJ_DIR$\ARM - lwIP - D\Obj\msg_out.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\memp.h - $PROJ_DIR$\ARM - lwIP - D\Obj\flop.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\sys_arch.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\lcd.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\asn1_dec.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\dynamic.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - $PROJ_DIR$\ARM - lwIP - D\Obj\BlockQ.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\ethernetif.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\debug.h - $PROJ_DIR$\..\Common\include\flop.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\ARM - lwIP - D\Obj\tcp_in.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib2.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\pbuf.h - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\ARM - lwIP - D\Obj\ip.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\comtest.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\PollQ.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\httpd.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\etharp.r79 - $TOOLKIT_DIR$\lib\dl5tpainl8n.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_dec.c - $PROJ_DIR$\ARM - lwIP - D\Obj\inet.pbi - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\include\task.h - $PROJ_DIR$\..\Common\Minimal\dynamic.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\err.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\ip_frag.h - $PROJ_DIR$\lwip\lwipWebServer\BasicWEB.c - $PROJ_DIR$\ARM - lwIP - D\Obj\comtest.r79 - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\ISR_Support.h - $PROJ_DIR$\ARM - lwIP - D\Obj\BlockQ.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\arch.h - $PROJ_DIR$\ARM - lwIP - D\Obj\queue.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_it.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\fs.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\lcd.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\etharp.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\ip.h - $PROJ_DIR$\ARM - lwIP - D\Obj\msg_in.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\serial.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\BasicWEB.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\tcp_out.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip.c - $PROJ_DIR$\ARM - lwIP - D\Obj\asn1_dec.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\raw.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\dhcp.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\raw.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\mem.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp.c - $PROJ_DIR$\..\..\Source\include\croutine.h - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\ARM - lwIP - D\Obj\mib_structs.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\dhcp.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_enc.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_in.c - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\ARM - lwIP - D\Obj\heap_2.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - $TOOLKIT_DIR$\inc\errno.h - $PROJ_DIR$\ARM - lwIP - D\Obj\api_lib.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\semtest.r79 - $PROJ_DIR$\lwip\include\arch\cc.h - $PROJ_DIR$\ARM - lwIP - D\Obj\asn1_enc.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\icmp.h - $PROJ_DIR$\ARM - lwIP - D\Exe\RTOSDemo.d79 - $PROJ_DIR$\Library\source\91x_uart.c - $PROJ_DIR$\Library\source\91x_lib.c - $PROJ_DIR$\ARM - lwIP - D\Obj\tcp.pbi - $PROJ_DIR$\lwip\include\lwIPWebServer\fsdata.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_uart.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_init_IAR.r79 - $PROJ_DIR$\..\Common\Minimal\flash.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_out.c - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\ARM - lwIP - D\Obj\mib2.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\netif\etharp.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_it.r79 - $PROJ_DIR$\STCode\lcd.h - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\ARM - lwIP - D\Obj\sys.r79 - $PROJ_DIR$\Library\include\91x_tim.h - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\..\Common\ethernet\lwIP\api\tcpip.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\api.h - $PROJ_DIR$\ARM - lwIP - D\Obj\ip_addr.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\queue.r79 - $PROJ_DIR$\Library\include\91x_ahbapb.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\udp.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portmacro.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib_structs.c - $PROJ_DIR$\ARM - lwIP - D\Obj\tcp_out.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\GenQTest.pbi - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\ARM - lwIP - D\Exe\RTOSDemo.sim - $PROJ_DIR$\ARM - lwIP - D\Obj\list.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\pbuf.r79 - $PROJ_DIR$\main.c - $PROJ_DIR$\Library\include\91x_conf.h - $PROJ_DIR$\webserver\uIP_Task.c - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_gpio.r79 - $PROJ_DIR$\lwip\include\lwIPWebServer\BasicWEB.h - $PROJ_DIR$\ARM - lwIP - D\Obj\mem.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_lib.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\sys_arch.pbi - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_wdg.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\sys.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_wdg.r79 - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_enet.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\port.r79 - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\tcp.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\mem.h - $PROJ_DIR$\ARM - lwIP - D\Obj\ip_frag.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\tasks.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\inet.h - $PROJ_DIR$\Library\source\91x_fmi.c - $PROJ_DIR$\ARM - lwIP - D\Obj\udp.pbi - $PROJ_DIR$\serial\serial.c - $PROJ_DIR$\ARM - lwIP - D\Obj\err.pbi - $PROJ_DIR$\Library\include\91x_wdg.h - $PROJ_DIR$\ARM - lwIP - D\Obj\api_msg.r79 - $PROJ_DIR$\lwip\include\lwip\lwipopts.h - $PROJ_DIR$\..\Common\ethernet\lwIP\netif\etharp.c - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\ARM - lwIP - D\Obj\memp.r79 - $PROJ_DIR$\..\Common\Minimal\comtest.c - $PROJ_DIR$\lwip\api\sys_arch.c - $PROJ_DIR$\..\Common\ethernet\lwIP\api\sockets.c - $PROJ_DIR$\STCode\lcd.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\pbuf.c - $PROJ_DIR$\Library\include\91x_map.h - $PROJ_DIR$\ARM - lwIP - D\Obj\flash.pbi - $PROJ_DIR$\Library\include\91x_type.h - $PROJ_DIR$\lwip\include\arch\perf.h - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_lib.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_in.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\stats.h - $PROJ_DIR$\..\Common\include\GenQTest.h - $PROJ_DIR$\ARM - lwIP - D\Obj\memp.pbi - $PROJ_DIR$\Library\source\91x_enet.c - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\Library\source\91x_it.c - $PROJ_DIR$\ARM - lwIP - D\Obj\asn1_enc.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_lib.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\PollQ.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\dhcp.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\sockets.h - $PROJ_DIR$\ARM - lwIP - D\Obj\flop.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\semtest.pbi - $PROJ_DIR$\..\Common\include\integer.h - $PROJ_DIR$\..\Common\include\comtest.h - $PROJ_DIR$\ARM - lwIP - D\Obj\api_msg.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\raw.h - $PROJ_DIR$\lwip\lwipWebServer\httpd.c - $TOOLKIT_DIR$\inc\assert.h - $PROJ_DIR$\ARM - lwIP - D\Obj\httpd.r79 - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $PROJ_DIR$\lwip\netif\ethernetif.c - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\Library\include\91x_uart.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_out.c - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_scu.r79 - $PROJ_DIR$\lwip\include\lwIPWebServer\httpd.h - $PROJ_DIR$\lwip\include\arch\sys_arch.h - $PROJ_DIR$\..\Common\include\serial.h - $TOOLKIT_DIR$\lib\dl5tpainl8n.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\integer.pbi - $PROJ_DIR$\ARM - lwIP - D\Obj\sockets.r79 - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\Library\include\91x_it.h - $PROJ_DIR$\ARM - lwIP - D\Obj\tcp_in.pbi - $PROJ_DIR$\Library\include\91x_gpio.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\ip_addr.h - $PROJ_DIR$\ARM - lwIP - D\Obj\91x_enet.r79 - $PROJ_DIR$\Library\source\91x_wdg.c - $PROJ_DIR$\ARM - lwIP - D\Obj\tasks.pbi - $PROJ_DIR$\Library\include\91x_enet.h - $PROJ_DIR$\ARM - lwIP - D\Obj\integer.r79 - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - $PROJ_DIR$\..\Common\Minimal\flop.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\inet.c - $PROJ_DIR$\lwip\lwipWebServer\fsdata.c - $PROJ_DIR$\ARM - lwIP - D\Obj\stats.r79 - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\netif.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\memp.c - $PROJ_DIR$\..\Common\include\QPeek.h - $PROJ_DIR$\..\Common\ethernet\lwIP\api\err.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\udp.h - $PROJ_DIR$\..\Common\include\dynamic.h - $PROJ_DIR$\ARM - lwIP - D\Obj\portasm.r79 - $PROJ_DIR$\ARM - lwIP - D\Obj\ip_addr.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\icmp.c - $PROJ_DIR$\ARM - lwIP - D\Obj\fs.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - $PROJ_DIR$\ARM - lwIP - D\Obj\raw.r79 - $PROJ_DIR$\webserver\httpd.c - $PROJ_DIR$\webserver\httpd-fs.c - $PROJ_DIR$\91x_vect_IAR.s - $PROJ_DIR$\lnkarm_ram.xcl - $PROJ_DIR$\webserver\httpd-cgi.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - $PROJ_DIR$\..\Common\Minimal\QPeek.c - $PROJ_DIR$\lnkarm_flash.xcl - $PROJ_DIR$\91x_init_IAR.s - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - $PROJ_DIR$\ARM - lwIP - D\Obj\heap_2.pbi - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\lwip\include\arch\cpu.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\netif\loopif.h - $PROJ_DIR$\ARM - lwIP - D\Obj\inet.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - $PROJ_DIR$\ARM - lwIP - D\Obj\pbuf.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\stats.c - - - ICCARM - 267 - - - BICOMP - 3 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 2 221 195 112 78 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 2 221 195 112 78 - - - - - [ROOT_NODE] - - - XLINK - 145 17 175 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\sys.c - - - ICCARM - 161 - - - BICOMP - 48 - - - - - ICCARM - 188 142 299 28 16 205 87 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 2 78 - - - BICOMP - 188 142 299 28 16 205 87 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 2 78 - - - - - $PROJ_DIR$\Library\source\91x_scu.c - - - ICCARM - 246 - - - BICOMP - 33 - - - - - ICCARM - 47 214 179 216 - - - BICOMP - 47 214 179 216 - - - - - $PROJ_DIR$\Library\source\91x_gpio.c - - - ICCARM - 181 - - - BICOMP - 37 - - - - - ICCARM - 256 214 179 216 47 - - - BICOMP - 256 214 179 216 47 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_msg.c - - - ICCARM - 204 - - - BICOMP - 236 - - - - - ICCARM - 16 205 87 142 299 28 112 24 92 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 118 2 257 105 274 198 194 195 144 27 165 237 78 31 - - - BICOMP - 16 205 87 142 299 28 112 24 92 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 118 2 257 105 274 198 194 195 144 27 165 237 78 31 - - - - - $PROJ_DIR$\ARM - lwIP - D\Obj\RTOSDemo.pbd - - - BILINK - 191 46 37 114 184 33 57 150 61 187 19 85 173 13 229 5 71 236 82 143 95 133 38 202 117 86 215 232 115 297 97 36 101 251 94 277 7 81 176 63 183 223 18 55 119 56 69 303 15 113 125 233 42 67 3 48 185 260 148 255 172 41 200 - - - - - $PROJ_DIR$\lwip\lwipWebServer\fs.c - - - ICCARM - 279 - - - BICOMP - 115 - - - - - ICCARM - 2 142 299 28 20 149 266 268 157 89 99 102 154 39 243 - - - BICOMP - 2 142 299 28 20 149 266 268 157 89 102 154 39 243 - - - - - $PROJ_DIR$\Library\source\91x_vic.c - - - ICCARM - 59 - - - BICOMP - 61 - - - - - ICCARM - 22 214 179 216 254 76 168 6 162 47 256 244 203 261 - - - BICOMP - 22 214 179 216 254 76 168 6 162 47 256 244 203 261 - - - - - $PROJ_DIR$\Library\source\91x_tim.c - - - ICCARM - 52 - - - BICOMP - 57 - - - - - ICCARM - 162 214 179 216 47 - - - BICOMP - 162 214 179 216 47 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - - - ICCARM - 196 - - - BICOMP - 7 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 118 112 2 92 257 105 106 27 198 0 274 221 195 78 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 118 112 2 92 257 105 106 27 198 0 274 221 195 78 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib2.c - - - ICCARM - 155 - - - BICOMP - 18 - - - - - ICCARM - 142 299 28 16 205 87 - - - BICOMP - 142 299 28 16 205 87 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_dec.c - - - ICCARM - 124 - - - BICOMP - 82 - - - - - ICCARM - 16 205 87 142 299 28 - - - BICOMP - 16 205 87 142 299 28 - - - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - ICCARM - 83 - - - BICOMP - 38 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 93 40 275 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 93 40 275 - - - - - $PROJ_DIR$\lwip\lwipWebServer\BasicWEB.c - - - ICCARM - 121 - - - BICOMP - 19 - - - - - ICCARM - 32 157 89 99 102 154 39 243 268 30 131 62 298 12 170 43 186 103 193 93 40 182 216 165 16 205 87 142 299 28 92 188 248 118 112 2 257 105 237 198 274 194 195 144 27 31 24 78 221 300 159 76 214 179 168 6 22 254 162 47 256 244 203 261 247 - - - BICOMP - 32 157 89 102 154 39 243 268 30 131 62 298 12 170 43 186 103 193 93 40 182 216 165 16 205 87 142 299 28 92 188 248 118 112 2 257 105 237 198 274 194 195 144 27 31 24 78 221 300 159 76 214 179 168 6 22 254 162 47 256 244 203 261 247 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip.c - - - ICCARM - 9 - - - BICOMP - 94 - - - - - ICCARM - 16 205 87 142 299 28 2 195 112 118 92 257 105 106 27 198 144 237 274 194 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 221 78 217 0 - - - BICOMP - 16 205 87 142 299 28 2 195 112 118 92 257 105 106 27 198 144 237 274 194 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 221 78 217 0 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\raw.c - - - ICCARM - 282 - - - BICOMP - 125 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 2 78 198 112 92 257 27 105 237 118 221 195 217 0 274 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 2 78 198 112 92 257 27 105 237 118 221 195 217 0 274 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\mem.c - - - ICCARM - 1 - - - BICOMP - 183 - - - - - ICCARM - 268 157 89 99 102 154 39 243 112 142 299 28 16 205 87 2 195 188 248 30 131 62 298 12 170 43 186 103 193 40 93 221 78 - - - BICOMP - 268 157 89 102 154 39 243 112 142 299 28 16 205 87 2 195 188 248 30 131 62 298 12 170 43 186 103 193 40 93 221 78 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp.c - - - ICCARM - 4 - - - BICOMP - 148 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 2 195 112 78 0 27 105 257 198 92 274 118 194 188 248 30 131 62 298 12 170 43 186 103 193 40 93 144 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 2 195 112 78 0 27 105 257 198 92 274 118 194 188 248 30 131 62 298 12 170 43 186 103 193 40 93 144 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_enc.c - - - ICCARM - 227 - - - BICOMP - 143 - - - - - ICCARM - 16 205 87 142 299 28 - - - BICOMP - 16 205 87 142 299 28 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_in.c - - - ICCARM - 90 - - - BICOMP - 255 - - - - - ICCARM - 2 142 299 28 16 205 87 257 112 27 105 198 92 195 78 194 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 118 144 221 217 0 274 - - - BICOMP - 2 142 299 28 16 205 87 257 112 27 105 198 92 195 78 194 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 118 144 221 217 0 274 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - - - ICCARM - 166 - - - BICOMP - 277 - - - - - ICCARM - 257 112 142 299 28 198 16 205 87 92 27 105 - - - BICOMP - 257 112 142 299 28 198 16 205 87 92 27 105 - - - - - $PROJ_DIR$\ARM - lwIP - D\Exe\RTOSDemo.d79 - - - XLINK - 17 175 - - - - - XLINK - 290 258 66 181 151 158 228 246 52 50 21 59 189 121 111 44 35 96 34 140 204 124 227 108 51 83 72 98 75 23 79 279 137 240 65 301 262 9 166 196 116 25 70 1 208 155 132 58 77 53 177 192 276 167 282 141 120 252 267 161 80 197 4 90 122 60 11 250 - - - - - $PROJ_DIR$\Library\source\91x_uart.c - - - ICCARM - 50 - - - BICOMP - 150 - - - - - ICCARM - 244 214 179 216 47 - - - BICOMP - 244 214 179 216 47 - - - - - $PROJ_DIR$\Library\source\91x_lib.c - - - ICCARM - 228 - - - BICOMP - 184 - - - - - ICCARM - 214 179 216 - - - BICOMP - 214 179 216 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCARM - 23 - - - BICOMP - 215 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 54 163 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 54 163 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_out.c - - - ICCARM - 122 - - - BICOMP - 172 - - - - - ICCARM - 268 157 89 99 102 154 39 243 2 142 299 28 16 205 87 195 112 78 188 248 30 131 62 298 12 170 43 186 103 193 40 93 257 27 105 198 92 194 118 144 221 0 274 - - - BICOMP - 268 157 89 102 154 39 243 2 142 299 28 16 205 87 195 112 78 188 248 30 131 62 298 12 170 43 186 103 193 40 93 257 27 105 198 92 194 118 144 221 0 274 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 35 - - - BICOMP - 13 - - - - - ICCARM - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 54 - - - BICOMP - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 30 131 157 89 102 154 39 243 62 298 12 170 43 186 54 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\tcpip.c - - - ICCARM - 60 - - - BICOMP - 41 - - - - - ICCARM - 16 205 87 142 299 28 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 78 92 118 112 2 257 105 106 27 198 274 194 195 144 31 24 165 237 - - - BICOMP - 16 205 87 142 299 28 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 78 92 118 112 2 257 105 106 27 198 274 194 195 144 31 24 165 237 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\udp.c - - - ICCARM - 11 - - - BICOMP - 200 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 2 78 198 112 92 257 27 105 274 118 144 221 195 217 0 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 2 78 198 112 92 257 27 105 274 118 144 221 195 217 0 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib_structs.c - - - ICCARM - 132 - - - BICOMP - 55 - - - - - ICCARM - 16 205 87 142 299 28 - - - BICOMP - 16 205 87 142 299 28 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 70 - - - BICOMP - 63 - - - - - ICCARM - 32 157 89 99 102 154 39 243 76 214 179 216 168 6 22 254 162 47 256 244 203 261 30 131 62 298 12 170 43 186 103 193 40 159 163 234 109 190 136 275 54 88 10 249 222 272 182 188 142 299 28 16 205 87 248 93 - - - BICOMP - 32 157 89 102 154 39 243 76 214 179 216 168 6 22 254 162 47 256 244 203 261 30 131 62 298 12 170 43 186 103 193 40 159 163 234 109 190 136 275 54 88 10 249 222 272 182 188 142 299 28 16 205 87 248 93 - - - - - $PROJ_DIR$\Library\source\91x_fmi.c - - - ICCARM - 66 - - - BICOMP - 46 - - - - - ICCARM - 6 214 179 216 - - - BICOMP - 6 214 179 216 - - - - - $PROJ_DIR$\serial\serial.c - - - ICCARM - 120 - - - BICOMP - 42 - - - - - ICCARM - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 40 93 249 - - - BICOMP - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 30 131 157 89 102 154 39 243 62 298 12 170 43 186 40 93 249 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\netif\etharp.c - - - ICCARM - 98 - - - BICOMP - 117 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 198 112 92 257 156 27 105 118 2 221 195 78 0 274 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 198 112 92 257 156 27 105 118 2 221 195 78 0 274 - - - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - - - ICCARM - 108 - - - BICOMP - 95 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 249 235 54 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 249 235 54 - - - - - $PROJ_DIR$\lwip\api\sys_arch.c - - - ICCARM - 80 - - - BICOMP - 185 - - - - - ICCARM - 87 142 299 28 2 188 16 205 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 195 112 32 - - - BICOMP - 87 142 299 28 2 188 16 205 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 195 112 32 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\sockets.c - - - ICCARM - 252 - - - BICOMP - 67 - - - - - ICCARM - 268 157 89 99 102 154 39 243 139 16 205 87 142 299 28 165 92 188 248 30 131 62 298 12 170 43 186 103 193 40 93 118 112 2 257 105 237 198 274 194 195 144 27 231 - - - BICOMP - 268 157 89 102 154 39 243 139 16 205 87 142 299 28 165 92 188 248 30 131 62 298 12 170 43 186 103 193 40 93 118 112 2 257 105 237 198 274 194 195 144 27 231 - - - - - $PROJ_DIR$\STCode\lcd.c - - - ICCARM - 116 - - - BICOMP - 81 - - - - - ICCARM - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 159 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 - - - BICOMP - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 159 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\pbuf.c - - - ICCARM - 177 - - - BICOMP - 303 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 221 195 112 78 2 92 188 248 30 131 62 298 12 170 43 186 103 193 40 93 217 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 221 195 112 78 2 92 188 248 30 131 62 298 12 170 43 186 103 193 40 93 217 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 262 - - - BICOMP - 251 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 234 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 234 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_lib.c - - - ICCARM - 140 - - - BICOMP - 71 - - - - - ICCARM - 16 205 87 142 299 28 165 92 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 118 112 2 257 105 237 198 274 194 195 144 27 24 78 - - - BICOMP - 16 205 87 142 299 28 165 92 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 118 112 2 257 105 237 198 274 194 195 144 27 24 78 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_in.c - - - ICCARM - 58 - - - BICOMP - 119 - - - - - ICCARM - 16 205 87 142 299 28 - - - BICOMP - 16 205 87 142 299 28 - - - - - $PROJ_DIR$\Library\source\91x_enet.c - - - ICCARM - 258 - - - BICOMP - 191 - - - - - ICCARM - 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 76 214 179 216 168 6 22 254 162 47 256 244 203 261 268 - - - BICOMP - 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 76 214 179 216 168 6 22 254 162 47 256 244 203 261 268 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 141 - - - BICOMP - 233 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 93 40 136 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 93 40 136 - - - - - $PROJ_DIR$\Library\source\91x_it.c - - - ICCARM - 158 - - - BICOMP - 114 - - - - - ICCARM - 298 254 76 214 179 216 168 6 22 162 47 256 244 203 261 - - - BICOMP - 298 254 76 214 179 216 168 6 22 162 47 256 244 203 261 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\dhcp.c - - - ICCARM - 51 - - - BICOMP - 133 - - - - - ICCARM - 268 157 89 99 102 154 39 243 221 16 205 87 142 299 28 195 112 78 274 92 198 257 118 2 105 27 156 188 248 30 131 62 298 12 170 43 186 103 193 40 93 126 - - - BICOMP - 268 157 89 102 154 39 243 221 16 205 87 142 299 28 195 112 78 274 92 198 257 118 2 105 27 156 188 248 30 131 62 298 12 170 43 186 103 193 40 93 126 - - - - - $PROJ_DIR$\lwip\lwipWebServer\httpd.c - - - ICCARM - 240 - - - BICOMP - 97 - - - - - ICCARM - 87 142 299 28 221 16 205 195 112 78 247 194 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 92 118 2 257 105 144 27 198 20 268 - - - BICOMP - 87 142 299 28 221 16 205 195 112 78 247 194 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 92 118 2 257 105 144 27 198 20 268 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 111 - - - BICOMP - 85 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 190 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 190 - - - - - $PROJ_DIR$\lwip\netif\ethernetif.c - - - ICCARM - 75 - - - BICOMP - 86 - - - - - ICCARM - 16 205 87 142 299 28 2 195 112 92 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 221 78 156 257 27 105 198 118 261 76 214 179 216 168 6 22 254 162 47 256 244 203 268 - - - BICOMP - 16 205 87 142 299 28 2 195 112 92 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 221 78 156 257 27 105 198 118 261 76 214 179 216 168 6 22 254 162 47 256 244 203 268 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_out.c - - - ICCARM - 77 - - - BICOMP - 56 - - - - - ICCARM - 16 205 87 142 299 28 - - - BICOMP - 16 205 87 142 299 28 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - - - ICCARM - 137 - - - BICOMP - 297 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 - - - - - $PROJ_DIR$\Library\source\91x_wdg.c - - - ICCARM - 189 - - - BICOMP - 187 - - - - - ICCARM - 203 214 179 216 47 - - - BICOMP - 203 214 179 216 47 - - - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - - - ICCARM - 44 - - - BICOMP - 173 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 93 222 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 93 222 - - - - - $PROJ_DIR$\..\Common\Minimal\flop.c - - - ICCARM - 79 - - - BICOMP - 232 - - - - - ICCARM - 45 157 89 99 102 154 39 243 207 174 30 131 62 298 12 170 43 186 103 193 88 - - - BICOMP - 45 157 89 102 154 39 243 207 174 30 131 62 298 12 170 43 186 103 193 88 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\inet.c - - - ICCARM - 301 - - - BICOMP - 101 - - - - - ICCARM - 16 205 87 142 299 28 112 2 198 92 257 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 - - - BICOMP - 16 205 87 142 299 28 112 2 198 92 257 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 96 - - - BICOMP - 229 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 109 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 109 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\netif.c - - - ICCARM - 53 - - - BICOMP - 69 - - - - - ICCARM - 16 205 87 142 299 28 2 257 112 27 105 198 92 194 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 195 118 144 0 274 - - - BICOMP - 16 205 87 142 299 28 2 257 112 27 105 198 92 194 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 195 118 144 0 274 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\memp.c - - - ICCARM - 208 - - - BICOMP - 223 - - - - - ICCARM - 16 205 87 142 299 28 78 92 274 112 198 257 118 2 105 237 194 188 248 30 131 157 89 99 102 154 39 243 62 298 12 170 43 186 103 193 40 93 195 144 27 165 24 31 221 - - - BICOMP - 16 205 87 142 299 28 78 92 274 112 198 257 118 2 105 237 194 188 248 30 131 157 89 102 154 39 243 62 298 12 170 43 186 103 193 40 93 195 144 27 165 24 31 221 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\err.c - - - ICCARM - 72 - - - BICOMP - 202 - - - - - ICCARM - 105 16 205 87 142 299 28 - - - BICOMP - 105 16 205 87 142 299 28 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\icmp.c - - - ICCARM - 65 - - - BICOMP - 36 - - - - - ICCARM - 268 157 89 99 102 154 39 243 16 205 87 142 299 28 144 112 92 257 27 105 198 118 2 221 195 78 0 274 - - - BICOMP - 268 157 89 102 154 39 243 16 205 87 142 299 28 144 112 92 257 27 105 198 118 2 221 195 78 0 274 - - - - - $PROJ_DIR$\91x_vect_IAR.s - - - AARM - 21 - - - - - AARM - 298 110 - - - - - $PROJ_DIR$\..\Common\Minimal\QPeek.c - - - ICCARM - 34 - - - BICOMP - 5 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 93 272 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 103 193 40 93 272 - - - - - $PROJ_DIR$\91x_init_IAR.s - - - AARM - 151 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 197 - - - BICOMP - 260 - - - - - ICCARM - 32 157 89 99 102 154 39 243 45 268 30 131 62 298 12 170 43 186 103 193 - - - BICOMP - 32 157 89 102 154 39 243 45 268 30 131 62 298 12 170 43 186 103 193 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - - - AARM - 276 - - - - - AARM - 110 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 167 - - - BICOMP - 113 - - - - - ICCARM - 45 157 89 99 102 154 39 243 268 30 131 62 298 12 170 43 186 103 193 130 - - - BICOMP - 45 157 89 102 154 39 243 268 30 131 62 298 12 170 43 186 103 193 130 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 25 - - - BICOMP - 176 - - - - - ICCARM - 45 157 89 99 102 154 39 243 30 131 62 298 12 170 43 186 193 - - - BICOMP - 45 157 89 102 154 39 243 30 131 62 298 12 170 43 186 193 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - - - ICCARM - 192 - - - BICOMP - 15 - - - - - ICCARM - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 45 157 89 99 102 154 39 243 239 30 131 62 298 12 170 43 186 103 193 - - - BICOMP - 76 214 179 216 168 6 22 254 162 47 256 244 203 261 45 157 89 102 154 39 243 239 30 131 62 298 12 170 43 186 103 193 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\stats.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\sys.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_scu.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_gpio.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_msg.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\fs.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_vic.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_tim.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib2.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_dec.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\BasicWEB.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\raw.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\mem.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_enc.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_in.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_uart.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_lib.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\flash.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_out.c - ICCARM - - - $PROJ_DIR$\ParTest\ParTest.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\tcpip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\udp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib_structs.c - ICCARM - - - $PROJ_DIR$\main.c - ICCARM - - - $PROJ_DIR$\webserver\uIP_Task.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_fmi.c - ICCARM - - - $PROJ_DIR$\serial\serial.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\netif\etharp.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - ICCARM - - - $PROJ_DIR$\lwip\api\sys_arch.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\sockets.c - ICCARM - - - $PROJ_DIR$\STCode\lcd.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\pbuf.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\integer.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_lib.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_in.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_enet.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_it.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\dhcp.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\httpd.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - ICCARM - - - $PROJ_DIR$\lwip\netif\ethernetif.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_out.c - ICCARM - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_wdg.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\flop.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\inet.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\netif.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\memp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\err.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\icmp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - ICCARM - - - $PROJ_DIR$\webserver\httpd.c - ICCARM - - - $PROJ_DIR$\webserver\httpd-fs.c - ICCARM - - - $PROJ_DIR$\webserver\httpd-cgi.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\QPeek.c - ICCARM - - - $PROJ_DIR$\..\..\Source\tasks.c - ICCARM - - - $PROJ_DIR$\..\..\Source\queue.c - ICCARM - - - $PROJ_DIR$\..\..\Source\list.c - ICCARM - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - ICCARM - - - - ARM - lwIP - R - - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\snmp.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\def.h - $PROJ_DIR$\ARM - lwIP - R\Obj\tcp_in.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\mib2.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\ParTest.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\asn1_enc.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\tcp_out.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\icmp.r79 - $PROJ_DIR$\Library\include\91x_fmi.h - $PROJ_DIR$\ARM - lwIP - R\Obj\tasks.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\stats.c - $PROJ_DIR$\..\Common\include\comtest2.h - $PROJ_DIR$\ARM - lwIP - R\Obj\ip_addr.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\stats.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\stats.pbi - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\ARM - lwIP - R\Obj\sockets.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\sys.c - $PROJ_DIR$\lwip\include\lwip\opt.h - $PROJ_DIR$\lwip\include\lwIPWebServer\fs.h - $PROJ_DIR$\ARM - lwIP - R\Obj\tcp_in.pbi - $PROJ_DIR$\Library\include\91x_vic.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\api_msg.h - $PROJ_DIR$\Library\source\91x_scu.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\netif.h - $PROJ_DIR$\lwip\include\arch\lwip_errno.h - $PROJ_DIR$\Library\source\91x_gpio.c - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_scu.r79 - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_tim.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\tcpip.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_gpio.pbi - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_lib.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\api_msg.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\udp.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\list.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\asn1_dec.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\raw.r79 - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_wdg.r79 - $TOOLKIT_DIR$\inc\intrinsic.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\Library\include\91x_scu.h - $PROJ_DIR$\ARM - lwIP - R\Obj\tcp.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_msg.c - $PROJ_DIR$\ARM - lwIP - R\Obj\tasks.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\sys_arch.r79 - $PROJ_DIR$\ARM - lwIP - R\List\RTOSDemo.html - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\ARM - lwIP - R\Obj\BasicWEB.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\semtest.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\tcpip.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\dhcp.r79 - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\ARM - lwIP - R\Obj\udp.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\sys.pbi - $PROJ_DIR$\lwip\lwipWebServer\fs.c - $PROJ_DIR$\ARM - lwIP - R\Obj\tcpip.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\asn1_enc.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\pbuf.pbi - $PROJ_DIR$\Library\source\91x_vic.c - $PROJ_DIR$\Library\source\91x_tim.c - $PROJ_DIR$\Library\include\91x_lib.h - $PROJ_DIR$\ARM - lwIP - R\Obj\integer.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\memp.h - $PROJ_DIR$\ARM - lwIP - R\Obj\ip.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\PollQ.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\msg_out.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\GenQTest.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\etharp.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\portasm.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\RTOSDemo.pbd - $PROJ_DIR$\ARM - lwIP - R\Obj\flop.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_enet.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\msg_in.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\dynamic.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - $PROJ_DIR$\ARM - lwIP - R\Obj\inet.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\debug.h - $PROJ_DIR$\..\Common\include\flop.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib2.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\pbuf.h - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\ARM - lwIP - R\Obj\BlockQ.r79 - $TOOLKIT_DIR$\lib\dl5tpainl8n.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_dec.c - $PROJ_DIR$\ARM - lwIP - R\Obj\sockets.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\etharp.pbi - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\ARM - lwIP - R\Obj\pbuf.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\QPeek.pbi - $PROJ_DIR$\..\..\Source\include\task.h - $PROJ_DIR$\..\Common\Minimal\dynamic.c - $PROJ_DIR$\ARM - lwIP - R\Obj\api_lib.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\err.h - $PROJ_DIR$\ARM - lwIP - R\Obj\dhcp.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\fs.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\ip_frag.h - $PROJ_DIR$\ARM - lwIP - R\Obj\memp.pbi - $PROJ_DIR$\lwip\lwipWebServer\BasicWEB.c - $PROJ_DIR$\ARM - lwIP - R\Obj\list.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\ethernetif.pbi - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_vect_IAR.r79 - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\ISR_Support.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\arch.h - $PROJ_DIR$\ARM - lwIP - R\Obj\semtest.r79 - $PROJ_DIR$\ARM - lwIP - R\Exe\RTOSDemo.sim - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\ip.h - $PROJ_DIR$\ARM - lwIP - R\Obj\mib_structs.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip.c - $PROJ_DIR$\ARM - lwIP - R\Obj\inet.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\main.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\sys_arch.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\dhcp.h - $PROJ_DIR$\ARM - lwIP - R\Obj\err.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\raw.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\mem.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp.c - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_fmi.r79 - $PROJ_DIR$\..\..\Source\include\croutine.h - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\ARM - lwIP - R\Obj\PollQ.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_enc.c - $PROJ_DIR$\ARM - lwIP - R\Obj\ip_addr.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_in.c - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\ARM - lwIP - R\Obj\ip_frag.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\BasicWEB.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - $TOOLKIT_DIR$\inc\errno.h - $PROJ_DIR$\ARM - lwIP - R\Obj\api_lib.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\sys.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\raw.pbi - $PROJ_DIR$\lwip\include\arch\cc.h - $PROJ_DIR$\ARM - lwIP - R\Exe\RTOSDemo.d79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\icmp.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_uart.pbi - $PROJ_DIR$\Library\source\91x_uart.c - $PROJ_DIR$\Library\source\91x_lib.c - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_vic.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\port.r79 - $PROJ_DIR$\lwip\include\lwIPWebServer\fsdata.h - $PROJ_DIR$\..\Common\Minimal\flash.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_out.c - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_enet.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\flash.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\include\netif\etharp.h - $PROJ_DIR$\ARM - lwIP - R\Obj\fs.pbi - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\ARM - lwIP - R\Obj\mib2.pbi - $PROJ_DIR$\STCode\lcd.h - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\Library\include\91x_tim.h - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_wdg.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\api\tcpip.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\api.h - $PROJ_DIR$\ARM - lwIP - R\Obj\memp.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\ip.pbi - $PROJ_DIR$\Library\include\91x_ahbapb.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\udp.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portmacro.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib_structs.c - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\main.c - $PROJ_DIR$\Library\include\91x_conf.h - $PROJ_DIR$\ARM - lwIP - R\Obj\mem.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_init_IAR.r79 - $PROJ_DIR$\lwip\include\lwIPWebServer\BasicWEB.h - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\ARM - lwIP - R\Obj\comtest.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\sys.h - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\ARM - lwIP - R\Obj\flop.pbi - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\ARM - lwIP - R\Obj\httpd.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\ethernetif.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\tcp.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\mem.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\inet.h - $PROJ_DIR$\Library\source\91x_fmi.c - $PROJ_DIR$\ARM - lwIP - R\Obj\QPeek.r79 - $PROJ_DIR$\serial\serial.c - $PROJ_DIR$\Library\include\91x_wdg.h - $PROJ_DIR$\ARM - lwIP - R\Obj\integer.pbi - $PROJ_DIR$\lwip\include\lwip\lwipopts.h - $PROJ_DIR$\..\Common\ethernet\lwIP\netif\etharp.c - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_gpio.r79 - $PROJ_DIR$\..\Common\Minimal\comtest.c - $PROJ_DIR$\lwip\api\sys_arch.c - $PROJ_DIR$\..\Common\ethernet\lwIP\api\sockets.c - $PROJ_DIR$\STCode\lcd.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\pbuf.c - $PROJ_DIR$\Library\include\91x_map.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_lib.pbi - $PROJ_DIR$\Library\include\91x_type.h - $PROJ_DIR$\lwip\include\arch\perf.h - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_lib.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_in.c - $PROJ_DIR$\ARM - lwIP - R\Obj\GenQTest.r79 - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\stats.h - $PROJ_DIR$\..\Common\include\GenQTest.h - $PROJ_DIR$\ARM - lwIP - R\Obj\heap_2.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\serial.pbi - $PROJ_DIR$\Library\source\91x_enet.c - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\Library\source\91x_it.c - $PROJ_DIR$\ARM - lwIP - R\Obj\msg_out.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\dhcp.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\sockets.h - $PROJ_DIR$\ARM - lwIP - R\Obj\lcd.r79 - $PROJ_DIR$\..\Common\include\integer.h - $PROJ_DIR$\..\Common\include\comtest.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\raw.h - $PROJ_DIR$\ARM - lwIP - R\Obj\BlockQ.pbi - $PROJ_DIR$\lwip\lwipWebServer\httpd.c - $TOOLKIT_DIR$\inc\assert.h - $PROJ_DIR$\ARM - lwIP - R\Obj\main.pbi - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $PROJ_DIR$\ARM - lwIP - R\Obj\serial.r79 - $PROJ_DIR$\lwip\netif\ethernetif.c - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\Library\include\91x_uart.h - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_out.c - $PROJ_DIR$\ARM - lwIP - R\Obj\port.pbi - $PROJ_DIR$\lwip\include\lwIPWebServer\httpd.h - $PROJ_DIR$\lwip\include\arch\sys_arch.h - $PROJ_DIR$\..\Common\include\serial.h - $TOOLKIT_DIR$\lib\dl5tpainl8n.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\mib_structs.pbi - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\Library\include\91x_it.h - $PROJ_DIR$\ARM - lwIP - R\Obj\queue.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\api_msg.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\queue.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\err.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\netif.pbi - $PROJ_DIR$\Library\include\91x_gpio.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\ipv4\lwip\ip_addr.h - $PROJ_DIR$\Library\source\91x_wdg.c - $PROJ_DIR$\Library\include\91x_enet.h - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - $PROJ_DIR$\..\Common\Minimal\flop.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\inet.c - $PROJ_DIR$\ARM - lwIP - R\Obj\msg_in.pbi - $PROJ_DIR$\lwip\lwipWebServer\fsdata.c - $PROJ_DIR$\ARM - lwIP - R\Obj\icmp.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\flash.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\netif.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\dynamic.r79 - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\netif.c - $PROJ_DIR$\..\Common\ethernet\lwIP\core\memp.c - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_scu.pbi - $PROJ_DIR$\..\Common\include\QPeek.h - $PROJ_DIR$\ARM - lwIP - R\Obj\heap_2.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\api\err.c - $PROJ_DIR$\..\Common\ethernet\lwIP\include\lwip\udp.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_tim.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\tcp_out.r79 - $PROJ_DIR$\..\Common\include\dynamic.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_it.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_it.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\comtest.pbi - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\icmp.c - $PROJ_DIR$\ARM - lwIP - R\Obj\ip_frag.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\httpd.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\ParTest.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_vic.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_uart.r79 - $PROJ_DIR$\ARM - lwIP - R\Obj\lcd.pbi - $PROJ_DIR$\91x_vect_IAR.s - $PROJ_DIR$\ARM - lwIP - R\Obj\mem.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\asn1_dec.pbi - $PROJ_DIR$\ARM - lwIP - R\Obj\tcp.pbi - $PROJ_DIR$\..\Common\Minimal\QPeek.c - $PROJ_DIR$\lnkarm_flash.xcl - $PROJ_DIR$\91x_init_IAR.s - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\lwip\include\arch\cpu.h - $PROJ_DIR$\..\Common\ethernet\lwIP\include\netif\loopif.h - $PROJ_DIR$\ARM - lwIP - R\Obj\91x_fmi.pbi - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\stats.c - - - ICCARM - 13 - - - BICOMP - 14 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 1 207 183 108 66 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 1 207 183 108 66 - - - - - [ROOT_NODE] - - - XLINK - 49 110 138 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\sys.c - - - ICCARM - 135 - - - BICOMP - 57 - - - - - ICCARM - 176 137 292 25 18 190 80 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 1 66 - - - BICOMP - 176 137 292 25 18 190 80 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 1 66 - - - - - $PROJ_DIR$\Library\source\91x_scu.c - - - ICCARM - 27 - - - BICOMP - 261 - - - - - ICCARM - 44 199 170 201 - - - BICOMP - 44 199 170 201 - - - - - $PROJ_DIR$\Library\source\91x_gpio.c - - - ICCARM - 193 - - - BICOMP - 31 - - - - - ICCARM - 244 199 170 201 44 - - - BICOMP - 244 199 170 201 44 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_msg.c - - - ICCARM - 240 - - - BICOMP - 34 - - - - - ICCARM - 18 190 80 137 292 25 108 22 84 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 111 1 245 97 265 184 182 183 139 24 161 220 66 30 - - - BICOMP - 18 190 80 137 292 25 108 22 84 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 111 1 245 97 265 184 182 183 139 24 161 220 66 30 - - - - - $PROJ_DIR$\lwip\lwipWebServer\fs.c - - - ICCARM - 99 - - - BICOMP - 152 - - - - - ICCARM - 1 137 292 25 19 145 252 257 153 82 87 91 148 39 228 - - - BICOMP - 1 137 292 25 19 145 252 257 153 82 91 148 39 228 - - - - - $PROJ_DIR$\Library\source\91x_vic.c - - - ICCARM - 276 - - - BICOMP - 143 - - - - - ICCARM - 21 199 170 201 238 64 164 8 157 44 244 229 188 247 - - - BICOMP - 21 199 170 201 238 64 164 8 157 44 244 229 188 247 - - - - - $PROJ_DIR$\Library\source\91x_tim.c - - - ICCARM - 29 - - - BICOMP - 266 - - - - - ICCARM - 157 199 170 201 44 - - - BICOMP - 157 199 170 201 44 - - - - - $PROJ_DIR$\ARM - lwIP - R\Obj\RTOSDemo.pbd - - - BILINK - 149 294 31 270 200 261 266 140 143 159 51 221 70 275 125 93 96 34 281 5 271 98 77 242 90 104 150 178 152 263 274 253 79 189 163 12 273 278 36 224 280 101 154 236 251 214 243 61 231 241 136 52 210 16 14 57 116 9 282 20 6 53 35 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - - - ICCARM - 130 - - - BICOMP - 273 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 111 108 1 84 245 97 100 24 184 0 265 207 183 66 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 111 108 1 84 245 97 100 24 184 0 265 207 183 66 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib2.c - - - ICCARM - 3 - - - BICOMP - 154 - - - - - ICCARM - 137 292 25 18 190 80 - - - BICOMP - 137 292 25 18 190 80 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_dec.c - - - ICCARM - 37 - - - BICOMP - 281 - - - - - ICCARM - 18 190 80 137 292 25 - - - BICOMP - 18 190 80 137 292 25 - - - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - ICCARM - 256 - - - BICOMP - 77 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 85 40 268 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 85 40 268 - - - - - $PROJ_DIR$\lwip\lwipWebServer\BasicWEB.c - - - ICCARM - 131 - - - BICOMP - 51 - - - - - ICCARM - 32 153 82 87 91 148 39 228 257 28 124 55 291 15 166 42 174 94 179 85 40 173 201 161 18 190 80 137 292 25 84 176 233 111 108 1 245 97 220 184 265 182 183 139 24 30 22 66 207 293 155 64 199 170 164 8 21 238 157 44 244 229 188 247 232 - - - BICOMP - 32 153 82 91 148 39 228 257 28 124 55 291 15 166 42 174 94 179 85 40 173 201 161 18 190 80 137 292 25 84 176 233 111 108 1 245 97 220 184 265 182 183 139 24 30 22 66 207 293 155 64 199 170 164 8 21 238 157 44 244 229 188 247 232 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip.c - - - ICCARM - 67 - - - BICOMP - 163 - - - - - ICCARM - 18 190 80 137 292 25 1 183 108 111 84 245 97 100 24 184 139 220 265 182 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 207 66 202 0 - - - BICOMP - 18 190 80 137 292 25 1 183 108 111 84 245 97 100 24 184 139 220 265 182 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 207 66 202 0 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\raw.c - - - ICCARM - 38 - - - BICOMP - 136 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 1 66 184 108 84 245 24 97 220 111 207 183 202 0 265 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 1 66 184 108 84 245 24 97 220 111 207 183 202 0 265 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\mem.c - - - ICCARM - 171 - - - BICOMP - 280 - - - - - ICCARM - 257 153 82 87 91 148 39 228 108 137 292 25 18 190 80 1 183 176 233 28 124 55 291 15 166 42 174 94 179 40 85 207 66 - - - BICOMP - 257 153 82 91 148 39 228 108 137 292 25 18 190 80 1 183 176 233 28 124 55 291 15 166 42 174 94 179 40 85 207 66 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp.c - - - ICCARM - 45 - - - BICOMP - 282 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 1 183 108 66 0 24 97 245 184 84 265 111 182 176 233 28 124 55 291 15 166 42 174 94 179 40 85 139 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 1 183 108 66 0 24 97 245 184 84 265 111 182 176 233 28 124 55 291 15 166 42 174 94 179 40 85 139 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_enc.c - - - ICCARM - 60 - - - BICOMP - 5 - - - - - ICCARM - 18 190 80 137 292 25 - - - BICOMP - 18 190 80 137 292 25 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_in.c - - - ICCARM - 2 - - - BICOMP - 20 - - - - - ICCARM - 1 137 292 25 18 190 80 245 108 24 97 184 84 183 66 182 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 111 139 207 202 0 265 - - - BICOMP - 1 137 292 25 18 190 80 245 108 24 97 184 84 183 66 182 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 111 139 207 202 0 265 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - - - ICCARM - 127 - - - BICOMP - 12 - - - - - ICCARM - 245 108 137 292 25 184 18 190 80 84 24 97 - - - BICOMP - 245 108 137 292 25 184 18 190 80 84 24 97 - - - - - $PROJ_DIR$\ARM - lwIP - R\Exe\RTOSDemo.d79 - - - XLINK - 49 110 - - - - - XLINK - 284 75 122 193 172 269 33 27 29 277 106 276 41 131 86 206 4 68 186 134 240 37 60 175 54 256 118 71 181 254 74 99 209 180 7 114 65 67 127 130 217 103 115 171 162 3 112 76 69 255 92 144 72 239 38 109 226 89 13 135 48 47 45 2 267 59 56 235 - - - - - $PROJ_DIR$\Library\source\91x_uart.c - - - ICCARM - 277 - - - BICOMP - 140 - - - - - ICCARM - 229 199 170 201 44 - - - BICOMP - 229 199 170 201 44 - - - - - $PROJ_DIR$\Library\source\91x_lib.c - - - ICCARM - 33 - - - BICOMP - 200 - - - - - ICCARM - 199 170 201 - - - BICOMP - 199 170 201 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCARM - 254 - - - BICOMP - 150 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 50 158 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 50 158 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_out.c - - - ICCARM - 267 - - - BICOMP - 6 - - - - - ICCARM - 257 153 82 87 91 148 39 228 1 137 292 25 18 190 80 183 108 66 176 233 28 124 55 291 15 166 42 174 94 179 40 85 245 24 97 184 84 182 111 139 207 0 265 - - - BICOMP - 257 153 82 91 148 39 228 1 137 292 25 18 190 80 183 108 66 176 233 28 124 55 291 15 166 42 174 94 179 40 85 245 24 97 184 84 182 111 139 207 0 265 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 4 - - - BICOMP - 275 - - - - - ICCARM - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 50 - - - BICOMP - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 28 124 153 82 91 148 39 228 55 291 15 166 42 174 50 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\tcpip.c - - - ICCARM - 59 - - - BICOMP - 53 - - - - - ICCARM - 18 190 80 137 292 25 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 66 84 111 108 1 245 97 100 24 184 265 182 183 139 30 22 161 220 - - - BICOMP - 18 190 80 137 292 25 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 66 84 111 108 1 245 97 100 24 184 265 182 183 139 30 22 161 220 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\udp.c - - - ICCARM - 56 - - - BICOMP - 35 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 1 66 184 108 84 245 24 97 265 111 139 207 183 202 0 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 1 66 184 108 84 245 24 97 265 111 139 207 183 202 0 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib_structs.c - - - ICCARM - 112 - - - BICOMP - 236 - - - - - ICCARM - 18 190 80 137 292 25 - - - BICOMP - 18 190 80 137 292 25 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 115 - - - BICOMP - 224 - - - - - ICCARM - 32 153 82 87 91 148 39 228 64 199 170 201 164 8 21 238 157 44 244 229 188 247 28 124 55 291 15 166 42 174 94 179 40 155 158 218 105 177 129 268 50 81 11 234 208 262 173 176 137 292 25 18 190 80 233 85 - - - BICOMP - 32 153 82 91 148 39 228 64 199 170 201 164 8 21 238 157 44 244 229 188 247 28 124 55 291 15 166 42 174 94 179 40 155 158 218 105 177 129 268 50 81 11 234 208 262 173 176 137 292 25 18 190 80 233 85 - - - - - $PROJ_DIR$\Library\source\91x_fmi.c - - - ICCARM - 122 - - - BICOMP - 294 - - - - - ICCARM - 8 199 170 201 - - - BICOMP - 8 199 170 201 - - - - - $PROJ_DIR$\serial\serial.c - - - ICCARM - 226 - - - BICOMP - 210 - - - - - ICCARM - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 40 85 234 - - - BICOMP - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 28 124 153 82 91 148 39 228 55 291 15 166 42 174 40 85 234 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\netif\etharp.c - - - ICCARM - 71 - - - BICOMP - 90 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 184 108 84 245 151 24 97 111 1 207 183 66 0 265 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 184 108 84 245 151 24 97 111 1 207 183 66 0 265 - - - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - - - ICCARM - 175 - - - BICOMP - 271 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 234 219 50 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 234 219 50 - - - - - $PROJ_DIR$\lwip\api\sys_arch.c - - - ICCARM - 48 - - - BICOMP - 116 - - - - - ICCARM - 80 137 292 25 1 176 18 190 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 183 108 32 - - - BICOMP - 80 137 292 25 1 176 18 190 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 183 108 32 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\sockets.c - - - ICCARM - 89 - - - BICOMP - 16 - - - - - ICCARM - 257 153 82 87 91 148 39 228 133 18 190 80 137 292 25 161 84 176 233 28 124 55 291 15 166 42 174 94 179 40 85 111 108 1 245 97 220 184 265 182 183 139 24 216 - - - BICOMP - 257 153 82 91 148 39 228 133 18 190 80 137 292 25 161 84 176 233 28 124 55 291 15 166 42 174 94 179 40 85 111 108 1 245 97 220 184 265 182 183 139 24 216 - - - - - $PROJ_DIR$\STCode\lcd.c - - - ICCARM - 217 - - - BICOMP - 278 - - - - - ICCARM - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 155 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 - - - BICOMP - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 155 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\pbuf.c - - - ICCARM - 92 - - - BICOMP - 61 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 207 183 108 66 1 84 176 233 28 124 55 291 15 166 42 174 94 179 40 85 202 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 207 183 108 66 1 84 176 233 28 124 55 291 15 166 42 174 94 179 40 85 202 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 65 - - - BICOMP - 189 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 218 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 218 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_lib.c - - - ICCARM - 134 - - - BICOMP - 96 - - - - - ICCARM - 18 190 80 137 292 25 161 84 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 111 108 1 245 97 220 184 265 182 183 139 24 22 66 - - - BICOMP - 18 190 80 137 292 25 161 84 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 111 108 1 245 97 220 184 265 182 183 139 24 22 66 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_in.c - - - ICCARM - 76 - - - BICOMP - 251 - - - - - ICCARM - 18 190 80 137 292 25 - - - BICOMP - 18 190 80 137 292 25 - - - - - $PROJ_DIR$\Library\source\91x_enet.c - - - ICCARM - 75 - - - BICOMP - 149 - - - - - ICCARM - 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 64 199 170 201 164 8 21 238 157 44 244 229 188 247 257 - - - BICOMP - 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 64 199 170 201 164 8 21 238 157 44 244 229 188 247 257 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 109 - - - BICOMP - 52 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 85 40 129 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 85 40 129 - - - - - $PROJ_DIR$\Library\source\91x_it.c - - - ICCARM - 269 - - - BICOMP - 270 - - - - - ICCARM - 291 238 64 199 170 201 164 8 21 157 44 244 229 188 247 - - - BICOMP - 291 238 64 199 170 201 164 8 21 157 44 244 229 188 247 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\dhcp.c - - - ICCARM - 54 - - - BICOMP - 98 - - - - - ICCARM - 257 153 82 87 91 148 39 228 207 18 190 80 137 292 25 183 108 66 265 84 184 245 111 1 97 24 151 176 233 28 124 55 291 15 166 42 174 94 179 40 85 117 - - - BICOMP - 257 153 82 91 148 39 228 207 18 190 80 137 292 25 183 108 66 265 84 184 245 111 1 97 24 151 176 233 28 124 55 291 15 166 42 174 94 179 40 85 117 - - - - - $PROJ_DIR$\lwip\lwipWebServer\httpd.c - - - ICCARM - 180 - - - BICOMP - 274 - - - - - ICCARM - 80 137 292 25 207 18 190 183 108 66 232 182 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 84 111 1 245 97 139 24 184 19 257 - - - BICOMP - 80 137 292 25 207 18 190 183 108 66 232 182 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 84 111 1 245 97 139 24 184 19 257 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 86 - - - BICOMP - 221 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 177 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 177 - - - - - $PROJ_DIR$\lwip\netif\ethernetif.c - - - ICCARM - 181 - - - BICOMP - 104 - - - - - ICCARM - 18 190 80 137 292 25 1 183 108 84 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 207 66 151 245 24 97 184 111 247 64 199 170 201 164 8 21 238 157 44 244 229 188 257 - - - BICOMP - 18 190 80 137 292 25 1 183 108 84 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 207 66 151 245 24 97 184 111 247 64 199 170 201 164 8 21 238 157 44 244 229 188 257 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_out.c - - - ICCARM - 69 - - - BICOMP - 214 - - - - - ICCARM - 18 190 80 137 292 25 - - - BICOMP - 18 190 80 137 292 25 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - - - ICCARM - 209 - - - BICOMP - 263 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 - - - - - $PROJ_DIR$\Library\source\91x_wdg.c - - - ICCARM - 41 - - - BICOMP - 159 - - - - - ICCARM - 188 199 170 201 44 - - - BICOMP - 188 199 170 201 44 - - - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - - - ICCARM - 206 - - - BICOMP - 70 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 85 208 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 85 208 - - - - - $PROJ_DIR$\..\Common\Minimal\flop.c - - - ICCARM - 74 - - - BICOMP - 178 - - - - - ICCARM - 43 153 82 87 91 148 39 228 192 168 28 124 55 291 15 166 42 174 94 179 81 - - - BICOMP - 43 153 82 91 148 39 228 192 168 28 124 55 291 15 166 42 174 94 179 81 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\inet.c - - - ICCARM - 114 - - - BICOMP - 79 - - - - - ICCARM - 18 190 80 137 292 25 108 1 184 84 245 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 - - - BICOMP - 18 190 80 137 292 25 108 1 184 84 245 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 68 - - - BICOMP - 125 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 105 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 105 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\netif.c - - - ICCARM - 255 - - - BICOMP - 243 - - - - - ICCARM - 18 190 80 137 292 25 1 245 108 24 97 184 84 182 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 183 111 139 0 265 - - - BICOMP - 18 190 80 137 292 25 1 245 108 24 97 184 84 182 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 183 111 139 0 265 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\memp.c - - - ICCARM - 162 - - - BICOMP - 101 - - - - - ICCARM - 18 190 80 137 292 25 66 84 265 108 184 245 111 1 97 220 182 176 233 28 124 153 82 87 91 148 39 228 55 291 15 166 42 174 94 179 40 85 183 139 24 161 22 30 207 - - - BICOMP - 18 190 80 137 292 25 66 84 265 108 184 245 111 1 97 220 182 176 233 28 124 153 82 91 148 39 228 55 291 15 166 42 174 94 179 40 85 183 139 24 161 22 30 207 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\err.c - - - ICCARM - 118 - - - BICOMP - 242 - - - - - ICCARM - 97 18 190 80 137 292 25 - - - BICOMP - 97 18 190 80 137 292 25 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\icmp.c - - - ICCARM - 7 - - - BICOMP - 253 - - - - - ICCARM - 257 153 82 87 91 148 39 228 18 190 80 137 292 25 139 108 84 245 24 97 184 111 1 207 183 66 0 265 - - - BICOMP - 257 153 82 91 148 39 228 18 190 80 137 292 25 139 108 84 245 24 97 184 111 1 207 183 66 0 265 - - - - - $PROJ_DIR$\91x_vect_IAR.s - - - AARM - 106 - - - - - AARM - 291 107 - - - - - $PROJ_DIR$\..\Common\Minimal\QPeek.c - - - ICCARM - 186 - - - BICOMP - 93 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 85 262 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 94 179 40 85 262 - - - - - $PROJ_DIR$\91x_init_IAR.s - - - AARM - 172 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 47 - - - BICOMP - 9 - - - - - ICCARM - 32 153 82 87 91 148 39 228 43 257 28 124 55 291 15 166 42 174 94 179 - - - BICOMP - 32 153 82 91 148 39 228 43 257 28 124 55 291 15 166 42 174 94 179 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - - - AARM - 72 - - - - - AARM - 107 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 239 - - - BICOMP - 241 - - - - - ICCARM - 43 153 82 87 91 148 39 228 257 28 124 55 291 15 166 42 174 94 179 123 - - - BICOMP - 43 153 82 91 148 39 228 257 28 124 55 291 15 166 42 174 94 179 123 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 103 - - - BICOMP - 36 - - - - - ICCARM - 43 153 82 87 91 148 39 228 28 124 55 291 15 166 42 174 179 - - - BICOMP - 43 153 82 91 148 39 228 28 124 55 291 15 166 42 174 179 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - - - ICCARM - 144 - - - BICOMP - 231 - - - - - ICCARM - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 43 153 82 87 91 148 39 228 223 28 124 55 291 15 166 42 174 94 179 - - - BICOMP - 64 199 170 201 164 8 21 238 157 44 244 229 188 247 43 153 82 91 148 39 228 223 28 124 55 291 15 166 42 174 94 179 - - - - - - ARM - uIP - D - - $PROJ_DIR$\ARM - uIP - D\Obj\httpd-fs.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\httpd-cgi.r79 - $PROJ_DIR$\Library\include\91x_fmi.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_vect_IAR.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\list.r79 - $PROJ_DIR$\..\Common\include\comtest2.h - $PROJ_DIR$\ARM - uIP - D\Obj\portasm.r79 - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_wdg.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\91x_fmi.pbi - $PROJ_DIR$\ARM - uIP - D\List\RTOSDemo.html - $PROJ_DIR$\ARM - uIP - D\Obj\91x_uart.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc.h - $PROJ_DIR$\Library\include\91x_vic.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_lib.pbi - $PROJ_DIR$\Library\source\91x_scu.c - $PROJ_DIR$\Library\source\91x_gpio.c - $PROJ_DIR$\ARM - uIP - D\Obj\lcd.pbi - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_uart.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\PollQ.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\psock.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\port.r79 - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\ARM - uIP - D\Obj\queue.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\91x_vic.r79 - $TOOLKIT_DIR$\inc\intrinsic.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\Library\include\91x_scu.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_enet.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\httpd-cgi.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\httpd-fs.r79 - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\ARM - uIP - D\Obj\uip.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\flash.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\ParTest.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\uip_arp.r79 - $PROJ_DIR$\Library\source\91x_vic.c - $PROJ_DIR$\Library\source\91x_tim.c - $PROJ_DIR$\Library\include\91x_lib.h - $PROJ_DIR$\ARM - uIP - D\Obj\integer.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\tasks.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\ParTest.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\91x_lib.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\pt.h - $PROJ_DIR$\ARM - uIP - D\Obj\semtest.r79 - $PROJ_DIR$\ARM - uIP - D\Exe\RTOSDemo.sim - $TOOLKIT_DIR$\inc\stdint.h - $PROJ_DIR$\ARM - uIP - D\Obj\uIP_Task.r79 - $PROJ_DIR$\..\Common\include\flop.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\ARM - uIP - D\Obj\serial.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\httpd.r79 - $PROJ_DIR$\webserver\clock-arch.h - $PROJ_DIR$\webserver\httpd-fsdata.h - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.h - $TOOLKIT_DIR$\lib\dl5tpainl8n.h - $PROJ_DIR$\ARM - uIP - D\Obj\GenQTest.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\91x_scu.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\91x_vic.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\91x_tim.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\uip_arp.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\main.r79 - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\include\task.h - $PROJ_DIR$\..\Common\Minimal\dynamic.c - $PROJ_DIR$\ARM - uIP - D\Obj\flop.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\list.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\91x_enet.pbi - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\ISR_Support.h - $PROJ_DIR$\webserver\httpd-cgi.h - $PROJ_DIR$\ARM - uIP - D\Obj\BlockQ.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\flash.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\dynamic.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\heap_2.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\RTOSDemo.pbd - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\clock.h - $PROJ_DIR$\ARM - uIP - D\Obj\psock.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\comtest.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\GenQTest.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\91x_tim.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\port.pbi - $PROJ_DIR$\..\..\Source\include\croutine.h - $PROJ_DIR$\ARM - uIP - D\Obj\dynamic.pbi - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_it.pbi - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_wdg.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\http-strings.pbi - $PROJ_DIR$\Library\source\91x_uart.c - $PROJ_DIR$\Library\source\91x_lib.c - $PROJ_DIR$\..\Common\Minimal\flash.c - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\webserver\http-strings.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\ARM - uIP - D\Obj\lcd.r79 - $PROJ_DIR$\STCode\lcd.h - $PROJ_DIR$\webserver\webserver.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_it.r79 - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\ARM - uIP - D\Obj\integer.r79 - $PROJ_DIR$\Library\include\91x_tim.h - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\ARM - uIP - D\Obj\http-strings.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\httpd.pbi - $PROJ_DIR$\webserver\httpd.h - $PROJ_DIR$\ARM - uIP - D\Obj\heap_2.pbi - $PROJ_DIR$\Library\include\91x_ahbapb.h - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portmacro.h - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\ARM - uIP - D\Obj\QPeek.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\semtest.pbi - $PROJ_DIR$\main.c - $PROJ_DIR$\Library\include\91x_conf.h - $PROJ_DIR$\webserver\uIP_Task.c - $TOOLKIT_DIR$\inc\inttypes.h - $PROJ_DIR$\ARM - uIP - D\Obj\PollQ.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\91x_scu.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\comtest.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\91x_gpio.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\main.pbi - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\ARM - uIP - D\Obj\flop.pbi - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\webserver\httpd-fsdata.c - $PROJ_DIR$\ARM - uIP - D\Obj\BlockQ.r79 - $PROJ_DIR$\Library\source\91x_fmi.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.h - $PROJ_DIR$\serial\serial.c - $PROJ_DIR$\ARM - uIP - D\Obj\91x_init_IAR.r79 - $PROJ_DIR$\Library\include\91x_wdg.h - $PROJ_DIR$\ARM - uIP - D\Obj\91x_gpio.r79 - $PROJ_DIR$\webserver\uip-conf.h - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\Common\Minimal\comtest.c - $PROJ_DIR$\STCode\lcd.c - $PROJ_DIR$\ARM - uIP - D\Obj\91x_fmi.r79 - $PROJ_DIR$\Library\include\91x_map.h - $PROJ_DIR$\Library\include\91x_type.h - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\..\Common\include\GenQTest.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arch.h - $PROJ_DIR$\Library\source\91x_enet.c - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\Library\source\91x_it.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.h - $PROJ_DIR$\..\Common\include\integer.h - $PROJ_DIR$\..\Common\include\comtest.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uipopt.h - $PROJ_DIR$\ARM - uIP - D\Obj\uIP_Task.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\tasks.r79 - $TOOLKIT_DIR$\inc\assert.h - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\ARM - uIP - D\Obj\queue.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.h - $PROJ_DIR$\Library\include\91x_uart.h - $PROJ_DIR$\ARM - uIP - D\Obj\uip.pbi - $PROJ_DIR$\..\Common\include\serial.h - $TOOLKIT_DIR$\lib\dl5tpainl8n.r79 - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\Library\include\91x_it.h - $PROJ_DIR$\webserver\httpd-fs.h - $PROJ_DIR$\ARM - uIP - D\Obj\serial.r79 - $PROJ_DIR$\Library\include\91x_gpio.h - $PROJ_DIR$\Library\source\91x_wdg.c - $PROJ_DIR$\Library\include\91x_enet.h - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - $PROJ_DIR$\..\Common\Minimal\flop.c - $PROJ_DIR$\ARM - uIP - D\Obj\QPeek.r79 - $PROJ_DIR$\ARM - uIP - D\Obj\timer.pbi - $PROJ_DIR$\ARM - uIP - D\Obj\timer.r79 - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\Common\include\QPeek.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc-switch.h - $PROJ_DIR$\..\Common\include\dynamic.h - $PROJ_DIR$\ARM - uIP - D\Exe\RTOSDemo.d79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - $PROJ_DIR$\webserver\httpd.c - $PROJ_DIR$\webserver\httpd-fs.c - $PROJ_DIR$\91x_vect_IAR.s - $PROJ_DIR$\webserver\httpd-cgi.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - $PROJ_DIR$\..\Common\Minimal\QPeek.c - $PROJ_DIR$\lnkarm_flash.xcl - $PROJ_DIR$\91x_init_IAR.s - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - - - [ROOT_NODE] - - - XLINK - 10 49 183 - - - - - $PROJ_DIR$\Library\source\91x_scu.c - - - ICCARM - 122 - - - BICOMP - 62 - - - - - ICCARM - 30 143 118 144 - - - BICOMP - 30 143 118 144 - - - - - $PROJ_DIR$\Library\source\91x_gpio.c - - - ICCARM - 137 - - - BICOMP - 124 - - - - - ICCARM - 170 143 118 144 30 - - - BICOMP - 170 143 118 144 30 - - - - - $PROJ_DIR$\Library\source\91x_vic.c - - - ICCARM - 27 - - - BICOMP - 63 - - - - - ICCARM - 13 143 118 144 167 42 112 2 106 30 170 162 136 172 - - - BICOMP - 13 143 118 144 167 42 112 2 106 30 170 162 136 172 - - - - - $PROJ_DIR$\Library\source\91x_tim.c - - - ICCARM - 85 - - - BICOMP - 64 - - - - - ICCARM - 106 143 118 144 30 - - - BICOMP - 106 143 118 144 30 - - - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - ICCARM - 78 - - - BICOMP - 88 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 58 25 182 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 58 25 182 - - - - - $PROJ_DIR$\ARM - uIP - D\Obj\RTOSDemo.pbd - - - BILINK - 72 9 124 90 14 62 64 11 63 8 76 84 38 21 115 123 88 37 128 111 93 32 0 109 43 17 71 125 86 22 160 116 54 44 176 155 163 65 - - - - - $PROJ_DIR$\Library\source\91x_uart.c - - - ICCARM - 20 - - - BICOMP - 11 - - - - - ICCARM - 162 143 118 144 30 - - - BICOMP - 162 143 118 144 30 - - - - - $PROJ_DIR$\Library\source\91x_lib.c - - - ICCARM - 46 - - - BICOMP - 14 - - - - - ICCARM - 143 118 144 - - - BICOMP - 143 118 144 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCARM - 77 - - - BICOMP - 37 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 34 107 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 34 107 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 45 - - - BICOMP - 38 - - - - - ICCARM - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 99 53 60 67 97 24 159 35 199 7 113 28 126 34 - - - BICOMP - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 99 53 67 97 24 159 35 199 7 113 28 126 34 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 66 - - - BICOMP - 125 - - - - - ICCARM - 19 99 53 60 67 97 24 159 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 35 199 7 113 28 126 68 129 25 101 107 152 73 127 91 182 34 52 5 164 146 180 - - - BICOMP - 19 99 53 67 97 24 159 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 35 199 7 113 28 126 68 129 25 101 107 152 73 127 91 182 34 52 5 164 146 180 - - - - - $PROJ_DIR$\webserver\uIP_Task.c - - - ICCARM - 51 - - - BICOMP - 155 - - - - - ICCARM - 178 99 53 60 67 97 24 159 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 35 199 7 113 28 126 68 129 58 25 161 154 138 120 50 102 110 151 47 12 181 168 133 59 81 56 - - - BICOMP - 178 99 53 67 97 24 159 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 35 199 7 113 28 126 68 129 58 25 161 154 138 120 50 102 110 151 47 12 181 168 133 59 81 56 - - - - - $PROJ_DIR$\Library\source\91x_fmi.c - - - ICCARM - 142 - - - BICOMP - 9 - - - - - ICCARM - 2 143 118 144 - - - BICOMP - 2 143 118 144 - - - - - $PROJ_DIR$\serial\serial.c - - - ICCARM - 169 - - - BICOMP - 54 - - - - - ICCARM - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 99 53 60 67 97 24 159 35 199 7 113 28 126 25 58 164 - - - BICOMP - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 18 89 99 53 67 97 24 159 35 199 7 113 28 126 25 58 164 - - - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - - - ICCARM - 83 - - - BICOMP - 123 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 164 153 34 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 164 153 34 - - - - - $PROJ_DIR$\STCode\lcd.c - - - ICCARM - 100 - - - BICOMP - 17 - - - - - ICCARM - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 101 18 89 99 53 60 67 97 24 159 35 199 7 113 28 126 68 129 - - - BICOMP - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 101 18 89 99 53 67 97 24 159 35 199 7 113 28 126 68 129 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 105 - - - BICOMP - 43 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 152 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 152 - - - - - $PROJ_DIR$\Library\source\91x_enet.c - - - ICCARM - 31 - - - BICOMP - 72 - - - - - ICCARM - 18 89 99 53 60 67 97 24 159 35 199 7 113 28 126 68 129 42 143 118 144 112 2 13 167 106 30 170 162 136 172 178 - - - BICOMP - 18 89 99 53 67 97 24 159 35 199 7 113 28 126 68 129 42 143 118 144 112 2 13 167 106 30 170 162 136 172 178 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 48 - - - BICOMP - 116 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 58 25 91 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 58 25 91 - - - - - $PROJ_DIR$\Library\source\91x_it.c - - - ICCARM - 103 - - - BICOMP - 90 - - - - - ICCARM - 199 167 42 143 118 144 112 2 13 106 30 170 162 136 172 - - - BICOMP - 199 167 42 143 118 144 112 2 13 106 30 170 162 136 172 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 131 - - - BICOMP - 76 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 127 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 127 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - - - ICCARM - 79 - - - BICOMP - 111 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 - - - - - $PROJ_DIR$\Library\source\91x_wdg.c - - - ICCARM - 92 - - - BICOMP - 8 - - - - - ICCARM - 136 143 118 144 30 - - - BICOMP - 136 143 118 144 30 - - - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - - - ICCARM - 61 - - - BICOMP - 84 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 58 146 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 58 146 - - - - - $PROJ_DIR$\..\Common\Minimal\flop.c - - - ICCARM - 70 - - - BICOMP - 128 - - - - - ICCARM - 29 99 53 60 67 97 24 159 139 114 18 89 35 199 7 113 28 126 68 129 52 - - - BICOMP - 29 99 53 67 97 24 159 139 114 18 89 35 199 7 113 28 126 68 129 52 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 121 - - - BICOMP - 21 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 73 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 73 - - - - - $PROJ_DIR$\ARM - uIP - D\Exe\RTOSDemo.d79 - - - XLINK - 10 49 - - - - - XLINK - 192 31 142 137 135 103 46 122 85 20 3 27 92 131 61 45 121 175 83 78 77 70 79 108 1 33 55 105 100 4 66 23 6 82 26 48 169 156 177 51 36 39 165 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - - - ICCARM - 82 - - - BICOMP - 22 - - - - - ICCARM - 19 99 53 60 67 97 24 159 178 154 138 120 50 102 110 151 47 12 181 168 161 - - - BICOMP - 19 99 53 67 97 24 159 178 154 138 120 50 102 110 151 47 12 181 168 161 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - - - ICCARM - 39 - - - BICOMP - 65 - - - - - ICCARM - 133 161 154 138 120 50 99 53 60 67 97 24 102 110 151 47 12 181 168 178 159 - - - BICOMP - 133 161 154 138 120 50 99 53 67 97 24 102 110 151 47 12 181 168 178 159 - - - - - $PROJ_DIR$\webserver\httpd.c - - - ICCARM - 55 - - - BICOMP - 109 - - - - - ICCARM - 161 154 138 120 50 99 53 60 67 97 24 102 110 151 47 12 181 168 75 98 178 159 - - - BICOMP - 161 154 138 120 50 99 53 67 97 24 102 110 151 47 12 181 168 75 98 178 159 - - - - - $PROJ_DIR$\webserver\httpd-fs.c - - - ICCARM - 33 - - - BICOMP - 0 - - - - - ICCARM - 110 151 154 138 120 50 99 53 60 67 97 24 102 47 12 181 168 57 161 130 - - - BICOMP - 110 151 154 138 120 50 99 53 67 97 24 102 47 12 181 168 57 161 130 - - - - - $PROJ_DIR$\91x_vect_IAR.s - - - AARM - 3 - - - - - AARM - 199 74 - - - - - $PROJ_DIR$\webserver\httpd-cgi.c - - - ICCARM - 1 - - - BICOMP - 32 - - - - - ICCARM - 161 154 138 120 50 99 53 60 67 97 24 102 110 151 47 12 181 168 75 19 159 178 - - - BICOMP - 161 154 138 120 50 99 53 67 97 24 102 110 151 47 12 181 168 75 19 159 178 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - - - ICCARM - 108 - - - BICOMP - 93 - - - - - $PROJ_DIR$\..\Common\Minimal\QPeek.c - - - ICCARM - 175 - - - BICOMP - 115 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 58 180 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 68 129 25 58 180 - - - - - $PROJ_DIR$\91x_init_IAR.s - - - AARM - 135 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 156 - - - BICOMP - 44 - - - - - ICCARM - 19 99 53 60 67 97 24 159 29 178 18 89 35 199 7 113 28 126 68 129 - - - BICOMP - 19 99 53 67 97 24 159 29 178 18 89 35 199 7 113 28 126 68 129 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - - - AARM - 6 - - - - - AARM - 74 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 26 - - - BICOMP - 160 - - - - - ICCARM - 29 99 53 60 67 97 24 159 178 18 89 35 199 7 113 28 126 68 129 87 - - - BICOMP - 29 99 53 67 97 24 159 178 18 89 35 199 7 113 28 126 68 129 87 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 4 - - - BICOMP - 71 - - - - - ICCARM - 29 99 53 60 67 97 24 159 18 89 35 199 7 113 28 126 129 - - - BICOMP - 29 99 53 67 97 24 159 18 89 35 199 7 113 28 126 129 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - - - ICCARM - 23 - - - BICOMP - 86 - - - - - ICCARM - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 29 99 53 60 67 97 24 159 157 18 89 35 199 7 113 28 126 68 129 - - - BICOMP - 42 143 118 144 112 2 13 167 106 30 170 162 136 172 29 99 53 67 97 24 159 157 18 89 35 199 7 113 28 126 68 129 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - - - ICCARM - 36 - - - BICOMP - 163 - - - - - ICCARM - 161 154 138 120 50 99 53 60 67 97 24 102 110 151 47 12 181 168 147 178 159 - - - BICOMP - 161 154 138 120 50 99 53 67 97 24 102 110 151 47 12 181 168 147 178 159 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - - - ICCARM - 177 - - - BICOMP - 176 - - - - - ICCARM - 81 56 18 89 99 53 60 67 97 24 159 35 199 7 113 28 126 59 - - - BICOMP - 81 56 18 89 99 53 67 97 24 159 35 199 7 113 28 126 59 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\stats.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\sys.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_msg.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\fs.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib2.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_dec.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\BasicWEB.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\raw.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\mem.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_enc.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_in.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_out.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\tcpip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\udp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib_structs.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\netif\etharp.c - ICCARM - - - $PROJ_DIR$\lwip\api\sys_arch.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\sockets.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\pbuf.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_lib.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_in.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\dhcp.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\httpd.c - ICCARM - - - $PROJ_DIR$\lwip\netif\ethernetif.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_out.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\inet.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\netif.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\memp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\err.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\icmp.c - ICCARM - - - - ARM - uIP - R - - $PROJ_DIR$\ARM - uIP - R\Obj\http-strings.r79 - $PROJ_DIR$\Library\include\91x_fmi.h - $PROJ_DIR$\ARM - uIP - R\Obj\BlockQ.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\BlockQ.pbi - $PROJ_DIR$\..\Common\include\comtest2.h - $PROJ_DIR$\ARM - uIP - R\Obj\http-strings.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_tim.pbi - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\ARM - uIP - R\Obj\port.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc.h - $PROJ_DIR$\Library\include\91x_vic.h - $PROJ_DIR$\Library\source\91x_scu.c - $PROJ_DIR$\Library\source\91x_gpio.c - $PROJ_DIR$\ARM - uIP - R\Obj\httpd-fs.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\uip.pbi - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_enet.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\integer.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\uip_arp.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\port.r79 - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\ARM - uIP - R\Obj\serial.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\httpd.r79 - $TOOLKIT_DIR$\inc\intrinsic.h - $PROJ_DIR$\ARM - uIP - R\Exe\RTOSDemo.sim - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\Library\include\91x_scu.h - $PROJ_DIR$\ARM - uIP - R\Obj\PollQ.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\flash.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\91x_it.r79 - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\ARM - uIP - R\Obj\PollQ.pbi - $PROJ_DIR$\Library\source\91x_vic.c - $PROJ_DIR$\Library\source\91x_tim.c - $PROJ_DIR$\Library\include\91x_lib.h - $PROJ_DIR$\ARM - uIP - R\Obj\uIP_Task.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\main.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\heap_2.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\lcd.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_scu.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\pt.h - $TOOLKIT_DIR$\inc\stdint.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_vect_IAR.r79 - $PROJ_DIR$\..\Common\include\flop.h - $PROJ_DIR$\ARM - uIP - R\Obj\GenQTest.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\flash.pbi - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\ARM - uIP - R\Obj\flop.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\integer.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\queue.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\tasks.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\httpd-cgi.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_gpio.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\psock.r79 - $PROJ_DIR$\webserver\clock-arch.h - $PROJ_DIR$\webserver\httpd-fsdata.h - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\ARM - uIP - R\Obj\comtest.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.h - $TOOLKIT_DIR$\lib\dl5tpainl8n.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_fmi.pbi - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\Source\include\task.h - $PROJ_DIR$\..\Common\Minimal\dynamic.c - $PROJ_DIR$\ARM - uIP - R\Obj\httpd-cgi.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\91x_init_IAR.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\dynamic.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\91x_lib.pbi - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\ISR_Support.h - $PROJ_DIR$\webserver\httpd-cgi.h - $PROJ_DIR$\ARM - uIP - R\Obj\tasks.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\91x_lib.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\ParTest.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\clock.h - $PROJ_DIR$\ARM - uIP - R\Obj\timer.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_it.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\heap_2.pbi - $PROJ_DIR$\..\..\Source\include\croutine.h - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\ARM - uIP - R\Obj\serial.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\httpd.pbi - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\ARM - uIP - R\Obj\timer.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\flop.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\dynamic.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_scu.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\httpd-fs.pbi - $PROJ_DIR$\Library\source\91x_uart.c - $PROJ_DIR$\Library\source\91x_lib.c - $PROJ_DIR$\ARM - uIP - R\List\RTOSDemo.html - $PROJ_DIR$\..\Common\Minimal\flash.c - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_vic.pbi - $PROJ_DIR$\webserver\http-strings.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\STCode\lcd.h - $PROJ_DIR$\webserver\webserver.h - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\Library\include\91x_tim.h - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\ARM - uIP - R\Obj\QPeek.r79 - $PROJ_DIR$\webserver\httpd.h - $PROJ_DIR$\Library\include\91x_ahbapb.h - $PROJ_DIR$\ARM - uIP - R\Obj\comtest.r79 - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portmacro.h - $PROJ_DIR$\ARM - uIP - R\Obj\uip.r79 - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\ARM - uIP - R\Obj\uip_arp.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\ParTest.pbi - $PROJ_DIR$\main.c - $PROJ_DIR$\Library\include\91x_conf.h - $PROJ_DIR$\webserver\uIP_Task.c - $TOOLKIT_DIR$\inc\inttypes.h - $PROJ_DIR$\ARM - uIP - R\Obj\uIP_Task.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_wdg.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\QPeek.pbi - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\ARM - uIP - R\Obj\list.r79 - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\webserver\httpd-fsdata.c - $PROJ_DIR$\Library\source\91x_fmi.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.h - $PROJ_DIR$\serial\serial.c - $PROJ_DIR$\ARM - uIP - R\Obj\GenQTest.pbi - $PROJ_DIR$\Library\include\91x_wdg.h - $PROJ_DIR$\webserver\uip-conf.h - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\Common\Minimal\comtest.c - $PROJ_DIR$\STCode\lcd.c - $PROJ_DIR$\Library\include\91x_map.h - $PROJ_DIR$\ARM - uIP - R\Obj\queue.pbi - $PROJ_DIR$\Library\include\91x_type.h - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\..\Common\include\GenQTest.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arch.h - $PROJ_DIR$\Library\source\91x_enet.c - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\Library\source\91x_it.c - $PROJ_DIR$\ARM - uIP - R\Obj\psock.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\portasm.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.h - $PROJ_DIR$\..\Common\include\integer.h - $PROJ_DIR$\..\Common\include\comtest.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_fmi.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uipopt.h - $TOOLKIT_DIR$\inc\assert.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_enet.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_gpio.r79 - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.h - $PROJ_DIR$\Library\include\91x_uart.h - $PROJ_DIR$\..\Common\include\serial.h - $PROJ_DIR$\ARM - uIP - R\Obj\semtest.r79 - $TOOLKIT_DIR$\lib\dl5tpainl8n.r79 - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\Library\include\91x_it.h - $PROJ_DIR$\webserver\httpd-fs.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_uart.r79 - $PROJ_DIR$\Library\include\91x_gpio.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_tim.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\RTOSDemo.pbd - $PROJ_DIR$\ARM - uIP - R\Exe\RTOSDemo.d79 - $PROJ_DIR$\Library\source\91x_wdg.c - $PROJ_DIR$\Library\include\91x_enet.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_uart.pbi - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - $PROJ_DIR$\..\Common\Minimal\flop.c - $PROJ_DIR$\ARM - uIP - R\Obj\list.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\semtest.pbi - $PROJ_DIR$\ARM - uIP - R\Obj\91x_vic.r79 - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\Common\include\QPeek.h - $PROJ_DIR$\ARM - uIP - R\Obj\91x_wdg.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc-switch.h - $PROJ_DIR$\..\Common\include\dynamic.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - $PROJ_DIR$\webserver\httpd.c - $PROJ_DIR$\webserver\httpd-fs.c - $PROJ_DIR$\91x_vect_IAR.s - $PROJ_DIR$\webserver\httpd-cgi.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - $PROJ_DIR$\ARM - uIP - R\Obj\main.r79 - $PROJ_DIR$\ARM - uIP - R\Obj\lcd.r79 - $PROJ_DIR$\..\Common\Minimal\QPeek.c - $PROJ_DIR$\lnkarm_flash.xcl - $PROJ_DIR$\91x_init_IAR.s - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - - - [ROOT_NODE] - - - XLINK - 93 26 167 - - - - - $PROJ_DIR$\Library\source\91x_scu.c - - - ICCARM - 89 - - - BICOMP - 42 - - - - - ICCARM - 28 134 114 136 - - - BICOMP - 28 134 114 136 - - - - - $PROJ_DIR$\Library\source\91x_gpio.c - - - ICCARM - 152 - - - BICOMP - 55 - - - - - ICCARM - 164 134 114 136 28 - - - BICOMP - 164 134 114 136 28 - - - - - $PROJ_DIR$\Library\source\91x_vic.c - - - ICCARM - 175 - - - BICOMP - 96 - - - - - ICCARM - 10 134 114 136 161 37 106 1 102 28 164 156 129 169 - - - BICOMP - 10 134 114 136 161 37 106 1 102 28 164 156 129 169 - - - - - $PROJ_DIR$\Library\source\91x_tim.c - - - ICCARM - 165 - - - BICOMP - 6 - - - - - ICCARM - 102 134 114 136 28 - - - BICOMP - 102 134 114 136 28 - - - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - ICCARM - 69 - - - BICOMP - 88 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 59 22 181 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 59 22 181 - - - - - $PROJ_DIR$\Library\source\91x_uart.c - - - ICCARM - 163 - - - BICOMP - 170 - - - - - ICCARM - 156 134 114 136 28 - - - BICOMP - 156 134 114 136 28 - - - - - $PROJ_DIR$\Library\source\91x_lib.c - - - ICCARM - 75 - - - BICOMP - 70 - - - - - ICCARM - 134 114 136 - - - BICOMP - 134 114 136 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCARM - 30 - - - BICOMP - 48 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 32 103 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 32 103 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 76 - - - BICOMP - 112 - - - - - ICCARM - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 98 49 62 64 95 21 154 33 199 7 108 25 120 32 - - - BICOMP - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 98 49 64 95 21 154 33 199 7 108 25 120 32 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 189 - - - BICOMP - 39 - - - - - ICCARM - 16 98 49 62 64 95 21 154 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 33 199 7 108 25 120 65 123 22 99 103 146 71 121 85 181 32 46 4 157 138 178 - - - BICOMP - 16 98 49 64 95 21 154 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 33 199 7 108 25 120 65 123 22 99 103 146 71 121 85 181 32 46 4 157 138 178 - - - - - $PROJ_DIR$\webserver\uIP_Task.c - - - ICCARM - 38 - - - BICOMP - 117 - - - - - ICCARM - 176 98 49 62 64 95 21 154 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 33 199 7 108 25 120 65 123 59 22 155 149 130 116 44 100 105 145 43 9 180 162 126 61 77 57 - - - BICOMP - 176 98 49 64 95 21 154 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 33 199 7 108 25 120 65 123 59 22 155 149 130 116 44 100 105 145 43 9 180 162 126 61 77 57 - - - - - $PROJ_DIR$\Library\source\91x_fmi.c - - - ICCARM - 148 - - - BICOMP - 63 - - - - - ICCARM - 1 134 114 136 - - - BICOMP - 1 134 114 136 - - - - - $PROJ_DIR$\serial\serial.c - - - ICCARM - 83 - - - BICOMP - 23 - - - - - ICCARM - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 98 49 62 64 95 21 154 33 199 7 108 25 120 22 59 157 - - - BICOMP - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 15 82 98 49 64 95 21 154 33 199 7 108 25 120 22 59 157 - - - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - - - ICCARM - 107 - - - BICOMP - 60 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 157 147 32 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 157 147 32 - - - - - $PROJ_DIR$\STCode\lcd.c - - - ICCARM - 190 - - - BICOMP - 41 - - - - - ICCARM - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 99 15 82 98 49 62 64 95 21 154 33 199 7 108 25 120 65 123 - - - BICOMP - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 99 15 82 98 49 64 95 21 154 33 199 7 108 25 120 65 123 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 51 - - - BICOMP - 18 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 146 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 146 - - - - - $PROJ_DIR$\Library\source\91x_enet.c - - - ICCARM - 17 - - - BICOMP - 151 - - - - - ICCARM - 15 82 98 49 62 64 95 21 154 33 199 7 108 25 120 65 123 37 134 114 136 106 1 10 161 102 28 164 156 129 169 176 - - - BICOMP - 15 82 98 49 64 95 21 154 33 199 7 108 25 120 65 123 37 134 114 136 106 1 10 161 102 28 164 156 129 169 176 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 158 - - - BICOMP - 174 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 59 22 85 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 59 22 85 - - - - - $PROJ_DIR$\Library\source\91x_it.c - - - ICCARM - 31 - - - BICOMP - 79 - - - - - ICCARM - 199 161 37 134 114 136 106 1 10 102 28 164 156 129 169 - - - BICOMP - 199 161 37 134 114 136 106 1 10 102 28 164 156 129 169 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 2 - - - BICOMP - 3 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 121 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 121 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - - - ICCARM - 40 - - - BICOMP - 80 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 - - - - - $PROJ_DIR$\ARM - uIP - R\Obj\RTOSDemo.pbd - - - BILINK - 151 63 55 79 70 42 6 170 96 118 3 128 112 34 119 60 88 48 87 80 5 54 90 84 18 41 173 39 8 143 135 174 23 53 78 117 14 19 - - - - - $PROJ_DIR$\ARM - uIP - R\Exe\RTOSDemo.d79 - - - XLINK - 93 26 - - - - - XLINK - 192 17 148 152 68 31 75 89 165 163 45 175 179 2 47 76 29 104 107 69 30 50 40 0 67 13 24 51 190 122 189 20 144 56 52 158 83 74 86 38 109 111 159 - - - - - $PROJ_DIR$\Library\source\91x_wdg.c - - - ICCARM - 179 - - - BICOMP - 118 - - - - - ICCARM - 129 134 114 136 28 - - - BICOMP - 129 134 114 136 28 - - - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - - - ICCARM - 47 - - - BICOMP - 128 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 59 138 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 59 138 - - - - - $PROJ_DIR$\..\Common\Minimal\flop.c - - - ICCARM - 50 - - - BICOMP - 87 - - - - - ICCARM - 27 98 49 62 64 95 21 154 131 110 15 82 33 199 7 108 25 120 65 123 46 - - - BICOMP - 27 98 49 64 95 21 154 131 110 15 82 33 199 7 108 25 120 65 123 46 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 29 - - - BICOMP - 34 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 71 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 71 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - - - ICCARM - 56 - - - BICOMP - 143 - - - - - ICCARM - 16 98 49 62 64 95 21 154 176 149 130 116 44 100 105 145 43 9 180 162 155 - - - BICOMP - 16 98 49 64 95 21 154 176 149 130 116 44 100 105 145 43 9 180 162 155 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - - - ICCARM - 111 - - - BICOMP - 19 - - - - - ICCARM - 126 155 149 130 116 44 98 49 62 64 95 21 100 105 145 43 9 180 162 176 154 - - - BICOMP - 126 155 149 130 116 44 98 49 64 95 21 100 105 145 43 9 180 162 176 154 - - - - - $PROJ_DIR$\webserver\httpd.c - - - ICCARM - 24 - - - BICOMP - 84 - - - - - ICCARM - 155 149 130 116 44 98 49 62 64 95 21 100 105 145 43 9 180 162 73 97 176 154 - - - BICOMP - 155 149 130 116 44 98 49 64 95 21 100 105 145 43 9 180 162 73 97 176 154 - - - - - $PROJ_DIR$\webserver\httpd-fs.c - - - ICCARM - 13 - - - BICOMP - 90 - - - - - ICCARM - 105 145 149 130 116 44 98 49 62 64 95 21 100 43 9 180 162 58 155 124 - - - BICOMP - 105 145 149 130 116 44 98 49 64 95 21 100 43 9 180 162 58 155 124 - - - - - $PROJ_DIR$\91x_vect_IAR.s - - - AARM - 45 - - - - - AARM - 199 72 - - - - - $PROJ_DIR$\webserver\httpd-cgi.c - - - ICCARM - 67 - - - BICOMP - 54 - - - - - ICCARM - 155 149 130 116 44 98 49 62 64 95 21 100 105 145 43 9 180 162 73 16 154 176 - - - BICOMP - 155 149 130 116 44 98 49 64 95 21 100 105 145 43 9 180 162 73 16 154 176 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - - - ICCARM - 0 - - - BICOMP - 5 - - - - - $PROJ_DIR$\..\Common\Minimal\QPeek.c - - - ICCARM - 104 - - - BICOMP - 119 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 59 178 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 65 123 22 59 178 - - - - - $PROJ_DIR$\91x_init_IAR.s - - - AARM - 68 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 74 - - - BICOMP - 53 - - - - - ICCARM - 16 98 49 62 64 95 21 154 27 176 15 82 33 199 7 108 25 120 65 123 - - - BICOMP - 16 98 49 64 95 21 154 27 176 15 82 33 199 7 108 25 120 65 123 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - - - AARM - 144 - - - - - AARM - 72 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 52 - - - BICOMP - 135 - - - - - ICCARM - 27 98 49 62 64 95 21 154 176 15 82 33 199 7 108 25 120 65 123 81 - - - BICOMP - 27 98 49 64 95 21 154 176 15 82 33 199 7 108 25 120 65 123 81 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 122 - - - BICOMP - 173 - - - - - ICCARM - 27 98 49 62 64 95 21 154 15 82 33 199 7 108 25 120 123 - - - BICOMP - 27 98 49 64 95 21 154 15 82 33 199 7 108 25 120 123 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - - - ICCARM - 20 - - - BICOMP - 8 - - - - - ICCARM - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 27 98 49 62 64 95 21 154 150 15 82 33 199 7 108 25 120 65 123 - - - BICOMP - 37 134 114 136 106 1 10 161 102 28 164 156 129 169 27 98 49 64 95 21 154 150 15 82 33 199 7 108 25 120 65 123 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - - - ICCARM - 109 - - - BICOMP - 14 - - - - - ICCARM - 155 149 130 116 44 98 49 62 64 95 21 100 105 145 43 9 180 162 139 176 154 - - - BICOMP - 155 149 130 116 44 98 49 64 95 21 100 105 145 43 9 180 162 139 176 154 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - - - ICCARM - 86 - - - BICOMP - 78 - - - - - ICCARM - 77 57 15 82 98 49 62 64 95 21 154 33 199 7 108 25 120 61 - - - BICOMP - 77 57 15 82 98 49 64 95 21 154 33 199 7 108 25 120 61 - - - - - - THUMB - - $PROJ_DIR$\THUMB\Obj\QPeek.r79 - $PROJ_DIR$\THUMB\Obj\PollQ.r79 - $PROJ_DIR$\THUMB\Obj\http-strings.r79 - $PROJ_DIR$\THUMB\Obj\uip_arp.pbi - $PROJ_DIR$\THUMB\Obj\91x_gpio.r79 - $PROJ_DIR$\Library\include\91x_fmi.h - $PROJ_DIR$\..\Common\include\comtest2.h - $PROJ_DIR$\THUMB\Obj\timer.pbi - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\THUMB\Obj\port.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc.h - $PROJ_DIR$\Library\include\91x_vic.h - $PROJ_DIR$\Library\source\91x_scu.c - $PROJ_DIR$\Library\source\91x_gpio.c - $PROJ_DIR$\THUMB\Obj\91x_vic.pbi - $PROJ_DIR$\THUMB\Obj\RTOSDemo.pbd - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $PROJ_DIR$\THUMB\Obj\91x_vic.r79 - $TOOLKIT_DIR$\inc\stdio.h - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\THUMB\Exe\RTOSDemo.d79 - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\THUMB\Obj\lcd.r79 - $TOOLKIT_DIR$\inc\intrinsic.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\Library\include\91x_scu.h - $PROJ_DIR$\THUMB\Obj\http-strings.pbi - $PROJ_DIR$\THUMB\Exe\RTOSDemo.sim - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\THUMB\Obj\semtest.pbi - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\THUMB\Obj\91x_tim.pbi - $PROJ_DIR$\THUMB\Obj\91x_lib.r79 - $PROJ_DIR$\THUMB\Obj\ParTest.pbi - $PROJ_DIR$\THUMB\Obj\tasks.r79 - $PROJ_DIR$\THUMB\Obj\91x_uart.r79 - $PROJ_DIR$\THUMB\Obj\queue.pbi - $PROJ_DIR$\Library\source\91x_vic.c - $PROJ_DIR$\Library\source\91x_tim.c - $PROJ_DIR$\Library\include\91x_lib.h - $PROJ_DIR$\THUMB\Obj\portasm.r79 - $PROJ_DIR$\THUMB\Obj\httpd.r79 - $PROJ_DIR$\THUMB\Obj\91x_tim.r79 - $PROJ_DIR$\THUMB\Obj\BlockQ.pbi - $PROJ_DIR$\THUMB\Obj\httpd-fs.r79 - $PROJ_DIR$\THUMB\Obj\list.pbi - $PROJ_DIR$\THUMB\Obj\flop.pbi - $PROJ_DIR$\THUMB\Obj\psock.r79 - $PROJ_DIR$\THUMB\Obj\dynamic.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\pt.h - $PROJ_DIR$\THUMB\Obj\uip.r79 - $TOOLKIT_DIR$\inc\stdint.h - $PROJ_DIR$\THUMB\Obj\tasks.pbi - $PROJ_DIR$\THUMB\Obj\port.pbi - $PROJ_DIR$\THUMB\Obj\flop.r79 - $PROJ_DIR$\..\Common\include\flop.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\THUMB\Obj\GenQTest.r79 - $PROJ_DIR$\THUMB\Obj\httpd.pbi - $PROJ_DIR$\webserver\clock-arch.h - $PROJ_DIR$\webserver\httpd-fsdata.h - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\THUMB\Obj\comtest.r79 - $PROJ_DIR$\THUMB\Obj\serial.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.h - $PROJ_DIR$\THUMB\Obj\91x_uart.pbi - $PROJ_DIR$\THUMB\Obj\httpd-fs.pbi - $PROJ_DIR$\THUMB\Obj\uIP_Task.r79 - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\THUMB\Obj\main.r79 - $PROJ_DIR$\..\..\Source\include\task.h - $PROJ_DIR$\..\Common\Minimal\dynamic.c - $PROJ_DIR$\THUMB\Obj\queue.r79 - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\ISR_Support.h - $PROJ_DIR$\webserver\httpd-cgi.h - $PROJ_DIR$\THUMB\Obj\91x_enet.r79 - $PROJ_DIR$\THUMB\Obj\dynamic.pbi - $PROJ_DIR$\THUMB\Obj\91x_it.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\clock.h - $PROJ_DIR$\THUMB\Obj\91x_fmi.r79 - $PROJ_DIR$\THUMB\Obj\91x_scu.r79 - $PROJ_DIR$\THUMB\Obj\91x_enet.pbi - $PROJ_DIR$\..\..\Source\include\croutine.h - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\THUMB\Obj\timer.r79 - $PROJ_DIR$\THUMB\Obj\uIP_Task.pbi - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\THUMB\Obj\91x_lib.pbi - $PROJ_DIR$\THUMB\Obj\integer.pbi - $PROJ_DIR$\THUMB\Obj\91x_it.r79 - $PROJ_DIR$\THUMB\Obj\91x_init_IAR.r79 - $PROJ_DIR$\THUMB\Obj\91x_wdg.r79 - $PROJ_DIR$\THUMB\Obj\semtest.r79 - $PROJ_DIR$\THUMB\Obj\flash.pbi - $PROJ_DIR$\Library\source\91x_uart.c - $PROJ_DIR$\Library\source\91x_lib.c - $PROJ_DIR$\THUMB\Obj\ParTest.r79 - $PROJ_DIR$\THUMB\Obj\heap_2.pbi - $PROJ_DIR$\THUMB\Obj\91x_vect_IAR.r79 - $PROJ_DIR$\..\Common\Minimal\flash.c - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\webserver\http-strings.h - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\STCode\lcd.h - $PROJ_DIR$\webserver\webserver.h - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\THUMB\Obj\91x_gpio.pbi - $PROJ_DIR$\Library\include\91x_tim.h - $PROJ_DIR$\THUMB\Obj\PollQ.pbi - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\webserver\httpd.h - $PROJ_DIR$\Library\include\91x_ahbapb.h - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portmacro.h - $PROJ_DIR$\THUMB\Obj\psock.pbi - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\THUMB\Obj\heap_2.r79 - $PROJ_DIR$\main.c - $PROJ_DIR$\Library\include\91x_conf.h - $PROJ_DIR$\webserver\uIP_Task.c - $TOOLKIT_DIR$\inc\inttypes.h - $TOOLKIT_DIR$\lib\dl5tptinl8n.h - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\THUMB\Obj\httpd-cgi.pbi - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\THUMB\Obj\uip.pbi - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\THUMB\Obj\91x_fmi.pbi - $PROJ_DIR$\webserver\httpd-fsdata.c - $PROJ_DIR$\Library\source\91x_fmi.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.h - $TOOLKIT_DIR$\lib\dl5tptinl8n.r79 - $PROJ_DIR$\serial\serial.c - $PROJ_DIR$\THUMB\Obj\GenQTest.pbi - $PROJ_DIR$\THUMB\Obj\QPeek.pbi - $PROJ_DIR$\Library\include\91x_wdg.h - $PROJ_DIR$\THUMB\Obj\lcd.pbi - $PROJ_DIR$\THUMB\Obj\91x_wdg.pbi - $PROJ_DIR$\webserver\uip-conf.h - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\Common\Minimal\comtest.c - $PROJ_DIR$\STCode\lcd.c - $PROJ_DIR$\Library\include\91x_map.h - $PROJ_DIR$\Library\include\91x_type.h - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\..\Common\include\GenQTest.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arch.h - $PROJ_DIR$\Library\source\91x_enet.c - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\Library\source\91x_it.c - $PROJ_DIR$\THUMB\List\RTOSDemo.html - $PROJ_DIR$\THUMB\Obj\integer.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.h - $PROJ_DIR$\..\Common\include\integer.h - $PROJ_DIR$\..\Common\include\comtest.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uipopt.h - $TOOLKIT_DIR$\inc\assert.h - $PROJ_DIR$\THUMB\Obj\serial.pbi - $PROJ_DIR$\THUMB\Obj\httpd-cgi.r79 - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.h - $PROJ_DIR$\Library\include\91x_uart.h - $PROJ_DIR$\..\Common\include\serial.h - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\Library\include\91x_it.h - $PROJ_DIR$\webserver\httpd-fs.h - $PROJ_DIR$\THUMB\Obj\91x_scu.pbi - $PROJ_DIR$\Library\include\91x_gpio.h - $PROJ_DIR$\THUMB\Obj\main.pbi - $PROJ_DIR$\THUMB\Obj\list.r79 - $PROJ_DIR$\THUMB\Obj\flash.r79 - $PROJ_DIR$\Library\source\91x_wdg.c - $PROJ_DIR$\Library\include\91x_enet.h - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - $PROJ_DIR$\..\Common\Minimal\flop.c - $PROJ_DIR$\THUMB\Obj\uip_arp.r79 - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\Common\include\QPeek.h - $PROJ_DIR$\THUMB\Obj\BlockQ.r79 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc-switch.h - $PROJ_DIR$\..\Common\include\dynamic.h - $PROJ_DIR$\THUMB\Obj\comtest.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - $PROJ_DIR$\webserver\httpd.c - $PROJ_DIR$\webserver\httpd-fs.c - $PROJ_DIR$\91x_vect_IAR.s - $PROJ_DIR$\webserver\httpd-cgi.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - $PROJ_DIR$\..\Common\Minimal\QPeek.c - $PROJ_DIR$\lnkarm_flash.xcl - $PROJ_DIR$\91x_init_IAR.s - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - - - [ROOT_NODE] - - - XLINK - 150 27 20 - - - - - $PROJ_DIR$\Library\source\91x_scu.c - - - ICCARM - 81 - - - BICOMP - 167 - - - - - ICCARM - 25 142 118 143 - - - BICOMP - 25 142 118 143 - - - - - $PROJ_DIR$\Library\source\91x_gpio.c - - - ICCARM - 4 - - - BICOMP - 107 - - - - - ICCARM - 168 142 118 143 25 - - - BICOMP - 168 142 118 143 25 - - - - - $PROJ_DIR$\THUMB\Obj\RTOSDemo.pbd - - - BILINK - 82 127 107 78 88 167 31 65 14 137 43 133 33 109 134 183 77 94 46 98 26 123 66 58 89 136 45 169 53 114 36 29 157 52 7 86 125 3 - - - - - $PROJ_DIR$\THUMB\Exe\RTOSDemo.d79 - - - XLINK - 150 27 - - - - - XLINK - 192 76 80 4 91 90 32 81 42 35 99 17 92 180 57 97 1 0 62 48 171 54 116 2 158 44 41 151 22 170 69 9 40 47 72 93 63 34 85 67 50 176 131 - - - - - $PROJ_DIR$\Library\source\91x_vic.c - - - ICCARM - 17 - - - BICOMP - 14 - - - - - ICCARM - 11 142 118 143 165 39 112 5 108 25 168 162 135 173 - - - BICOMP - 11 142 118 143 165 39 112 5 108 25 168 162 135 173 - - - - - $PROJ_DIR$\Library\source\91x_tim.c - - - ICCARM - 42 - - - BICOMP - 31 - - - - - ICCARM - 108 142 118 143 25 - - - BICOMP - 108 142 118 143 25 - - - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - ICCARM - 48 - - - BICOMP - 77 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 61 21 182 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 61 21 182 - - - - - $PROJ_DIR$\Library\source\91x_uart.c - - - ICCARM - 35 - - - BICOMP - 65 - - - - - ICCARM - 162 142 118 143 25 - - - BICOMP - 162 142 118 143 25 - - - - - $PROJ_DIR$\Library\source\91x_lib.c - - - ICCARM - 32 - - - BICOMP - 88 - - - - - ICCARM - 142 118 143 - - - BICOMP - 142 118 143 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCARM - 171 - - - BICOMP - 94 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 28 110 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 28 110 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 97 - - - BICOMP - 33 - - - - - ICCARM - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 103 56 121 68 101 19 160 30 199 8 113 23 122 28 - - - BICOMP - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 103 56 68 101 19 160 30 199 8 113 23 122 28 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 69 - - - BICOMP - 169 - - - - - ICCARM - 18 103 56 121 68 101 19 160 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 30 199 8 113 23 122 70 126 21 104 110 153 73 124 87 182 28 55 6 163 145 179 - - - BICOMP - 18 103 56 68 101 19 160 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 30 199 8 113 23 122 70 126 21 104 110 153 73 124 87 182 28 55 6 163 145 179 - - - - - $PROJ_DIR$\webserver\uIP_Task.c - - - ICCARM - 67 - - - BICOMP - 86 - - - - - ICCARM - 177 103 56 121 68 101 19 160 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 30 199 8 113 23 122 70 126 61 21 161 155 138 120 51 105 111 152 49 10 181 166 130 64 79 59 - - - BICOMP - 177 103 56 68 101 19 160 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 30 199 8 113 23 122 70 126 61 21 161 155 138 120 51 105 111 152 49 10 181 166 130 64 79 59 - - - - - $PROJ_DIR$\Library\source\91x_fmi.c - - - ICCARM - 80 - - - BICOMP - 127 - - - - - ICCARM - 5 142 118 143 - - - BICOMP - 5 142 118 143 - - - - - $PROJ_DIR$\serial\serial.c - - - ICCARM - 63 - - - BICOMP - 157 - - - - - ICCARM - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 103 56 121 68 101 19 160 30 199 8 113 23 122 21 61 163 - - - BICOMP - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 16 84 103 56 68 101 19 160 30 199 8 113 23 122 21 61 163 - - - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - - - ICCARM - 62 - - - BICOMP - 183 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 163 154 28 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 163 154 28 - - - - - $PROJ_DIR$\STCode\lcd.c - - - ICCARM - 22 - - - BICOMP - 136 - - - - - ICCARM - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 104 16 84 103 56 121 68 101 19 160 30 199 8 113 23 122 70 126 - - - BICOMP - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 104 16 84 103 56 68 101 19 160 30 199 8 113 23 122 70 126 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 151 - - - BICOMP - 89 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 153 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 153 - - - - - $PROJ_DIR$\Library\source\91x_enet.c - - - ICCARM - 76 - - - BICOMP - 82 - - - - - ICCARM - 16 84 103 56 121 68 101 19 160 30 199 8 113 23 122 70 126 39 142 118 143 112 5 11 165 108 25 168 162 135 173 177 - - - BICOMP - 16 84 103 56 68 101 19 160 30 199 8 113 23 122 70 126 39 142 118 143 112 5 11 165 108 25 168 162 135 173 177 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 93 - - - BICOMP - 29 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 61 21 87 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 61 21 87 - - - - - $PROJ_DIR$\Library\source\91x_it.c - - - ICCARM - 90 - - - BICOMP - 78 - - - - - ICCARM - 199 165 39 142 118 143 112 5 11 108 25 168 162 135 173 - - - BICOMP - 199 165 39 142 118 143 112 5 11 108 25 168 162 135 173 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 180 - - - BICOMP - 43 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 124 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 124 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - - - ICCARM - 116 - - - BICOMP - 98 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 - - - - - $PROJ_DIR$\Library\source\91x_wdg.c - - - ICCARM - 92 - - - BICOMP - 137 - - - - - ICCARM - 135 142 118 143 25 - - - BICOMP - 135 142 118 143 25 - - - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - - - ICCARM - 57 - - - BICOMP - 133 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 61 145 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 61 145 - - - - - $PROJ_DIR$\..\Common\Minimal\flop.c - - - ICCARM - 54 - - - BICOMP - 46 - - - - - ICCARM - 24 103 56 121 68 101 19 160 139 115 16 84 30 199 8 113 23 122 70 126 55 - - - BICOMP - 24 103 56 68 101 19 160 139 115 16 84 30 199 8 113 23 122 70 126 55 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 1 - - - BICOMP - 109 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 73 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 73 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - - - ICCARM - 47 - - - BICOMP - 114 - - - - - ICCARM - 18 103 56 121 68 101 19 160 177 155 138 120 51 105 111 152 49 10 181 166 161 - - - BICOMP - 18 103 56 68 101 19 160 177 155 138 120 51 105 111 152 49 10 181 166 161 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - - - ICCARM - 176 - - - BICOMP - 3 - - - - - ICCARM - 130 161 155 138 120 51 103 56 121 68 101 19 105 111 152 49 10 181 166 177 160 - - - BICOMP - 130 161 155 138 120 51 103 56 68 101 19 105 111 152 49 10 181 166 177 160 - - - - - $PROJ_DIR$\webserver\httpd.c - - - ICCARM - 41 - - - BICOMP - 58 - - - - - ICCARM - 161 155 138 120 51 103 56 121 68 101 19 105 111 152 49 10 181 166 75 102 177 160 - - - BICOMP - 161 155 138 120 51 103 56 68 101 19 105 111 152 49 10 181 166 75 102 177 160 - - - - - $PROJ_DIR$\webserver\httpd-fs.c - - - ICCARM - 44 - - - BICOMP - 66 - - - - - ICCARM - 111 152 155 138 120 51 103 56 121 68 101 19 105 49 10 181 166 60 161 128 - - - BICOMP - 111 152 155 138 120 51 103 56 68 101 19 105 49 10 181 166 60 161 128 - - - - - $PROJ_DIR$\91x_vect_IAR.s - - - AARM - 99 - - - - - AARM - 199 74 - - - - - $PROJ_DIR$\webserver\httpd-cgi.c - - - ICCARM - 158 - - - BICOMP - 123 - - - - - ICCARM - 161 155 138 120 51 103 56 121 68 101 19 105 111 152 49 10 181 166 75 18 160 177 - - - BICOMP - 161 155 138 120 51 103 56 68 101 19 105 111 152 49 10 181 166 75 18 160 177 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - - - ICCARM - 2 - - - BICOMP - 26 - - - - - $PROJ_DIR$\..\Common\Minimal\QPeek.c - - - ICCARM - 0 - - - BICOMP - 134 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 61 179 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 70 126 21 61 179 - - - - - $PROJ_DIR$\91x_init_IAR.s - - - AARM - 91 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 34 - - - BICOMP - 52 - - - - - ICCARM - 18 103 56 121 68 101 19 160 24 177 16 84 30 199 8 113 23 122 70 126 - - - BICOMP - 18 103 56 68 101 19 160 24 177 16 84 30 199 8 113 23 122 70 126 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\portasm.s79 - - - AARM - 40 - - - - - AARM - 74 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 72 - - - BICOMP - 36 - - - - - ICCARM - 24 103 56 121 68 101 19 160 177 16 84 30 199 8 113 23 122 70 126 83 - - - BICOMP - 24 103 56 68 101 19 160 177 16 84 30 199 8 113 23 122 70 126 83 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 170 - - - BICOMP - 45 - - - - - ICCARM - 24 103 56 121 68 101 19 160 16 84 30 199 8 113 23 122 126 - - - BICOMP - 24 103 56 68 101 19 160 16 84 30 199 8 113 23 122 126 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - - - ICCARM - 9 - - - BICOMP - 53 - - - - - ICCARM - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 24 103 56 121 68 101 19 160 156 16 84 30 199 8 113 23 122 70 126 - - - BICOMP - 39 142 118 143 112 5 11 165 108 25 168 162 135 173 24 103 56 68 101 19 160 156 16 84 30 199 8 113 23 122 70 126 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - - - ICCARM - 50 - - - BICOMP - 125 - - - - - ICCARM - 161 155 138 120 51 103 56 121 68 101 19 105 111 152 49 10 181 166 146 177 160 - - - BICOMP - 161 155 138 120 51 103 56 68 101 19 105 111 152 49 10 181 166 146 177 160 - - - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - - - ICCARM - 85 - - - BICOMP - 7 - - - - - ICCARM - 79 59 16 84 103 56 121 68 101 19 160 30 199 8 113 23 122 64 - - - BICOMP - 79 59 16 84 103 56 68 101 19 160 30 199 8 113 23 122 64 - - - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\stats.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\sys.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_scu.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_gpio.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_msg.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\fs.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_vic.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_tim.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib2.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_dec.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\BasicWEB.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\raw.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\mem.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\asn1_enc.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_in.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_uart.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_lib.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\flash.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\tcp_out.c - ICCARM - - - $PROJ_DIR$\ParTest\ParTest.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\tcpip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\udp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\mib_structs.c - ICCARM - - - $PROJ_DIR$\main.c - ICCARM - - - $PROJ_DIR$\webserver\uIP_Task.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_fmi.c - ICCARM - - - $PROJ_DIR$\serial\serial.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\netif\etharp.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - ICCARM - - - $PROJ_DIR$\lwip\api\sys_arch.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\sockets.c - ICCARM - - - $PROJ_DIR$\STCode\lcd.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\pbuf.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\integer.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\api_lib.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_in.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_enet.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_it.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\dhcp.c - ICCARM - - - $PROJ_DIR$\lwip\lwipWebServer\httpd.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - ICCARM - - - $PROJ_DIR$\lwip\netif\ethernetif.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\snmp\msg_out.c - ICCARM - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - ICCARM - - - $PROJ_DIR$\Library\source\91x_wdg.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\flop.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\inet.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\netif.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\memp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\api\err.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\lwIP\core\ipv4\icmp.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - ICCARM - - - $PROJ_DIR$\webserver\httpd.c - ICCARM - - - $PROJ_DIR$\webserver\httpd-fs.c - ICCARM - - - $PROJ_DIR$\webserver\httpd-cgi.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\QPeek.c - ICCARM - - - $PROJ_DIR$\..\..\Source\tasks.c - ICCARM - - - $PROJ_DIR$\..\..\Source\queue.c - ICCARM - - - $PROJ_DIR$\..\..\Source\list.c - ICCARM - - - $PROJ_DIR$\..\..\Source\portable\IAR\STR91x\port.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - ICCARM - - - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - ICCARM - - - - - diff --git a/Demo/ARM9_STR91X_IAR/RTOSDemo.ewd b/Demo/ARM9_STR91X_IAR/RTOSDemo.ewd index 4fd4b8474..e00a0c08a 100644 --- a/Demo/ARM9_STR91X_IAR/RTOSDemo.ewd +++ b/Demo/ARM9_STR91X_IAR/RTOSDemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + @@ -173,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -212,7 +257,7 @@ JLINK_ID 2 - 7 + 9 1 1 - - + + LMIFTDI_ID 2 - 0 + 1 1 1 - - - - @@ -536,11 +566,11 @@ - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 @@ -591,7 +621,7 @@ C-SPY 2 - 13 + 15 1 1 + + @@ -752,6 +790,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -791,7 +866,7 @@ JLINK_ID 2 - 7 + 9 1 1 - - + + LMIFTDI_ID 2 - 0 + 1 1 1 - - - - @@ -1115,11 +1175,11 @@ - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 @@ -1170,7 +1230,7 @@ C-SPY 2 - 13 + 15 1 1 + + @@ -1331,6 +1399,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -1370,7 +1475,7 @@ JLINK_ID 2 - 7 + 9 1 1 - - + + LMIFTDI_ID 2 - 0 + 1 1 1 - - - - @@ -1694,11 +1784,11 @@ - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 @@ -1740,7 +1830,7 @@ - ARM - lwIP - R + ARM - uIP - R ARM @@ -1749,7 +1839,7 @@ C-SPY 2 - 13 + 15 1 0 + + @@ -1910,6 +2008,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + IARROM_ID 2 @@ -1949,7 +2084,7 @@ JLINK_ID 2 - 7 + 9 1 0 - - - - - - LMIFTDI_ID - 2 - - 0 - 1 - 0 - - - - - - - - - - - - MACRAIGOR_ID - 2 - - 2 - 1 - 0 - - - - - - - - - - - - - - - - RDI_ID + LMIFTDI_ID 2 1 1 0 - - - - - - - - - - - - - - - - THIRDPARTY_ID - 2 - - 0 - 1 - 0 - - - - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin - 0 - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin - 1 - - - - - ARM - uIP - R - - ARM - - 0 - - C-SPY - 2 - - 13 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - ARMSIM_ID - 2 - - 1 - 1 - 0 - - - - - - - - ANGEL_ID - 2 - - 0 - 1 - 0 - - - - - - - - - - - - IARROM_ID - 2 - - 0 - 1 - 0 - - - - - - - - - - JLINK_ID - 2 - - 7 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LMIFTDI_ID - 2 - - 0 - 1 - 0 - - - - - - - - @@ -2852,11 +2393,11 @@ - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 diff --git a/Demo/ARM9_STR91X_IAR/RTOSDemo.ewp b/Demo/ARM9_STR91X_IAR/RTOSDemo.ewp index 194a52cb4..496c3bc13 100644 --- a/Demo/ARM9_STR91X_IAR/RTOSDemo.ewp +++ b/Demo/ARM9_STR91X_IAR/RTOSDemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + @@ -132,7 +128,7 @@ ICCARM 2 - 14 + 19 1 1 - - - - - - - - - - - - - - + + + + + @@ -491,7 +449,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -549,283 +537,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -844,15 +783,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + @@ -966,7 +901,7 @@ ICCARM 2 - 14 + 19 1 1 - - - - - - - - - - - - - - + + + + + @@ -1326,7 +1223,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -1384,283 +1311,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -1679,15 +1557,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + @@ -1801,7 +1675,7 @@ ICCARM 2 - 14 + 19 1 1 - - - - - - - - - - - - - - + + + + + @@ -2164,7 +2000,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -2222,283 +2088,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -2510,51 +2327,39 @@ - ARM - lwIP - R + ARM - uIP - R ARM 0 General - 2 + 3 - 9 + 14 1 0 - - - - + + + @@ -2639,14 +2452,16 @@ ICCARM 2 - 14 + 19 1 0 - - - - - - - - - - - - - - - - - - AARM - 2 - - 7 - 1 - 0 + + + + + + + AARM + 2 + + 7 + 1 + 0 + + + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + CUSTOM 3 @@ -3058,1117 +2861,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 0 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 0 - - - - BILINK - 0 - - - - - ARM - uIP - R - - ARM - - 0 - - General - 2 - - 9 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCARM - 2 - - 14 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AARM - 2 - - 7 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - CUSTOM - 3 - - - - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - XLINK - 2 - - 18 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - XAR - 2 - - 0 - 1 - 0 - - - @@ -4230,7 +3150,6 @@ $PROJ_DIR$\webserver\uIP_Task.c ARM - lwIP - D - ARM - lwIP - R @@ -4246,248 +3165,13 @@ ICCARM - 14 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ARM - uIP - D - - ICCARM - - 14 + 19 1 1 - - - - - - - - - - - - - - + + + + + - ARM - lwIP - D + ARM - uIP - D ICCARM - 14 - 0 + 19 + 1 1 - - - - - - - - - - - - - - + + + + + - ARM - lwIP - R + ARM - lwIP - D ICCARM - 14 - 1 - 0 + 19 + 0 + 1 @@ -5016,36 +3622,15 @@ CCObjPrefix 1 - - - - - - - - - - - - - - + + + + + @@ -5188,7 +3756,7 @@ ICCARM - 14 + 19 1 0 - - - - - - - - - - - - - - + + + + + @@ -5595,23 +4125,16 @@ System Files - $PROJ_DIR$\91x_init_IAR.s - - - $PROJ_DIR$\91x_vect_IAR.s - - - $PROJ_DIR$\lnkarm_flash.xcl + $PROJ_DIR$\91x_init.s - $PROJ_DIR$\lnkarm_ram.xcl + $PROJ_DIR$\91x_vect.s uIP ARM - lwIP - D - ARM - lwIP - R $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\apps\webserver\http-strings.c diff --git a/Demo/ARM9_STR91X_IAR/STR91x_FLASH.icf b/Demo/ARM9_STR91X_IAR/STR91x_FLASH.icf new file mode 100644 index 000000000..cd6278e0d --- /dev/null +++ b/Demo/ARM9_STR91X_IAR/STR91x_FLASH.icf @@ -0,0 +1,42 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x00000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x00000178; +define symbol __ICFEDIT_region_ROM_end__ = 0x0007FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x04000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x04017FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x200; +define symbol __ICFEDIT_size_svcstack__ = 0x200; +define symbol __ICFEDIT_size_irqstack__ = 0x200; +define symbol __ICFEDIT_size_fiqstack__ = 0x10; +define symbol __ICFEDIT_size_undstack__ = 0x10; +define symbol __ICFEDIT_size_abtstack__ = 0x10; +define symbol __ICFEDIT_size_heap__ = 0x4; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block SVC_STACK with alignment = 8, size = __ICFEDIT_size_svcstack__ { }; +define block IRQ_STACK with alignment = 8, size = __ICFEDIT_size_irqstack__ { }; +define block FIQ_STACK with alignment = 8, size = __ICFEDIT_size_fiqstack__ { }; +define block UND_STACK with alignment = 8, size = __ICFEDIT_size_undstack__ { }; +define block ABT_STACK with alignment = 8, size = __ICFEDIT_size_abtstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { first block ICode{section .icode}, readonly }; +place in RAM_region { readwrite, + block CSTACK, block SVC_STACK, block IRQ_STACK, block FIQ_STACK, + block UND_STACK, block ABT_STACK, block HEAP }; \ No newline at end of file diff --git a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.cspy.bat b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.cspy.bat index 05be14319..7259709f7 100644 --- a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.cspy.bat +++ b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.cspy.bat @@ -22,11 +22,11 @@ @REM but they are listed at the end of this file for reference. -"C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\bin\cspybat" "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\bin\armproc.dll" "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\bin\armjlink.dll" %1 --plugin "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\bin\" --backend -B "--endian" "little" "--cpu" "ARM966E-S" "--fpu" "None" "--proc_device_desc_file" "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\CONFIG\iostr912.ddf" "--drv_verify_download" "all" "--proc_driver" "jlink" "--jlink_connection" "USB:0" "--jlink_initial_speed" "32" "--jlink_catch_exceptions" "0x000" +"C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\bin\cspybat" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\armproc.dll" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\armjlink.dll" %1 --plugin "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\" --backend -B "--endian" "little" "--cpu" "ARM966E-S" "--fpu" "None" "--proc_device_desc_file" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\CONFIG\debugger\ST\iostr912f.ddf" "--drv_verify_download" "all" "--proc_no_semihosting" "--proc_driver" "jlink" "--jlink_connection" "USB:0" "--jlink_initial_speed" "32" "--jlink_catch_exceptions" "0x000" @REM Loaded plugins: @REM armlibsupport.dll -@REM C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\plugins\CodeCoverage\CodeCoverage.dll -@REM C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\plugins\Profiling\Profiling.dll -@REM C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\plugins\stack\stack.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\CodeCoverage\CodeCoverage.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\Profiling\Profiling.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\stack\stack.dll diff --git a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dbgdt b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dbgdt index cdeee7d6a..985ff1079 100644 --- a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dbgdt +++ b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dbgdt @@ -16,7 +16,7 @@ - 252272727 + 268272727 @@ -28,12 +28,12 @@ - 100 + 010 20048268826 - + TabID-874-7293 @@ -49,7 +49,7 @@ TabID-4501-4793Find in FilesFind-in-FilesTabID-19328-10860BreakpointsBreakpoints - 0 + 0 TabID-11622-7296 @@ -57,24 +57,24 @@ Workspace - RTOSDemoRTOSDemo/Demo SourceRTOSDemo/Library SourceRTOSDemo/lwIPRTOSDemo/lwIP/WebServerRTOSDemo/lwIP/netif + RTOSDemo - 0TabID-21421-21055DisassemblyDisassembly0 + 0 - TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\lwip\lwipWebServer\BasicWEB.c010541734173TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\lwip\netif\ethernetif.c03921842184TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\91x_init_IAR.s06635333533TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\main.c0168689368933TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\Common\ethernet\lwIP\netif\etharp.c010343484348TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\Library\source\91x_gpio.c014954955495TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\Common\ethernet\lwIP\core\netif.c07536443644TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Source\portable\IAR\STR91x\port.c03931204912049TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\STCode\lcd.c03322008220082TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\Common\ethernet\lwIP\api\tcpip.c017448504867TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Source\tasks.c05161965219662TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\Library\source\91x_enet.c03971341713417TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\lwip\api\sys_arch.c031695029502TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\FreeRTOSConfig.h04526352635TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\lwip\include\lwip\lwipopts.h01817891789TextEditorC:\Temp\str9_test\FreeRTOS_v4.5.0_STR9_rc1\Demo\ARM9_STR91X_IAR\lwip\include\lwIPWebServer\BasicWEB.h021187818780100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\91x_vect.s04527852785TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\91x_init.s06537043704TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\main.c0170695269522TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\webserver\uIP_Task.c03600TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\lwip\include\lwIPWebServer\BasicWEB.h03420792079TextEditorC:\E\Dev\FreeRTOS\Demo\Common\ethernet\lwIP\core\tcp_in.c028410447104470100000010000001 - iaridepm.enu1debuggergui.enu1-2-2740342-2-2200200142857203666245714755601-2-2740198-2-2200200142857203666142857755601-2-21981402-2-214042001002857203666142857203666 + iaridepm.enu1debuggergui.enu1-2-2740342-2-2200200142857203666245714755601-2-21981402-2-214042001002857203666142857203666 diff --git a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dni b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dni index 76d294bfd..c18ff2915 100644 --- a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dni +++ b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.dni @@ -19,6 +19,8 @@ LimitSize=0 ByteLimit=50 [BreakpointUsageDialog] Placement=_ 144 186 919 647 +[CodeCoverage] +Enabled=_ 0 [Log file] LoggingEnabled=_ 0 LogFile=_ "" diff --git a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.wsdt b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.wsdt index 17b495ffc..32b6915d1 100644 --- a/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.wsdt +++ b/Demo/ARM9_STR91X_IAR/settings/RTOSDemo.wsdt @@ -3,7 +3,7 @@ - RTOSDemo/ARM - lwIP - D + RTOSDemo/ARM - uIP - R @@ -34,7 +34,7 @@ Workspace - RTOSDemo + RTOSDemoRTOSDemo/System Files @@ -54,14 +54,14 @@ - TextEditorC:\Temp\STR9\str9_test\FreeRTOS_v4.5.0_STR9_rc2\Demo\ARM9_STR91X_IAR\main.c02010000100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\91x_vect.s04527852785TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\91x_init.s06537043704TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\main.c0170695269522TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\webserver\uIP_Task.c03600TextEditorC:\E\Dev\FreeRTOS\Demo\ARM9_STR91X_IAR\lwip\include\lwIPWebServer\BasicWEB.h03420792079TextEditorC:\E\Dev\FreeRTOS\Demo\Common\ethernet\lwIP\core\tcp_in.c028410447104470100000010000001 - iaridepm.enu1-2-2606402-2-2200200142857203666288571619145-2-23321402-2-214043341002857340122142857203666 + iaridepm.enu1-2-2606402-2-2200200142857203666288571619145-2-23321402-2-214043341002857340122142857203666 diff --git a/Demo/AVR32_UC3/AT32UC3A/IAR/rtosdemo.dep b/Demo/AVR32_UC3/AT32UC3A/IAR/rtosdemo.dep deleted file mode 100644 index d63434224..000000000 --- a/Demo/AVR32_UC3/AT32UC3A/IAR/rtosdemo.dep +++ /dev/null @@ -1,1213 +0,0 @@ - - - - 2 - - Debug - - $PROJ_DIR$\Debug\Obj\intc.r82 - $PROJ_DIR$\Debug\Obj\led.r82 - $PROJ_DIR$\Debug\Obj\pm.r82 - $PROJ_DIR$\Debug\Obj\tc.r82 - $PROJ_DIR$\Debug\Obj\write.r82 - $PROJ_DIR$\Debug\Obj\read.r82 - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - $PROJ_DIR$\Debug\Obj\gpio.r82 - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - $PROJ_DIR$\..\..\ParTest\ParTest.c - $PROJ_DIR$\..\..\main.c - $PROJ_DIR$\..\..\serial\serial.c - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\exception.s82 - $PROJ_DIR$\..\..\..\Common\Minimal\BlockQ.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - $PROJ_DIR$\..\..\..\Common\Minimal\comtest.c - $PROJ_DIR$\..\..\..\Common\Minimal\death.c - $PROJ_DIR$\..\..\..\Common\Minimal\dynamic.c - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - $PROJ_DIR$\..\..\..\Common\Minimal\flop.c - $PROJ_DIR$\..\..\..\Common\Minimal\integer.c - $PROJ_DIR$\..\..\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\..\..\Common\Minimal\semtest.c - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - $PROJ_DIR$\..\..\..\..\Source\list.c - $PROJ_DIR$\..\..\..\..\Source\queue.c - $PROJ_DIR$\..\..\..\..\Source\tasks.c - $PROJ_DIR$\Debug\Obj\usart.r82 - $PROJ_DIR$\Debug\Obj\port.r82 - $PROJ_DIR$\Debug\Obj\BlockQ.r82 - $PROJ_DIR$\Debug\Obj\comtest.r82 - $PROJ_DIR$\Debug\Obj\death.r82 - $PROJ_DIR$\Debug\Obj\dynamic.r82 - $PROJ_DIR$\Debug\Obj\flash.r82 - $PROJ_DIR$\Debug\Obj\flop.r82 - $PROJ_DIR$\Debug\Obj\integer.r82 - $PROJ_DIR$\Debug\Obj\PollQ.r82 - $PROJ_DIR$\Debug\Obj\semtest.r82 - $PROJ_DIR$\Debug\Obj\heap_3.r82 - $PROJ_DIR$\Debug\Obj\list.r82 - $PROJ_DIR$\Debug\Obj\queue.r82 - $PROJ_DIR$\Debug\Obj\tasks.r82 - $PROJ_DIR$\Debug\Obj\ParTest.r82 - $PROJ_DIR$\Debug\Obj\main.r82 - $PROJ_DIR$\Debug\Obj\serial.r82 - $PROJ_DIR$\Debug\Obj\exception.r82 - $PROJ_DIR$\Debug\Obj\read.pbi - $PROJ_DIR$\Debug\Obj\write.pbi - $PROJ_DIR$\Debug\Obj\gpio.pbi - $PROJ_DIR$\Debug\Obj\intc.pbi - $PROJ_DIR$\Debug\Obj\led.pbi - $PROJ_DIR$\Debug\Obj\pm.pbi - $PROJ_DIR$\Debug\Obj\tc.pbi - $PROJ_DIR$\Debug\Obj\usart.pbi - $PROJ_DIR$\Debug\Obj\port.pbi - $PROJ_DIR$\Debug\Obj\BlockQ.pbi - $PROJ_DIR$\Debug\Obj\comtest.pbi - $PROJ_DIR$\Debug\Obj\death.pbi - $PROJ_DIR$\Debug\Obj\dynamic.pbi - $PROJ_DIR$\Debug\Obj\flash.pbi - $PROJ_DIR$\Debug\Obj\flop.pbi - $PROJ_DIR$\Debug\Obj\integer.pbi - $PROJ_DIR$\Debug\Obj\PollQ.pbi - $PROJ_DIR$\Debug\Obj\semtest.pbi - $PROJ_DIR$\Debug\Obj\heap_3.pbi - $PROJ_DIR$\Debug\Obj\list.pbi - $PROJ_DIR$\Debug\Obj\queue.pbi - $PROJ_DIR$\Debug\Obj\tasks.pbi - $PROJ_DIR$\Debug\Obj\main.pbi - $PROJ_DIR$\Debug\Obj\ParTest.pbi - $PROJ_DIR$\Debug\Obj\serial.pbi - $PROJ_DIR$\Debug\Exe\rtosdemo.d82 - $PROJ_DIR$\Debug\Obj\rtosdemo.pbd - $TOOLKIT_DIR$\inc\ysizet.h - $TOOLKIT_DIR$\inc\yfuns.h - $TOOLKIT_DIR$\inc\avr32\iouc3a0512.h - $TOOLKIT_DIR$\inc\avr32\adc_102.h - $PROJ_DIR$\..\..\UTILS\compiler.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\mrepeat.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\stringz.h - $TOOLKIT_DIR$\inc\stddef.h - $TOOLKIT_DIR$\inc\yvals.h - $TOOLKIT_DIR$\inc\avr32\abi.h - $TOOLKIT_DIR$\inc\avr32\core_sc0_100.h - $TOOLKIT_DIR$\inc\avr32\ocd_s0_100.h - $TOOLKIT_DIR$\inc\avr32\intc.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $TOOLKIT_DIR$\inc\DLib_Product.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $TOOLKIT_DIR$\inc\DLib_Threads.h - $TOOLKIT_DIR$\inc\avr32\flashc_100.h - $TOOLKIT_DIR$\inc\avr32\eic_200.h - $TOOLKIT_DIR$\inc\avr32\freqm_200.h - $TOOLKIT_DIR$\inc\avr32\gpio_100.h - $TOOLKIT_DIR$\inc\avr32\hmatrix_220.h - $TOOLKIT_DIR$\inc\avr32\macb_112.h - $TOOLKIT_DIR$\inc\avr32\pdca_100.h - $TOOLKIT_DIR$\inc\avr32\rtc_200.h - $TOOLKIT_DIR$\inc\avr32\pm_200.h - $TOOLKIT_DIR$\inc\avr32\smc_104.h - $TOOLKIT_DIR$\inc\avr32\ssc_301.h - $TOOLKIT_DIR$\inc\avr32\spi_192.h - $TOOLKIT_DIR$\inc\avr32\pwm_120.h - $TOOLKIT_DIR$\inc\avr32\sdramc_201.h - $TOOLKIT_DIR$\inc\avr32\tc_222.h - $TOOLKIT_DIR$\inc\avr32\twi_202.h - $TOOLKIT_DIR$\inc\avr32\usbb_260.h - $TOOLKIT_DIR$\inc\avr32\usart_319.h - $PROJ_DIR$\..\..\DRIVERS\USART\usart.h - $TOOLKIT_DIR$\inc\avr32\wdt_200.h - $TOOLKIT_DIR$\inc\avr32\uc3a0512.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\preprocessor.h - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\tpaste.h - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.h - $PROJ_DIR$\..\..\DRIVERS\TC\tc.h - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.h - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.h - $PROJ_DIR$\..\..\BOARDS\EVK1100\evk1100.h - $PROJ_DIR$\..\..\DRIVERS\PM\pm.h - $TOOLKIT_DIR$\inc\stdlib.h - - - [ROOT_NODE] - - - XLINK - 77 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - - - ICCAVR32 - 4 - - - BICOMP - 53 - - - - - BICOMP - 80 79 87 92 93 94 95 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 114 83 116 118 117 119 85 84 86 126 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - - - ICCAVR32 - 5 - - - BICOMP - 52 - - - - - BICOMP - 80 79 87 92 93 94 95 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 114 83 116 118 117 119 85 84 86 126 - - - - - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - - - ICCAVR32 - 7 - - - BICOMP - 54 - - - - - BICOMP - 120 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 - - - - - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - - - ICCAVR32 - 2 - - - BICOMP - 57 - - - - - BICOMP - 125 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 116 83 118 117 119 85 84 86 87 92 93 94 95 79 126 - - - - - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - - - ICCAVR32 - 3 - - - BICOMP - 58 - - - - - BICOMP - 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 83 116 118 117 119 85 84 86 87 92 93 94 95 79 126 121 - - - - - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - - - ICCAVR32 - 0 - - - BICOMP - 55 - - - - - BICOMP - 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 83 116 118 117 119 85 84 86 87 92 93 94 95 79 126 122 - - - - - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - - - ICCAVR32 - 1 - - - BICOMP - 56 - - - - - BICOMP - 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 117 119 85 84 83 116 118 86 87 92 93 94 95 79 126 124 123 - - - - - $PROJ_DIR$\..\..\ParTest\ParTest.c - - - ICCAVR32 - 48 - - - BICOMP - 75 - - - - - $PROJ_DIR$\..\..\main.c - - - ICCAVR32 - 49 - - - BICOMP - 74 - - - - - $PROJ_DIR$\..\..\serial\serial.c - - - ICCAVR32 - 50 - - - BICOMP - 76 - - - - - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - - - ICCAVR32 - 33 - - - BICOMP - 59 - - - - - BICOMP - 114 81 88 89 90 91 82 97 96 98 99 100 101 102 104 108 103 109 105 107 106 110 111 113 112 115 83 116 118 117 119 85 84 86 87 92 93 94 95 79 126 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\exception.s82 - - - AAVR32 - 51 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\BlockQ.c - - - ICCAVR32 - 35 - - - BICOMP - 61 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - - - ICCAVR32 - 34 - - - BICOMP - 60 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\comtest.c - - - ICCAVR32 - 36 - - - BICOMP - 62 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\death.c - - - ICCAVR32 - 37 - - - BICOMP - 63 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\dynamic.c - - - ICCAVR32 - 38 - - - BICOMP - 64 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - - - ICCAVR32 - 39 - - - BICOMP - 65 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\flop.c - - - ICCAVR32 - 40 - - - BICOMP - 66 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\integer.c - - - ICCAVR32 - 41 - - - BICOMP - 67 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\PollQ.c - - - ICCAVR32 - 42 - - - BICOMP - 68 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\semtest.c - - - ICCAVR32 - 43 - - - BICOMP - 69 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - - - ICCAVR32 - 44 - - - BICOMP - 70 - - - - - $PROJ_DIR$\..\..\..\..\Source\list.c - - - ICCAVR32 - 45 - - - BICOMP - 71 - - - - - $PROJ_DIR$\..\..\..\..\Source\queue.c - - - ICCAVR32 - 46 - - - BICOMP - 72 - - - - - $PROJ_DIR$\..\..\..\..\Source\tasks.c - - - ICCAVR32 - 47 - - - BICOMP - 73 - - - - - [MULTI_TOOL] - XLINK - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - ICCAVR32 - - - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - ICCAVR32 - - - $PROJ_DIR$\..\..\ParTest\ParTest.c - ICCAVR32 - - - $PROJ_DIR$\..\..\main.c - ICCAVR32 - - - $PROJ_DIR$\..\..\serial\serial.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\BlockQ.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\comtest.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\death.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\dynamic.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\flop.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\integer.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\PollQ.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\semtest.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\list.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\queue.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\tasks.c - ICCAVR32 - - - - Release - - $PROJ_DIR$\Release\Obj\write.r82 - $PROJ_DIR$\Release\Obj\list.r82 - $PROJ_DIR$\Release\Obj\intc.r82 - $PROJ_DIR$\Release\Obj\led.r82 - $PROJ_DIR$\Release\Obj\pm.r82 - $PROJ_DIR$\Release\Obj\tc.r82 - $PROJ_DIR$\Release\Obj\semtest.r82 - $PROJ_DIR$\Release\Obj\PollQ.r82 - $PROJ_DIR$\Release\Obj\integer.r82 - $PROJ_DIR$\Release\Obj\flop.r82 - $PROJ_DIR$\Release\Obj\gpio.r82 - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - $PROJ_DIR$\..\..\ParTest\ParTest.c - $PROJ_DIR$\..\..\main.c - $PROJ_DIR$\..\..\serial\serial.c - $PROJ_DIR$\Release\Obj\flash.r82 - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\exception.s82 - $PROJ_DIR$\..\..\..\Common\Minimal\BlockQ.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - $PROJ_DIR$\..\..\..\Common\Minimal\comtest.c - $PROJ_DIR$\..\..\..\Common\Minimal\death.c - $PROJ_DIR$\..\..\..\Common\Minimal\dynamic.c - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - $PROJ_DIR$\..\..\..\Common\Minimal\flop.c - $PROJ_DIR$\..\..\..\Common\Minimal\integer.c - $PROJ_DIR$\..\..\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\..\..\Common\Minimal\semtest.c - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - $PROJ_DIR$\..\..\..\..\Source\list.c - $PROJ_DIR$\..\..\..\..\Source\queue.c - $PROJ_DIR$\..\..\..\..\Source\tasks.c - $PROJ_DIR$\Release\Obj\dynamic.r82 - $PROJ_DIR$\Release\Obj\death.r82 - $PROJ_DIR$\Release\Obj\rtosdemo.pbd - $PROJ_DIR$\Release\Exe\rtosdemo.d82 - $PROJ_DIR$\Release\Obj\serial.pbi - $PROJ_DIR$\Release\Obj\ParTest.pbi - $PROJ_DIR$\Release\Obj\main.pbi - $PROJ_DIR$\Release\Obj\tasks.pbi - $PROJ_DIR$\Release\Obj\queue.pbi - $PROJ_DIR$\Release\Obj\list.pbi - $PROJ_DIR$\Release\Obj\heap_3.pbi - $PROJ_DIR$\Release\Obj\semtest.pbi - $PROJ_DIR$\Release\Obj\PollQ.pbi - $PROJ_DIR$\Release\Obj\integer.pbi - $PROJ_DIR$\Release\Obj\flop.pbi - $PROJ_DIR$\Release\Obj\flash.pbi - $PROJ_DIR$\Release\Obj\dynamic.pbi - $PROJ_DIR$\Release\Obj\death.pbi - $PROJ_DIR$\Release\Obj\comtest.r82 - $PROJ_DIR$\Release\Obj\BlockQ.r82 - $PROJ_DIR$\Release\Obj\comtest.pbi - $PROJ_DIR$\Release\Obj\BlockQ.pbi - $PROJ_DIR$\Release\Obj\port.r82 - $PROJ_DIR$\Release\Obj\port.pbi - $PROJ_DIR$\Release\Obj\usart.pbi - $PROJ_DIR$\Release\Obj\read.r82 - $PROJ_DIR$\Release\Obj\tc.pbi - $PROJ_DIR$\Release\Obj\usart.r82 - $PROJ_DIR$\Release\Obj\pm.pbi - $PROJ_DIR$\Release\Obj\led.pbi - $PROJ_DIR$\Release\Obj\intc.pbi - $PROJ_DIR$\Release\Obj\gpio.pbi - $PROJ_DIR$\Release\Obj\write.pbi - $PROJ_DIR$\Release\Obj\read.pbi - $PROJ_DIR$\Release\Obj\exception.r82 - $PROJ_DIR$\Release\Obj\serial.r82 - $PROJ_DIR$\Release\Obj\ParTest.r82 - $PROJ_DIR$\Release\Obj\main.r82 - $PROJ_DIR$\Release\Obj\queue.r82 - $TOOLKIT_DIR$\inc\ysizet.h - $TOOLKIT_DIR$\inc\yfuns.h - $TOOLKIT_DIR$\inc\avr32\iouc3a0512.h - $TOOLKIT_DIR$\inc\avr32\adc_102.h - $PROJ_DIR$\..\..\UTILS\compiler.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\mrepeat.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\stringz.h - $TOOLKIT_DIR$\inc\stddef.h - $TOOLKIT_DIR$\inc\yvals.h - $TOOLKIT_DIR$\inc\avr32\abi.h - $TOOLKIT_DIR$\inc\avr32\core_sc0_100.h - $TOOLKIT_DIR$\inc\avr32\ocd_s0_100.h - $TOOLKIT_DIR$\inc\avr32\intc.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $TOOLKIT_DIR$\inc\DLib_Product.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $TOOLKIT_DIR$\inc\DLib_Threads.h - $TOOLKIT_DIR$\inc\avr32\flashc_100.h - $TOOLKIT_DIR$\inc\avr32\eic_200.h - $TOOLKIT_DIR$\inc\avr32\freqm_200.h - $TOOLKIT_DIR$\inc\avr32\gpio_100.h - $TOOLKIT_DIR$\inc\avr32\hmatrix_220.h - $PROJ_DIR$\Release\Obj\heap_3.r82 - $TOOLKIT_DIR$\inc\avr32\macb_112.h - $TOOLKIT_DIR$\inc\avr32\pdca_100.h - $TOOLKIT_DIR$\inc\avr32\rtc_200.h - $TOOLKIT_DIR$\inc\avr32\pm_200.h - $TOOLKIT_DIR$\inc\avr32\smc_104.h - $TOOLKIT_DIR$\inc\avr32\ssc_301.h - $TOOLKIT_DIR$\inc\avr32\spi_192.h - $TOOLKIT_DIR$\inc\avr32\pwm_120.h - $TOOLKIT_DIR$\inc\avr32\sdramc_201.h - $TOOLKIT_DIR$\inc\avr32\tc_222.h - $TOOLKIT_DIR$\inc\avr32\twi_202.h - $TOOLKIT_DIR$\inc\avr32\usbb_260.h - $TOOLKIT_DIR$\inc\avr32\usart_319.h - $PROJ_DIR$\..\..\DRIVERS\USART\usart.h - $TOOLKIT_DIR$\inc\avr32\wdt_200.h - $TOOLKIT_DIR$\inc\avr32\uc3a0512.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\preprocessor.h - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\tpaste.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\Release\Obj\tasks.r82 - - - [ROOT_NODE] - - - XLINK - 41 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - - - ICCAVR32 - 0 - - - BICOMP - 70 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - - - ICCAVR32 - 63 - - - BICOMP - 71 - - - - - BICOMP - 78 77 85 90 91 92 93 79 86 87 88 89 80 95 94 96 97 98 100 101 103 107 102 108 104 106 105 109 110 112 111 114 113 81 115 117 116 118 83 82 84 119 - - - - - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - - - ICCAVR32 - 10 - - - BICOMP - 69 - - - - - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - - - ICCAVR32 - 4 - - - BICOMP - 66 - - - - - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - - - ICCAVR32 - 5 - - - BICOMP - 64 - - - - - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - - - ICCAVR32 - 2 - - - BICOMP - 68 - - - - - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - - - ICCAVR32 - 3 - - - BICOMP - 67 - - - - - $PROJ_DIR$\..\..\ParTest\ParTest.c - - - ICCAVR32 - 74 - - - BICOMP - 43 - - - - - $PROJ_DIR$\..\..\main.c - - - ICCAVR32 - 75 - - - BICOMP - 44 - - - - - $PROJ_DIR$\..\..\serial\serial.c - - - ICCAVR32 - 73 - - - BICOMP - 42 - - - - - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - - - ICCAVR32 - 65 - - - BICOMP - 62 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\exception.s82 - - - AAVR32 - 72 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\BlockQ.c - - - ICCAVR32 - 57 - - - BICOMP - 59 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - - - ICCAVR32 - 60 - - - BICOMP - 61 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\comtest.c - - - ICCAVR32 - 56 - - - BICOMP - 58 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\death.c - - - ICCAVR32 - 39 - - - BICOMP - 55 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\dynamic.c - - - ICCAVR32 - 38 - - - BICOMP - 54 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - - - ICCAVR32 - 21 - - - BICOMP - 53 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\flop.c - - - ICCAVR32 - 9 - - - BICOMP - 52 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\integer.c - - - ICCAVR32 - 8 - - - BICOMP - 51 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\PollQ.c - - - ICCAVR32 - 7 - - - BICOMP - 50 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\semtest.c - - - ICCAVR32 - 6 - - - BICOMP - 49 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - - - ICCAVR32 - 99 - - - BICOMP - 48 - - - - - $PROJ_DIR$\..\..\..\..\Source\list.c - - - ICCAVR32 - 1 - - - BICOMP - 47 - - - - - $PROJ_DIR$\..\..\..\..\Source\queue.c - - - ICCAVR32 - 76 - - - BICOMP - 46 - - - - - $PROJ_DIR$\..\..\..\..\Source\tasks.c - - - ICCAVR32 - 120 - - - BICOMP - 45 - - - - - [MULTI_TOOL] - XLINK - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - ICCAVR32 - - - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - ICCAVR32 - - - $PROJ_DIR$\..\..\ParTest\ParTest.c - ICCAVR32 - - - $PROJ_DIR$\..\..\main.c - ICCAVR32 - - - $PROJ_DIR$\..\..\serial\serial.c - ICCAVR32 - - - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\BlockQ.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\comtest.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\death.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\dynamic.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\flop.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\integer.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\PollQ.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\Common\Minimal\semtest.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\list.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\queue.c - ICCAVR32 - - - $PROJ_DIR$\..\..\..\..\Source\tasks.c - ICCAVR32 - - - - - diff --git a/Demo/AVR_ATMega323_IAR/rtosdemo.dep b/Demo/AVR_ATMega323_IAR/rtosdemo.dep deleted file mode 100644 index 7624e767c..000000000 --- a/Demo/AVR_ATMega323_IAR/rtosdemo.dep +++ /dev/null @@ -1,554 +0,0 @@ - - - - 2 - - Debug - - $PROJ_DIR$\..\Common\Minimal\flash.c - $PROJ_DIR$\Output\Obj\flash.pbi - $TOOLKIT_DIR$\inc\clib\sysmac.h - $TOOLKIT_DIR$\inc\clib\stdarg.h - $PROJ_DIR$\Output\Obj\regtest.pbi - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $PROJ_DIR$\..\Common\include\PollQ.h - $TOOLKIT_DIR$\inc\clib\stddef.h - $TOOLKIT_DIR$\inc\iomacro.h - $PROJ_DIR$\Output\List\PollQ.lst - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\Output\Obj\queue.pbi - $PROJ_DIR$\..\Common\include\flash.h - $TOOLKIT_DIR$\inc\clib\string.h - $TOOLKIT_DIR$\inc\clib\stdlib.h - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\..\..\Source\include\croutine.h - $PROJ_DIR$\..\Common\include\print.h - $PROJ_DIR$\Output\Obj\ParTest.r90 - $PROJ_DIR$\..\Common\include\serial.h - $PROJ_DIR$\Output\Obj\main.r90 - $PROJ_DIR$\Output\Obj\PollQ.r90 - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\Output\Obj\heap_1.r90 - $PROJ_DIR$\Output\Obj\integer.r90 - $TOOLKIT_DIR$\inc\clib\stdio.h - $PROJ_DIR$\Output\List\tasks.s90 - $PROJ_DIR$\Output\List\queue.lst - $PROJ_DIR$\..\Common\include\integer.h - $TOOLKIT_DIR$\src\template\cfgm323.xcl - $PROJ_DIR$\Output\List\ParTest.lst - $PROJ_DIR$\Output\List\comtest.lst - $PROJ_DIR$\Output\List\tasks.lst - $TOOLKIT_DIR$\inc\iom323.h - $PROJ_DIR$\Output\Obj\comtest.r90 - $PROJ_DIR$\Output\Obj\list.pbi - $PROJ_DIR$\Output\Obj\serial.r90 - $PROJ_DIR$\..\..\Source\portable\IAR\ATMega323\portmacro.h - $PROJ_DIR$\regtest.c - $PROJ_DIR$\Output\Obj\crflash.r90 - $PROJ_DIR$\Output\Obj\rtosdemo.pbd - $PROJ_DIR$\Output\Obj\heap_1.pbi - $PROJ_DIR$\Output\Exe\rtosdemo.d90 - $TOOLKIT_DIR$\lib\clib\cl3s-ec-sf.r90 - $PROJ_DIR$\Output\List\integer.s90 - $PROJ_DIR$\Output\List\serial.lst - $PROJ_DIR$\Output\Obj\integer.pbi - $PROJ_DIR$\Output\Exe\rtosdemo.a90 - $PROJ_DIR$\Output\Obj\main.pbi - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\Output\List\regtest.lst - $PROJ_DIR$\Output\Obj\flash.r90 - $PROJ_DIR$\Output\Obj\list.r90 - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\Output\Obj\tasks.r90 - $PROJ_DIR$\Output\Obj\ParTest.pbi - $PROJ_DIR$\..\Common\include\comtest.h - $PROJ_DIR$\Output\List\main.s90 - $PROJ_DIR$\Output\List\serial.s90 - $PROJ_DIR$\Output\List\port.s90 - $PROJ_DIR$\Output\List\heap_1.lst - $PROJ_DIR$\Output\Exe\rtosdemo.cof - $PROJ_DIR$\Output\List\queue.s90 - $PROJ_DIR$\Output\List\PollQ.s90 - $PROJ_DIR$\Output\Obj\port.pbi - $PROJ_DIR$\Output\List\ParTest.s90 - $PROJ_DIR$\Output\List\integer.lst - $PROJ_DIR$\Output\Obj\port.r90 - $PROJ_DIR$\Output\Obj\comtest.pbi - $PROJ_DIR$\..\..\Source\include\task.h - $TOOLKIT_DIR$\src\template\cfg3soim.xcl - $PROJ_DIR$\Output\List\comtest.s90 - $PROJ_DIR$\Output\List\main.lst - $PROJ_DIR$\Output\List\flash.lst - $PROJ_DIR$\Output\List\flash.s90 - $PROJ_DIR$\Output\List\port.lst - $PROJ_DIR$\Output\List\heap_1.s90 - $PROJ_DIR$\Output\List\list.lst - $PROJ_DIR$\Output\List\rtosdemo.map - $PROJ_DIR$\Output\Obj\tasks.pbi - $PROJ_DIR$\Output\Obj\serial.pbi - $PROJ_DIR$\Output\List\list.s90 - $PROJ_DIR$\Output\Obj\PollQ.pbi - $PROJ_DIR$\Output\List\regtest.s90 - $PROJ_DIR$\Output\List\crflash.s90 - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\..\..\Source\portable\IAR\ATMega323\portmacro.s90 - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\..\..\Source\portable\IAR\ATMega323\port.c - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\Output\Obj\portmacro.r90 - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\serial\serial.c - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c - $PROJ_DIR$\main.c - $PROJ_DIR$\Output\Exe\rtosdemo.elf - $PROJ_DIR$\..\Common\Minimal\comtest.c - $PROJ_DIR$\Output\Exe\rtosdemo.dbg - $PROJ_DIR$\..\Common\include\crflash.h - $PROJ_DIR$\Output\Obj\queue.r90 - $PROJ_DIR$\Output\List\croutine.lst - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\Output\Obj\croutine.r90 - $PROJ_DIR$\Output\List\croutine.s90 - $PROJ_DIR$\regtest.h - $PROJ_DIR$\..\..\Source\croutine.c - $PROJ_DIR$\Output\List\crflash.lst - $PROJ_DIR$\Output\Obj\croutine.pbi - $PROJ_DIR$\..\Common\Minimal\crflash.c - $PROJ_DIR$\Output\Obj\regtest.r90 - $PROJ_DIR$\Output\Obj\crflash.pbi - - - [ROOT_NODE] - - - XLINK - 47 78 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCAVR - 51 74 73 - - - BICOMP - 1 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 69 53 10 12 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 69 53 10 12 - - - - - $PROJ_DIR$\regtest.c - - - ICCAVR - 111 83 50 - - - BICOMP - 4 - - - - - ICCAVR - 5 7 2 49 22 33 8 94 37 69 53 106 - - - BICOMP - 5 7 2 49 22 33 8 94 37 69 53 106 - - - - - $PROJ_DIR$\Output\Obj\rtosdemo.pbd - - - BILINK - 55 82 68 112 109 41 46 35 48 64 11 4 80 79 - - - - - $PROJ_DIR$\Output\Exe\rtosdemo.d90 - - - XLINK - 29 70 18 21 34 51 23 24 52 20 67 91 101 36 54 43 - - - - - $PROJ_DIR$\Output\Exe\rtosdemo.a90 - - - XLINK - 78 - - - - - XLINK - 29 70 18 21 34 39 104 23 24 52 20 67 91 101 111 36 54 43 - - - - - $PROJ_DIR$\Output\Exe\rtosdemo.cof - - - XLINK - 29 70 18 21 34 51 23 24 52 20 67 91 101 36 54 43 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCAVR - 52 81 77 - - - BICOMP - 35 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 53 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 53 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\ATMega323\portmacro.s90 - - - AAVR - 91 - - - - - AAVR - 33 8 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCAVR - 21 63 9 - - - BICOMP - 82 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 69 53 15 6 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 69 53 15 6 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCAVR - 18 65 30 - - - BICOMP - 55 - - - - - ICCAVR - 5 7 2 49 22 33 8 94 37 69 53 10 - - - BICOMP - 5 7 2 49 22 33 8 94 37 69 53 10 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\ATMega323\port.c - - - ICCAVR - 67 59 75 - - - BICOMP - 64 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 69 53 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 69 53 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCAVR - 101 62 27 - - - BICOMP - 11 - - - - - ICCAVR - 14 2 13 5 7 49 22 33 8 94 37 69 53 16 - - - BICOMP - 14 2 13 5 7 49 22 33 8 94 37 69 53 16 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCAVR - 54 26 32 - - - BICOMP - 79 - - - - - ICCAVR - 25 3 2 14 13 5 7 49 22 33 8 94 37 69 53 - - - BICOMP - 25 3 2 14 13 5 7 49 22 33 8 94 37 69 53 - - - - - $PROJ_DIR$\serial\serial.c - - - ICCAVR - 36 58 45 - - - BICOMP - 80 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 15 69 53 19 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 15 69 53 19 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c - - - ICCAVR - 23 76 60 - - - BICOMP - 41 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 69 53 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 69 53 - - - - - $PROJ_DIR$\main.c - - - ICCAVR - 20 57 72 - - - BICOMP - 48 - - - - - ICCAVR - 14 2 13 5 7 49 22 33 8 94 37 69 53 16 6 28 19 56 100 17 10 106 - - - BICOMP - 14 2 13 5 7 49 22 33 8 94 37 69 53 16 6 28 19 56 100 17 10 106 - - - - - $PROJ_DIR$\Output\Exe\rtosdemo.elf - - - XLINK - 29 70 18 21 34 51 23 24 52 20 67 91 101 36 54 43 - - - - - $PROJ_DIR$\..\Common\Minimal\comtest.c - - - ICCAVR - 34 71 31 - - - BICOMP - 68 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 69 53 19 56 10 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 69 53 19 56 10 - - - - - $PROJ_DIR$\Output\Exe\rtosdemo.dbg - - - XLINK - 29 70 18 21 34 39 104 23 24 52 20 67 91 101 36 54 43 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCAVR - 24 44 66 - - - BICOMP - 46 - - - - - ICCAVR - 14 2 5 7 49 22 33 8 94 37 69 53 28 - - - BICOMP - 14 2 5 7 49 22 33 8 94 37 69 53 28 - - - - - $PROJ_DIR$\..\..\Source\croutine.c - - - ICCAVR - 104 105 102 - - - BICOMP - 109 - - - - - ICCAVR - 5 7 2 49 22 33 8 94 37 69 53 16 - - - BICOMP - 5 7 2 49 22 33 8 94 37 69 53 16 - - - - - $PROJ_DIR$\..\Common\Minimal\crflash.c - - - ICCAVR - 39 84 108 - - - BICOMP - 112 - - - - - ICCAVR - 5 7 2 49 22 33 8 94 37 16 53 15 10 100 - - - BICOMP - 5 7 2 49 22 33 8 94 37 16 53 15 10 100 - - - - - - - diff --git a/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h b/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h index b4cecf7f1..0bd18bb8e 100644 --- a/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h +++ b/Demo/CORTEX_LM3S316_IAR/FreeRTOSConfig.h @@ -19,13 +19,13 @@ A special exception to the GPL can be applied should you wish to distribute a combined work that includes FreeRTOS.org, without being obliged to provide - the source code for any proprietary components. See the licensing section + the source code for any proprietary components. See the licensing section of http://www.FreeRTOS.org for full details of how and when the exception can be applied. *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com a version that has been certified for use @@ -44,7 +44,7 @@ * application requirements. * * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE - * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. + * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. *----------------------------------------------------------*/ #define configUSE_PREEMPTION 1 @@ -52,7 +52,7 @@ #define configUSE_TICK_HOOK 0 #define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 20000000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 ) -#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 70 ) +#define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 80 ) #define configTOTAL_HEAP_SIZE ( ( size_t ) ( 3000 ) ) #define configMAX_TASK_NAME_LEN ( 3 ) #define configUSE_TRACE_FACILITY 0 @@ -74,7 +74,7 @@ to exclude the API function. */ #define INCLUDE_vTaskDelayUntil 0 #define INCLUDE_vTaskDelay 1 - +#define configKERNEL_INTERRUPT_PRIORITY 255 #endif /* FREERTOS_CONFIG_H */ diff --git a/Demo/CORTEX_LM3S316_IAR/LM3S316.icf b/Demo/CORTEX_LM3S316_IAR/LM3S316.icf new file mode 100644 index 000000000..2c39cba27 --- /dev/null +++ b/Demo/CORTEX_LM3S316_IAR/LM3S316.icf @@ -0,0 +1,58 @@ +//***************************************************************************** +// +// boot_demo1.icf - Linker configuration file for boot_demo1. +// +// Copyright (c) 2007 Luminary Micro, Inc. All rights reserved. +// Luminary Micro Confidential - For Use Under NDA Only +// +//***************************************************************************** + +// +// Define a memory region that covers the entire 4 GB addressible space of the +// processor. +// +define memory mem with size = 4G; + +// +// Define a region for the on-chip flash. +// +define region FLASH = mem:[from 0x00000000 to 0x00003fff]; + +// +// Define a region for the on-chip SRAM. +// +define region SRAM = mem:[from 0x20000000 to 0x20000fff]; + +// +// Define a block for the heap. The size should be set to something other +// than zero if things in the C library that require the heap are used. +// +define block HEAP with alignment = 8, size = 0x00000000 { }; + +// +// Indicate that the read/write values should be initialized by copying from +// flash. +// +initialize by copy { readwrite }; + +// +// Initicate that the noinit values should be left alone. This includes the +// stack, which if initialized will destroy the return address from the +// initialization code, causing the processor to branch to zero and fault. +// +do not initialize { section .noinit }; + +// +// Place the interrupt vectors at the start of flash. +// +place at start of FLASH { readonly section .intvec }; + +// +// Place the remainder of the read-only items into flash. +// +place in FLASH { readonly }; + +// +// Place all read/write items into SRAM. +// +place in SRAM { readwrite, block HEAP }; diff --git a/Demo/CORTEX_LM3S316_IAR/RTOSDemo.dep b/Demo/CORTEX_LM3S316_IAR/RTOSDemo.dep deleted file mode 100644 index 0e25ef46c..000000000 --- a/Demo/CORTEX_LM3S316_IAR/RTOSDemo.dep +++ /dev/null @@ -1,535 +0,0 @@ - - - - 2 - - Debug - - $PROJ_DIR$\..\..\Source\croutine.c - $PROJ_DIR$\ewarm\Obj\cspy.pbi - $PROJ_DIR$\ewarm\Exe\RTOSDemo.sim - $PROJ_DIR$\ewarm\Obj\commstest.r79 - $PROJ_DIR$\ewarm\Obj\pdc.r79 - $PROJ_DIR$\ewarm\Obj\list.r79 - $PROJ_DIR$\hw_include\hw_ssi.h - $PROJ_DIR$\ewarm\List\RTOSDemo.map - $PROJ_DIR$\..\..\Source\include\projdefs.h - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\hw_include\hw_uart.h - $PROJ_DIR$\standalone.xcl - $PROJ_DIR$\hw_include\debug.h - $PROJ_DIR$\hw_include\hw_adc.h - $PROJ_DIR$\hw_include\hw_i2c.h - $PROJ_DIR$\ewarm\Obj\registertest.r79 - $PROJ_DIR$\ewarm\Obj\commstest.pbi - $PROJ_DIR$\ewarm\Obj\crhook.pbi - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $PROJ_DIR$\hw_include\interrupt.h - $PROJ_DIR$\..\Common\include\crhook.h - $PROJ_DIR$\ewarm\Obj\ParTest.pbi - $PROJ_DIR$\ewarm\Obj\tasks.pbi - $PROJ_DIR$\ewarm\Obj\startup.pbi - $PROJ_DIR$\ewarm\Obj\crflash.pbi - $PROJ_DIR$\..\Common\Minimal\crflash.c - $PROJ_DIR$\ewarm\Obj\startup.r79 - $PROJ_DIR$\..\..\Source\include\task.h - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\ewarm\Obj\croutine.pbi - $PROJ_DIR$\hw_include\i2c.h - $TOOLKIT_DIR$\inc\ysizet.h - $TOOLKIT_DIR$\lib\dl7mptnnl8n.r79 - $PROJ_DIR$\hw_include\gpio.h - $PROJ_DIR$\hw_include\adc.h - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portmacro.h - $PROJ_DIR$\ewarm\Obj\portasm.r79 - $PROJ_DIR$\ewarm\Obj\tasks.r79 - $PROJ_DIR$\ewarm\Obj\cspy.r79 - $PROJ_DIR$\ewarm\Obj\port.r79 - $PROJ_DIR$\ewarm\Obj\queue.r79 - $PROJ_DIR$\hw_include\hw_ints.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\ewarm\Obj\crhook.r79 - $PROJ_DIR$\ewarm\Obj\qs_dk-lm3s316.pbi - $PROJ_DIR$\ewarm\Exe\RTOSDemo.d79 - $PROJ_DIR$\ewarm\Obj\crflash.r79 - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\hw_include\sysctl.h - $PROJ_DIR$\hw_include\pdc.h - $PROJ_DIR$\hw_include\DriverLib.h - $PROJ_DIR$\ewarm\Obj\ParTest.r79 - $PROJ_DIR$\ewarm\Obj\RTOSDemo.pbd - $PROJ_DIR$\qs_dk-lm3s316.c - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\ewarm\Obj\main.r79 - $PROJ_DIR$\hw_include\hw_types.h - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\ewarm\Obj\list.pbi - $PROJ_DIR$\..\..\Source\include\croutine.h - $PROJ_DIR$\hw_include\ssi.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\ewarm\Obj\queue.pbi - $PROJ_DIR$\ewarm\Obj\pdc.pbi - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\startup.c - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\utils\cspy.c - $PROJ_DIR$\ewarm\Obj\heap_1.r79 - $PROJ_DIR$\..\Common\Minimal\crhook.c - $PROJ_DIR$\commstest.h - $PROJ_DIR$\ewarm\Obj\heap_1.pbi - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\ewarm\Obj\croutine.r79 - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\..\Common\include\crflash.h - $PROJ_DIR$\hw_include\diag.h - $PROJ_DIR$\ewarm\Obj\qs_dk-lm3s316.r79 - $PROJ_DIR$\ewarm\Obj\main.pbi - $PROJ_DIR$\hw_include\hw_memmap.h - $PROJ_DIR$\hw_include\uart.h - $PROJ_DIR$\..\..\utils\pdc.c - $PROJ_DIR$\hw_include\hw_nvic.h - $TOOLKIT_DIR$\lib\dl7mptnnl8n.h - $PROJ_DIR$\commstest.c - $PROJ_DIR$\main.c - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\registertest.s - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\hw_include\driverlib.r79 - $PROJ_DIR$\ewarm\Obj\port.pbi - $PROJ_DIR$\hw_include\cspy.c - $PROJ_DIR$\hw_include\pdc.c - $PROJ_DIR$\hw_include\startup.c - - - $PROJ_DIR$\..\..\Source\croutine.c - - - ICCARM - 76 - - - BICOMP - 29 - - - - - ICCARM - 18 9 56 74 86 75 43 68 31 8 48 59 36 27 77 61 - - - BICOMP - 18 9 56 74 75 43 68 31 8 48 59 36 27 77 61 - - - - - $PROJ_DIR$\..\Common\Minimal\crflash.c - - - ICCARM - 47 - - - BICOMP - 24 - - - - - ICCARM - 18 9 56 74 86 75 43 68 31 8 48 59 36 61 77 35 49 78 - - - BICOMP - 18 9 56 74 75 43 68 31 8 48 59 36 61 77 35 49 78 - - - - - $PROJ_DIR$\ewarm\Exe\RTOSDemo.d79 - - - XLINK - 7 2 - - - - - XLINK - 11 53 3 47 76 39 70 5 57 4 40 37 41 15 26 38 97 32 - - - - - $PROJ_DIR$\ewarm\Obj\RTOSDemo.pbd - - - BILINK - 21 16 24 29 1 73 60 81 65 98 64 23 22 - - - - - $PROJ_DIR$\qs_dk-lm3s316.c - - - ICCARM - 80 - - - BICOMP - 45 - - - - - $PROJ_DIR$\startup.c - - - ICCARM - 26 - - - BICOMP - 23 - - - - - $PROJ_DIR$\..\..\utils\cspy.c - - - ICCARM - 39 - - - BICOMP - 1 - - - - - $PROJ_DIR$\..\Common\Minimal\crhook.c - - - ICCARM - 44 - - - BICOMP - 17 - - - - - ICCARM - 18 9 56 74 86 75 43 68 31 8 48 59 36 61 77 35 20 - - - BICOMP - 18 9 56 74 75 43 68 31 8 48 59 36 61 77 35 20 - - - - - $PROJ_DIR$\..\..\utils\pdc.c - - - ICCARM - 4 - - - BICOMP - 65 - - - - - [ROOT_NODE] - - - XLINK - 46 7 2 - - - - - $PROJ_DIR$\commstest.c - - - ICCARM - 3 - - - BICOMP - 16 - - - - - ICCARM - 18 9 56 74 86 75 43 68 31 8 48 59 36 27 77 35 61 49 52 42 10 82 58 85 6 14 13 33 19 50 83 62 51 30 34 - - - BICOMP - 18 9 56 74 75 43 68 31 8 48 59 36 27 77 35 61 49 52 42 10 82 58 85 6 14 13 33 19 50 83 62 51 30 34 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 57 - - - BICOMP - 81 - - - - - ICCARM - 28 56 74 86 75 43 68 31 18 9 8 48 59 36 27 77 35 61 49 78 72 52 42 10 82 58 85 6 14 13 33 19 50 83 62 51 30 34 - - - BICOMP - 28 56 74 75 43 68 31 18 9 8 48 59 36 27 77 35 61 49 78 72 52 42 10 82 58 85 6 14 13 33 19 50 83 62 51 30 34 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c - - - ICCARM - 70 - - - BICOMP - 73 - - - - - ICCARM - 63 56 74 86 75 43 68 31 18 9 8 48 59 36 27 77 - - - BICOMP - 63 56 74 75 43 68 31 18 9 8 48 59 36 27 77 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 53 - - - BICOMP - 21 - - - - - ICCARM - 18 9 56 74 86 75 43 68 31 8 48 59 36 27 77 49 51 - - - BICOMP - 18 9 56 74 75 43 68 31 8 48 59 36 27 77 49 51 - - - - - $PROJ_DIR$\registertest.s - - - AARM - 15 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 5 - - - BICOMP - 60 - - - - - ICCARM - 63 56 74 86 75 43 68 31 18 9 8 48 59 36 77 - - - BICOMP - 63 56 74 75 43 68 31 18 9 8 48 59 36 77 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c - - - ICCARM - 40 - - - BICOMP - 98 - - - - - ICCARM - 18 9 56 74 86 75 43 68 31 8 48 59 36 27 77 - - - BICOMP - 18 9 56 74 75 43 68 31 8 48 59 36 27 77 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s - - - AARM - 37 - - - - - AARM - 48 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 41 - - - BICOMP - 64 - - - - - ICCARM - 63 56 74 86 75 43 68 31 66 18 9 8 48 59 36 27 77 61 - - - BICOMP - 63 56 74 75 43 68 31 66 18 9 8 48 59 36 27 77 61 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 38 - - - BICOMP - 22 - - - - - ICCARM - 28 56 74 86 75 43 68 31 63 66 18 9 8 48 59 36 27 77 - - - BICOMP - 28 56 74 75 43 68 31 63 66 18 9 8 48 59 36 27 77 - - - - - $PROJ_DIR$\hw_include\cspy.c - - - ICCARM - 39 - - - BICOMP - 1 - - - - - ICCARM - 79 - - - BICOMP - 79 - - - - - $PROJ_DIR$\hw_include\pdc.c - - - ICCARM - 4 - - - BICOMP - 65 - - - - - ICCARM - 82 58 12 33 62 50 51 - - - BICOMP - 82 58 12 33 62 50 51 - - - - - $PROJ_DIR$\hw_include\startup.c - - - ICCARM - 26 - - - BICOMP - 23 - - - - - - - diff --git a/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewd b/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewd index 6ce3c335c..e68a6ffd2 100644 --- a/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewd +++ b/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -161,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -200,7 +257,7 @@ JLINK_ID 2 - 6 + 9 1 1 - - + + + - MACRAIGOR_ID + LMIFTDI_ID 2 1 1 1 + + + + + + + + MACRAIGOR_ID + 2 + + 2 + 1 + 1 + + + @@ -467,39 +566,47 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Stack\stack.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 diff --git a/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewp b/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewp index b63c9c75b..1a331cba4 100644 --- a/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewp +++ b/Demo/CORTEX_LM3S316_IAR/RTOSDemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 13 + 19 1 1 - - - - - - - - - - - - - - + + + + + + @@ -481,7 +444,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -539,283 +532,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -868,12 +812,6 @@ $PROJ_DIR$\..\..\Source\tasks.c - - Libraries - - $PROJ_DIR$\hw_include\driverlib.r79 - - Luminary Code diff --git a/Demo/CORTEX_LM3S316_IAR/commstest.c b/Demo/CORTEX_LM3S316_IAR/commstest.c index 2fe1534ab..8e91e0cc6 100644 --- a/Demo/CORTEX_LM3S316_IAR/commstest.c +++ b/Demo/CORTEX_LM3S316_IAR/commstest.c @@ -19,13 +19,13 @@ A special exception to the GPL can be applied should you wish to distribute a combined work that includes FreeRTOS.org, without being obliged to provide - the source code for any proprietary components. See the licensing section + the source code for any proprietary components. See the licensing section of http://www.FreeRTOS.org for full details of how and when the exception can be applied. *************************************************************************** - See http://www.FreeRTOS.org for documentation, latest information, license - and contact details. Please ensure to read the configuration and relevant + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com a version that has been certified for use @@ -67,7 +67,7 @@ task. */ /* FIFO setting for the UART. The FIFO is not used to create a better test. */ #define commsFIFO_SET ( 0x10 ) -/* The string that is transmitted on the UART contains sequentially the +/* The string that is transmitted on the UART contains sequentially the characters from commsFIRST_TX_CHAR to commsLAST_TX_CHAR. */ #define commsFIRST_TX_CHAR '0' #define commsLAST_TX_CHAR 'z' @@ -114,7 +114,7 @@ void vSerialInit( void ) GPIODirModeSet( GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1, GPIO_DIR_MODE_HW ); /* Configure the UART for 8-N-1 operation. */ - UARTConfigSet( UART0_BASE, commsBAUD_RATE, UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE ); + UARTConfigSetExpClk( UART0_BASE, SysCtlClockGet(), commsBAUD_RATE, UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE ); /* We dont want to use the fifo. This is for test purposes to generate as many interrupts as possible. */ @@ -122,6 +122,7 @@ void vSerialInit( void ) /* Enable both Rx and Tx interrupts. */ HWREG( UART0_BASE + UART_O_IM ) |= ( UART_INT_TX | UART_INT_RX ); + IntPrioritySet( INT_UART0, configKERNEL_INTERRUPT_PRIORITY ); IntEnable( INT_UART0 ); } /*-----------------------------------------------------------*/ @@ -209,7 +210,7 @@ portBASE_TYPE xTaskWokenByPost = pdFALSE; if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) ) { /* Get the char from the buffer and post it onto the queue of - Rxed chars. Posting the character should wake the task that is + Rxed chars. Posting the character should wake the task that is blocked on the queue waiting for characters. */ cRxedChar = ( portCHAR ) HWREG( UART0_BASE + UART_O_DR ); xTaskWokenByPost = xQueueSendFromISR( xCommsQueue, &cRxedChar, xTaskWokenByPost ); @@ -234,7 +235,7 @@ portBASE_TYPE xTaskWokenByPost = pdFALSE; { /* If a task was woken by the character being received then we force a context switch to occur in case the task is of higher priority than - the currently executing task (i.e. the task that this interrupt + the currently executing task (i.e. the task that this interrupt interrupted.) */ portEND_SWITCHING_ISR( xTaskWokenByPost ); } @@ -274,8 +275,8 @@ static portCHAR cRxedChar, cExpectedChar; { if( cExpectedChar == commsLAST_TX_CHAR ) { - /* We have reached the end of the string - we now expect to - receive the first character in the string again. The LED is + /* We have reached the end of the string - we now expect to + receive the first character in the string again. The LED is toggled to indicate that the entire string was received without error. */ vParTestToggleLED( commsRX_LED ); diff --git a/Demo/CORTEX_LM3S316_IAR/hw_include/pdc.c b/Demo/CORTEX_LM3S316_IAR/hw_include/pdc.c index 65271d587..dfcf418bc 100644 --- a/Demo/CORTEX_LM3S316_IAR/hw_include/pdc.c +++ b/Demo/CORTEX_LM3S316_IAR/hw_include/pdc.c @@ -78,7 +78,8 @@ PDCInit(void) // // Configure the SSI port. // - SSIConfig(SSI_BASE, SSI_FRF_MOTO_MODE_0, SSI_MODE_MASTER, 1000000, 8); + SSIConfigSetExpClk(SSI_BASE, SysCtlClockGet(), SSI_FRF_MOTO_MODE_0, + SSI_MODE_MASTER, 1000000, 8); SSIEnable(SSI_BASE); // diff --git a/Demo/CORTEX_LM3S316_IAR/hw_include/ssi.h b/Demo/CORTEX_LM3S316_IAR/hw_include/ssi.h index 26094b9e1..eb1374040 100644 --- a/Demo/CORTEX_LM3S316_IAR/hw_include/ssi.h +++ b/Demo/CORTEX_LM3S316_IAR/hw_include/ssi.h @@ -80,6 +80,10 @@ extern void SSIIntEnable(unsigned long ulBase, unsigned long ulIntFlags); extern void SSIIntRegister(unsigned long ulBase, void(*pfnHandler)(void)); extern unsigned long SSIIntStatus(unsigned long ulBase, tBoolean bMasked); extern void SSIIntUnregister(unsigned long ulBase); +extern void SSIConfigSetExpClk(unsigned long ulBase, unsigned long ulSSIClk, + unsigned long ulProtocol, unsigned long ulMode, + unsigned long ulBitRate, + unsigned long ulDataWidth); #ifdef __cplusplus } diff --git a/Demo/CORTEX_LM3S316_IAR/hw_include/startup.c b/Demo/CORTEX_LM3S316_IAR/hw_include/startup.c index b07961b80..1fd39f5bf 100644 --- a/Demo/CORTEX_LM3S316_IAR/hw_include/startup.c +++ b/Demo/CORTEX_LM3S316_IAR/hw_include/startup.c @@ -37,7 +37,6 @@ // Forward declaration of the default fault handlers. // //***************************************************************************** -void ResetISR(void); static void NmiSR(void); static void FaultISR(void); static void IntDefaultHandler(void); @@ -56,7 +55,7 @@ extern void vUART_ISR( void ); // The entry point for the application. // //***************************************************************************** -extern void main(void); +extern void __iar_program_start(void); //***************************************************************************** // @@ -66,57 +65,7 @@ extern void main(void); #ifndef STACK_SIZE #define STACK_SIZE 50 #endif -static unsigned long pulStack[STACK_SIZE] = { -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb, -0xbbbbbbbb }; +static unsigned long pulStack[STACK_SIZE] @ ".noinit"; //***************************************************************************** // // A union that describes the entries of the vector table. The union is needed @@ -138,11 +87,11 @@ uVectorEntry; // 0x0000.0000. // //***************************************************************************** -__root const uVectorEntry g_pfnVectors[] @ "INTVEC" = +__root const uVectorEntry __vector_table[] @ ".intvec" = { { .ulPtr = (unsigned long)pulStack + sizeof(pulStack) }, // The initial stack pointer - ResetISR, // The reset handler + __iar_program_start, // The reset handler NmiSR, // The NMI handler FaultISR, // The hard fault handler IntDefaultHandler, // The MPU fault handler @@ -189,58 +138,6 @@ __root const uVectorEntry g_pfnVectors[] @ "INTVEC" = IntDefaultHandler // FLASH Control }; -//***************************************************************************** -// -// The following are constructs created by the linker, indicating where the -// the "data" and "bss" segments reside in memory. The initializers for the -// for the "data" segment resides immediately following the "text" segment. -// -//***************************************************************************** -#pragma segment="DATA_ID" -#pragma segment="DATA_I" -#pragma segment="DATA_Z" - -//***************************************************************************** -// -// This is the code that gets called when the processor first starts execution -// following a reset event. Only the absolutely necessary set is performed, -// after which the application supplied entry() routine is called. Any fancy -// actions (such as making decisions based on the reset cause register, and -// resetting the bits in that register) are left solely in the hands of the -// application. -// -//***************************************************************************** -void -ResetISR(void) -{ - unsigned long *pulSrc, *pulDest, *pulEnd; - - // - // Copy the data segment initializers from flash to SRAM. - // - pulSrc = __segment_begin("DATA_ID"); - pulDest = __segment_begin("DATA_I"); - pulEnd = __segment_end("DATA_I"); - while(pulDest < pulEnd) - { - *pulDest++ = *pulSrc++; - } - - // - // Zero fill the bss segment. - // - pulDest = __segment_begin("DATA_Z"); - pulEnd = __segment_end("DATA_Z"); - while(pulDest < pulEnd) - { - *pulDest++ = 0; - } - - // - // Call the application's entry point. - // - main(); -} //***************************************************************************** // diff --git a/Demo/CORTEX_LM3S316_IAR/hw_include/uart.h b/Demo/CORTEX_LM3S316_IAR/hw_include/uart.h index d90fba8ff..6047d3a32 100644 --- a/Demo/CORTEX_LM3S316_IAR/hw_include/uart.h +++ b/Demo/CORTEX_LM3S316_IAR/hw_include/uart.h @@ -94,6 +94,8 @@ extern void UARTIntEnable(unsigned long ulBase, unsigned long ulIntFlags); extern void UARTIntDisable(unsigned long ulBase, unsigned long ulIntFlags); extern unsigned long UARTIntStatus(unsigned long ulBase, tBoolean bMasked); extern void UARTIntClear(unsigned long ulBase, unsigned long ulIntFlags); +extern void UARTConfigSetExpClk(unsigned long ulBase, unsigned long ulUARTClk, + unsigned long ulBaud, unsigned long ulConfig); #ifdef __cplusplus } diff --git a/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dbgdt b/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dbgdt index f583dfcf3..408229b41 100644 --- a/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dbgdt +++ b/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dbgdt @@ -22,7 +22,7 @@ - 100 + 010 20 1004 @@ -33,7 +33,7 @@ - + TabID-30594-29847 @@ -41,24 +41,24 @@ Workspace - RTOSDemoRTOSDemo/FreeRTOS SourceRTOSDemo/FreeRTOS Source/croutine.c + RTOSDemoRTOSDemo/Demo Source - 0TabID-30273-20034Debug LogDebug-Log0 + 0TabID-30273-20034Debug LogDebug-Log0 - TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\main.c0182781778170TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\FreeRTOSConfig.h02119911991TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\hw_include\startup.c025496449644TextEditorC:\E\Dev\FreeRTOS\Source\tasks.c073326424264240100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\main.c0189797279720TextEditorC:\E\Dev\FreeRTOS\Source\portable\IAR\ARM_CM3\port.c015359365936TextEditorC:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\examples\Luminary\Stellaris\src\adc.c06702379023790TextEditorC:\E\Dev\FreeRTOS\Source\croutine.c02801150911509TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\FreeRTOSConfig.h039239723970100000010000001 - iaridepm1debuggergui1-2-2728348-2-2200200142857205761250000751029-2-21981402-2-214042001002857205761142857205761 + iaridepm.enu1debuggergui.enu1-2-2738348-2-2200202142857205703250000753564-2-22001402-2-214042021002857205703142857205703 diff --git a/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dni b/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dni index 15689c4d4..8984f2a6b 100644 --- a/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dni +++ b/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.dni @@ -15,6 +15,8 @@ UseTrigger=1 TriggerName=main LimitSize=0 ByteLimit=50 +[CodeCoverage] +Enabled=_ 0 [Log file] LoggingEnabled=_ 0 LogFile=_ "" @@ -25,8 +27,7 @@ LogFile=_ "" [Disassemble mode] mode=1 [Breakpoints] -Bp0=_ "Log" "Memory8:0x20000850" 0 0 0 0 "" 0 "" 0 -Count=1 +Count=0 [TraceHelper] Enabled=0 ShowSource=1 diff --git a/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.wsdt b/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.wsdt index 0642cf610..f13f32b5b 100644 --- a/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.wsdt +++ b/Demo/CORTEX_LM3S316_IAR/settings/RTOSDemo.wsdt @@ -22,7 +22,7 @@ 30020100426766 - + 48268826 @@ -34,24 +34,24 @@ Workspace - RTOSDemoRTOSDemo/Demo Source + RTOSDemoRTOSDemo/Libraries - 0TabID-24894-24921BuildBuildTabID-10790-31422Debug LogDebug-Log0 + 0TabID-24894-24921BuildBuildTabID-10790-31422Debug LogDebug-LogTabID-27705-5723Find in FilesFind-in-Files0 - TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\main.c0182781778170TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\FreeRTOSConfig.h02119911991TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\hw_include\startup.c025496449644TextEditorC:\E\Dev\FreeRTOS\Source\tasks.c073326424264240100000010000001 + TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3S316_IAR\main.c01897972797200100000010000001 - iaridepm1-2-2728260-2-2200200142857205761187143751029-2-21981402-2-214042001002857205761142857205761 + iaridepm.enu1-2-2738260-2-2200202142857205703187143753564-2-22001402-2-214042021002857205703142857205703 diff --git a/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h b/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h index 915e8cfe5..14215dadb 100644 --- a/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h +++ b/Demo/CORTEX_LM3S811_IAR/FreeRTOSConfig.h @@ -75,6 +75,6 @@ to exclude the API function. */ #define INCLUDE_vTaskDelay 1 - +#define configKERNEL_INTERRUPT_PRIORITY 255 #endif /* FREERTOS_CONFIG_H */ diff --git a/Demo/CORTEX_LM3S811_IAR/LM3S811.icf b/Demo/CORTEX_LM3S811_IAR/LM3S811.icf new file mode 100644 index 000000000..5131af05e --- /dev/null +++ b/Demo/CORTEX_LM3S811_IAR/LM3S811.icf @@ -0,0 +1,58 @@ +//***************************************************************************** +// +// boot_demo1.icf - Linker configuration file for boot_demo1. +// +// Copyright (c) 2007 Luminary Micro, Inc. All rights reserved. +// Luminary Micro Confidential - For Use Under NDA Only +// +//***************************************************************************** + +// +// Define a memory region that covers the entire 4 GB addressible space of the +// processor. +// +define memory mem with size = 4G; + +// +// Define a region for the on-chip flash. +// +define region FLASH = mem:[from 0x00000000 to 0x0000ffff]; + +// +// Define a region for the on-chip SRAM. +// +define region SRAM = mem:[from 0x20000000 to 0x20001fff]; + +// +// Define a block for the heap. The size should be set to something other +// than zero if things in the C library that require the heap are used. +// +define block HEAP with alignment = 8, size = 0x00000000 { }; + +// +// Indicate that the read/write values should be initialized by copying from +// flash. +// +initialize by copy { readwrite }; + +// +// Initicate that the noinit values should be left alone. This includes the +// stack, which if initialized will destroy the return address from the +// initialization code, causing the processor to branch to zero and fault. +// +do not initialize { section .noinit }; + +// +// Place the interrupt vectors at the start of flash. +// +place at start of FLASH { readonly section .intvec }; + +// +// Place the remainder of the read-only items into flash. +// +place in FLASH { readonly }; + +// +// Place all read/write items into SRAM. +// +place in SRAM { readwrite, block HEAP }; diff --git a/Demo/CORTEX_LM3S811_IAR/LuminaryCode/i2c.h b/Demo/CORTEX_LM3S811_IAR/LuminaryCode/i2c.h index bfe8c8563..a9b4ad9e9 100644 --- a/Demo/CORTEX_LM3S811_IAR/LuminaryCode/i2c.h +++ b/Demo/CORTEX_LM3S811_IAR/LuminaryCode/i2c.h @@ -129,6 +129,8 @@ extern void I2CSlaveIntDisable(unsigned long ulBase); extern void I2CSlaveIntEnable(unsigned long ulBase); extern tBoolean I2CSlaveIntStatus(unsigned long ulBase, tBoolean bMasked); extern unsigned long I2CSlaveStatus(unsigned long ulBase); +extern void I2CMasterInitExpClk(unsigned long ulBase, unsigned long ulI2CClk, + tBoolean bFast); #ifdef __cplusplus } diff --git a/Demo/CORTEX_LM3S811_IAR/LuminaryCode/osram96x16.c b/Demo/CORTEX_LM3S811_IAR/LuminaryCode/osram96x16.c index 54f260d7a..1af1b6c2f 100644 --- a/Demo/CORTEX_LM3S811_IAR/LuminaryCode/osram96x16.c +++ b/Demo/CORTEX_LM3S811_IAR/LuminaryCode/osram96x16.c @@ -282,7 +282,7 @@ static void OSRAMDelay(unsigned long ulCount) { __asm(" subs r0, #1\n" - " bne OSRAMDelay\n" + " bne.n OSRAMDelay\n" " bx lr"); } #endif @@ -810,7 +810,7 @@ OSRAMInit(tBoolean bFast) // // Initialize the I2C master. // - I2CMasterInit(I2C_MASTER_BASE, bFast); + I2CMasterInitExpClk(I2C_MASTER_BASE, SysCtlClockGet(), bFast); // // Compute the inter-byte delay for the SSD0303 controller. This delay is diff --git a/Demo/CORTEX_LM3S811_IAR/LuminaryCode/uart.h b/Demo/CORTEX_LM3S811_IAR/LuminaryCode/uart.h index b82f2eec5..ee8930861 100644 --- a/Demo/CORTEX_LM3S811_IAR/LuminaryCode/uart.h +++ b/Demo/CORTEX_LM3S811_IAR/LuminaryCode/uart.h @@ -94,6 +94,8 @@ extern void UARTIntEnable(unsigned long ulBase, unsigned long ulIntFlags); extern void UARTIntDisable(unsigned long ulBase, unsigned long ulIntFlags); extern unsigned long UARTIntStatus(unsigned long ulBase, tBoolean bMasked); extern void UARTIntClear(unsigned long ulBase, unsigned long ulIntFlags); +extern void UARTConfigSetExpClk(unsigned long ulBase, unsigned long ulUARTClk, + unsigned long ulBaud, unsigned long ulConfig); #ifdef __cplusplus } diff --git a/Demo/CORTEX_LM3S811_IAR/RTOSDemo.dep b/Demo/CORTEX_LM3S811_IAR/RTOSDemo.dep deleted file mode 100644 index 53577a423..000000000 --- a/Demo/CORTEX_LM3S811_IAR/RTOSDemo.dep +++ /dev/null @@ -1,430 +0,0 @@ - - - - 2 - - Debug - - $PROJ_DIR$\ewarm\Exe\RTOSDemo.sim - $PROJ_DIR$\LuminaryCode\osram96x16.h - $PROJ_DIR$\ewarm\Obj\main.pbi - $TOOLKIT_DIR$\lib\dl7mptnnl8f.h - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portmacro.h - $PROJ_DIR$\LuminaryCode\pwm.h - $PROJ_DIR$\ewarm\Obj\BlockQ.r79 - $PROJ_DIR$\ewarm\Obj\heap_1.pbi - $PROJ_DIR$\LuminaryCode\interrupt.h - $PROJ_DIR$\LuminaryCode\watchdog.h - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\ewarm\Obj\list.r79 - $PROJ_DIR$\LuminaryCode\driverlib.r79 - $PROJ_DIR$\LuminaryCode\debug.h - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\LuminaryCode\timer.h - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\ewarm\Obj\tasks.pbi - $PROJ_DIR$\ewarm\Obj\osram96x16.r79 - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\ewarm\List\RTOSDemo.map - $PROJ_DIR$\LuminaryCode\hw_types.h - $PROJ_DIR$\LuminaryCode\hw_timer.h - $PROJ_DIR$\LuminaryCode\systick.h - $PROJ_DIR$\LuminaryCode\adc.h - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $PROJ_DIR$\LuminaryCode\ssi.h - $PROJ_DIR$\ewarm\Exe\RTOSDemo.d79 - $PROJ_DIR$\LuminaryCode\hw_watchdog.h - $PROJ_DIR$\LuminaryCode\hw_gpio.h - $PROJ_DIR$\ewarm\Obj\startup.r79 - $PROJ_DIR$\LuminaryCode\hw_ints.h - $PROJ_DIR$\startup.c - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c - $PROJ_DIR$\..\Common\include\integer.h - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\LuminaryCode\flash.h - $PROJ_DIR$\ewarm\Obj\startup.pbi - $PROJ_DIR$\..\..\Source\include\croutine.h - $PROJ_DIR$\ewarm\Obj\heap_1.r79 - $TOOLKIT_DIR$\lib\dl7mptnnl8f.r79 - $PROJ_DIR$\LuminaryCode\qei.h - $PROJ_DIR$\LuminaryCode\DriverLib.h - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\LuminaryCode\osram96x16.c - $PROJ_DIR$\ewarm\Obj\PollQ.r79 - $PROJ_DIR$\LuminaryCode\hw_ssi.h - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s - $PROJ_DIR$\ewarm\Obj\main.r79 - $PROJ_DIR$\..\..\Source\queue.c - $TOOLKIT_DIR$\inc\yvals.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\LuminaryCode\hw_pwm.h - $PROJ_DIR$\..\..\Source\include\task.h - $PROJ_DIR$\LuminaryCode\hw_uart.h - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\LuminaryCode\gpio.h - $PROJ_DIR$\LuminaryCode\hw_comp.h - $PROJ_DIR$\ewarm\Obj\port.r79 - $PROJ_DIR$\ewarm\Obj\tasks.r79 - $PROJ_DIR$\LuminaryCode\hw_i2c.h - $PROJ_DIR$\ewarm\Obj\PollQ.pbi - $PROJ_DIR$\ewarm\Obj\queue.pbi - $PROJ_DIR$\ewarm\Obj\integer.pbi - $TOOLKIT_DIR$\inc\string.h - $TOOLKIT_DIR$\inc\stddef.h - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\LuminaryCode\cpu.h - $PROJ_DIR$\ewarm\Obj\semtest.pbi - $PROJ_DIR$\LuminaryCode\hw_memmap.h - $PROJ_DIR$\ewarm\Obj\BlockQ.pbi - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\LuminaryCode\hw_qei.h - $PROJ_DIR$\LuminaryCode\hw_adc.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\ewarm\Obj\RTOSDemo.pbd - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\standalone.xcl - $PROJ_DIR$\main.c - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\LuminaryCode\comp.h - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\LuminaryCode\hw_flash.h - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\ewarm\Obj\queue.r79 - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $PROJ_DIR$\LuminaryCode\hw_nvic.h - $PROJ_DIR$\ewarm\Obj\portasm.r79 - $PROJ_DIR$\ewarm\Obj\semtest.r79 - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\LuminaryCode\i2c.h - $PROJ_DIR$\ewarm\Obj\list.pbi - $PROJ_DIR$\ewarm\Obj\osram96x16.pbi - $PROJ_DIR$\ewarm\Obj\integer.r79 - $PROJ_DIR$\LuminaryCode\uart.h - $PROJ_DIR$\ewarm\Obj\port.pbi - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\LuminaryCode\sysctl.h - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\LuminaryCode\hw_sysctl.h - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 12 - - - BICOMP - 95 - - - - - ICCARM - 52 51 77 3 67 78 10 75 88 66 93 36 11 4 86 - - - BICOMP - 52 51 77 67 78 10 75 88 66 93 36 11 4 86 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 6 - - - BICOMP - 71 - - - - - ICCARM - 52 51 77 3 67 78 10 75 88 66 93 36 11 4 54 86 100 102 - - - BICOMP - 52 51 77 67 78 10 75 88 66 93 36 11 4 54 86 100 102 - - - - - $PROJ_DIR$\ewarm\Exe\RTOSDemo.d79 - - - XLINK - 21 0 - - - - - XLINK - 79 13 6 46 40 97 12 49 19 59 90 87 91 31 60 41 - - - - - $PROJ_DIR$\startup.c - - - ICCARM - 31 - - - BICOMP - 38 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_1.c - - - ICCARM - 40 - - - BICOMP - 7 - - - - - ICCARM - 52 51 77 3 67 78 10 75 88 66 93 36 11 4 54 86 - - - BICOMP - 52 51 77 67 78 10 75 88 66 93 36 11 4 54 86 - - - - - $PROJ_DIR$\LuminaryCode\osram96x16.c - - - ICCARM - 19 - - - BICOMP - 96 - - - - - ICCARM - 43 74 58 84 30 61 32 70 89 53 73 47 103 23 22 55 29 1 25 82 68 14 37 57 94 8 5 42 27 101 24 16 98 9 - - - BICOMP - 43 74 58 84 30 61 32 70 89 53 73 47 103 23 22 55 29 1 25 82 68 14 37 57 94 8 5 42 27 101 24 16 98 9 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s - - - AARM - 90 - - - - - AARM - 36 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 87 - - - BICOMP - 63 - - - - - ICCARM - 52 51 77 3 67 78 10 75 65 88 66 93 36 11 4 54 86 39 - - - BICOMP - 52 51 77 67 78 10 75 65 88 66 93 36 11 4 54 86 39 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 46 - - - BICOMP - 62 - - - - - ICCARM - 52 51 77 3 67 78 10 75 88 66 93 36 11 4 54 86 100 17 - - - BICOMP - 52 51 77 67 78 10 75 88 66 93 36 11 4 54 86 100 17 - - - - - [ROOT_NODE] - - - XLINK - 28 21 0 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 97 - - - BICOMP - 64 - - - - - ICCARM - 52 51 77 3 67 78 10 75 88 66 93 36 11 4 54 86 35 - - - BICOMP - 52 51 77 67 78 10 75 88 66 93 36 11 4 54 86 35 - - - - - $PROJ_DIR$\ewarm\Obj\RTOSDemo.pbd - - - BILINK - 71 62 7 64 95 2 96 99 63 69 38 18 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 49 - - - BICOMP - 2 - - - - - ICCARM - 43 74 58 84 30 61 32 70 89 53 73 47 103 23 22 55 29 1 25 82 68 14 37 57 94 8 5 42 27 101 24 16 98 9 88 66 51 77 3 67 78 10 75 93 36 11 4 54 86 100 44 35 17 15 102 - - - BICOMP - 43 74 58 84 30 61 32 70 89 53 73 47 103 23 22 55 29 1 25 82 68 14 37 57 94 8 5 42 27 101 24 16 98 9 88 66 51 77 67 78 10 75 93 36 11 4 54 86 100 44 35 17 15 102 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 91 - - - BICOMP - 69 - - - - - ICCARM - 52 51 77 3 67 78 10 75 88 66 93 36 11 4 54 86 44 100 15 - - - BICOMP - 52 51 77 67 78 10 75 88 66 93 36 11 4 54 86 44 100 15 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 60 - - - BICOMP - 18 - - - - - ICCARM - 92 51 77 3 67 78 10 75 52 65 88 66 93 36 11 4 54 86 - - - BICOMP - 92 51 77 67 78 10 75 52 65 88 66 93 36 11 4 54 86 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c - - - ICCARM - 59 - - - BICOMP - 99 - - - - - ICCARM - 88 66 51 77 3 67 78 10 75 93 36 11 4 54 86 - - - BICOMP - 88 66 51 77 67 78 10 75 93 36 11 4 54 86 - - - - - - - diff --git a/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewd b/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewd index 8e50f7c4c..cfdaf6ecc 100644 --- a/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewd +++ b/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -161,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -200,7 +257,7 @@ JLINK_ID 2 - 6 + 9 1 1 - - + + + LMIFTDI_ID 2 - 0 + 1 1 1 - - - - @@ -520,47 +566,47 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Stack\Stack.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 diff --git a/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewp b/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewp index c4f6b76bd..b6d9faa4a 100644 --- a/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewp +++ b/Demo/CORTEX_LM3S811_IAR/RTOSDemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 14 + 19 1 1 - - - - - - - - - - - - - - + + + + + @@ -485,7 +443,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -543,283 +531,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -854,12 +793,6 @@ $PROJ_DIR$\startup.c - - Libraries - - $PROJ_DIR$\LuminaryCode\driverlib.r79 - - Scheduler Source diff --git a/Demo/CORTEX_LM3S811_IAR/main.c b/Demo/CORTEX_LM3S811_IAR/main.c index 4647f801f..7c435e993 100644 --- a/Demo/CORTEX_LM3S811_IAR/main.c +++ b/Demo/CORTEX_LM3S811_IAR/main.c @@ -254,7 +254,7 @@ static void prvSetupHardware( void ) GPIODirModeSet( GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1, GPIO_DIR_MODE_HW ); /* Configure the UART for 8-N-1 operation. */ - UARTConfigSet( UART0_BASE, mainBAUD_RATE, UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE ); + UARTConfigSetExpClk( UART0_BASE, SysCtlClockGet(), mainBAUD_RATE, UART_CONFIG_WLEN_8 | UART_CONFIG_PAR_NONE | UART_CONFIG_STOP_ONE ); /* We don't want to use the fifo. This is for test purposes to generate as many interrupts as possible. */ diff --git a/Demo/CORTEX_LM3S811_IAR/startup.c b/Demo/CORTEX_LM3S811_IAR/startup.c index 44bd7701c..d53376fd7 100644 --- a/Demo/CORTEX_LM3S811_IAR/startup.c +++ b/Demo/CORTEX_LM3S811_IAR/startup.c @@ -37,7 +37,6 @@ // Forward declaration of the default fault handlers. // //***************************************************************************** -void ResetISR(void); static void NmiSR(void); static void FaultISR(void); static void IntDefaultHandler(void); @@ -47,7 +46,7 @@ static void IntDefaultHandler(void); // The entry point for the application. // //***************************************************************************** -extern int main(void); +extern void __iar_program_start(void); //***************************************************************************** // @@ -67,7 +66,7 @@ extern void vUART_ISR(void); #ifndef STACK_SIZE #define STACK_SIZE 64 #endif -static unsigned long pulStack[STACK_SIZE]; +static unsigned long pulStack[STACK_SIZE] @ ".noinit"; //***************************************************************************** // @@ -90,11 +89,11 @@ uVectorEntry; // 0x0000.0000. // //***************************************************************************** -__root const uVectorEntry g_pfnVectors[] @ "INTVEC" = +__root const uVectorEntry __vector_table[] @ ".intvec" = { { .ulPtr = (unsigned long)pulStack + sizeof(pulStack) }, // The initial stack pointer - ResetISR, // The reset handler + __iar_program_start, // The reset handler NmiSR, // The NMI handler FaultISR, // The hard fault handler IntDefaultHandler, // The MPU fault handler @@ -141,58 +140,6 @@ __root const uVectorEntry g_pfnVectors[] @ "INTVEC" = IntDefaultHandler // FLASH Control }; -//***************************************************************************** -// -// The following are constructs created by the linker, indicating where the -// the "data" and "bss" segments reside in memory. The initializers for the -// for the "data" segment resides immediately following the "text" segment. -// -//***************************************************************************** -#pragma segment="DATA_ID" -#pragma segment="DATA_I" -#pragma segment="DATA_Z" - -//***************************************************************************** -// -// This is the code that gets called when the processor first starts execution -// following a reset event. Only the absolutely necessary set is performed, -// after which the application supplied entry() routine is called. Any fancy -// actions (such as making decisions based on the reset cause register, and -// resetting the bits in that register) are left solely in the hands of the -// application. -// -//***************************************************************************** -void -ResetISR(void) -{ - unsigned long *pulSrc, *pulDest, *pulEnd; - - // - // Copy the data segment initializers from flash to SRAM. - // - pulSrc = __segment_begin("DATA_ID"); - pulDest = __segment_begin("DATA_I"); - pulEnd = __segment_end("DATA_I"); - while(pulDest < pulEnd) - { - *pulDest++ = *pulSrc++; - } - - // - // Zero fill the bss segment. - // - pulDest = __segment_begin("DATA_Z"); - pulEnd = __segment_end("DATA_Z"); - while(pulDest < pulEnd) - { - *pulDest++ = 0; - } - - // - // Call the application's entry point. - // - main(); -} //***************************************************************************** // diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/LM3Sxxxx.icf b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/LM3Sxxxx.icf new file mode 100644 index 000000000..575329d1f --- /dev/null +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/LM3Sxxxx.icf @@ -0,0 +1,58 @@ +//***************************************************************************** +// +// enet_lwip.icf - Linker configuration file for enet_lwip. +// +// Copyright (c) 2007 Luminary Micro, Inc. All rights reserved. +// Luminary Micro Confidential - For Use Under NDA Only +// +//***************************************************************************** + +// +// Define a memory region that covers the entire 4 GB addressible space of the +// processor. +// +define memory mem with size = 4G; + +// +// Define a region for the on-chip flash. +// +define region FLASH = mem:[from 0x00000000 to 0x0003ffff]; + +// +// Define a region for the on-chip SRAM. +// +define region SRAM = mem:[from 0x20000000 to 0x2000ffff]; + +// +// Define a block for the heap. The size should be set to something other +// than zero if things in the C library that require the heap are used. +// +define block HEAP with alignment = 8, size = 0x00000000 { }; + +// +// Indicate that the read/write values should be initialized by copying from +// flash. +// +initialize by copy { readwrite }; + +// +// Initicate that the noinit values should be left alone. This includes the +// stack, which if initialized will destroy the return address from the +// initialization code, causing the processor to branch to zero and fault. +// +do not initialize { section .noinit }; + +// +// Place the interrupt vectors at the start of flash. +// +place at start of FLASH { readonly section .intvec }; + +// +// Place the remainder of the read-only items into flash. +// +place in FLASH { readonly }; + +// +// Place all read/write items into SRAM. +// +place in SRAM { readwrite, block HEAP }; diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.dep b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.dep index 30f1301f2..014fd12e6 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.dep +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.dep @@ -2,495 +2,476 @@ 2 - 612718357 + 4157957474 Debug - $PROJ_DIR$\Debug\Obj\uip_arp.pbi + $TOOLKIT_DIR$\inc\DLib_Product.h + $PROJ_DIR$\Debug\Exe\RTOSDemo.out + $PROJ_DIR$\Debug\Obj\startup_ewarm.pbi + $PROJ_DIR$\Debug\Obj\death.pbi + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ints.h + $PROJ_DIR$\..\..\Source\include\semphr.h + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ssi.h + $PROJ_DIR$\Debug\Obj\psock.o + $PROJ_DIR$\Debug\Obj\GenQTest.o + $PROJ_DIR$\LuminaryDrivers\hw_ssi.h + $PROJ_DIR$\LuminaryDrivers\pdc.c + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ethernet.h + $PROJ_DIR$\..\Common\include\semtest.h + $PROJ_DIR$\webserver\httpd-cgi.h + $PROJ_DIR$\..\..\Source\include\portable.h $PROJ_DIR$\LuminaryDrivers\hw_types.h - $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\LM3Sxxxx.icf + $PROJ_DIR$\lcd_message.h + $PROJ_DIR$\Debug\Obj\http-strings.o $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\LuminaryDrivers\pdc.h - $PROJ_DIR$\webserver\httpd-fs.h - $PROJ_DIR$\startup_ewarm.c - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_sysctl.h - $PROJ_DIR$\Debug\Obj\tasks.pbi - $PROJ_DIR$\Debug\Obj\QPeek.pbi - $PROJ_DIR$\Debug\Obj\psock.pbi - $PROJ_DIR$\Debug\Obj\http-strings.r79 - $PROJ_DIR$\LuminaryDrivers\hw_sysctl.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\debug.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\clock.h - $PROJ_DIR$\LuminaryDrivers\sysctl.h + $PROJ_DIR$\Debug\Obj\port.pbi + $PROJ_DIR$\LuminaryDrivers\osram128x64x4.c $PROJ_DIR$\webserver\httpd.h - $PROJ_DIR$\Debug\Obj\flash.r79 - $PROJ_DIR$\Debug\Obj\uIP_Task.pbi - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\LuminaryDrivers\ssi.h - $PROJ_DIR$\webserver\httpd-fs.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - $PROJ_DIR$\webserver\httpd-fsdata.c - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\webserver\httpd-cgi.c - $PROJ_DIR$\Debug\Obj\timer.r79 - $PROJ_DIR$\Debug\Obj\httpd.pbi + $TOOLKIT_DIR$\inc\ysizet.h + $PROJ_DIR$\Debug\Obj\rit128x96x4.o + $PROJ_DIR$\..\Common\include\BlockQ.h + $PROJ_DIR$\..\..\Source\include\FreeRTOS.h + $TOOLKIT_DIR$\inc\DLib_Defaults.h + $PROJ_DIR$\..\Common\include\integer.h + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\pt.h + $PROJ_DIR$\Debug\Obj\emac.pbi + $PROJ_DIR$\Debug\Obj\timer.o + $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portmacro.h + $TOOLKIT_DIR$\inc\stdint.h + $PROJ_DIR$\LuminaryDrivers\gpio.h + $PROJ_DIR$\Debug\Obj\ParTest.o + $PROJ_DIR$\..\Common\Minimal\integer.c + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\lmi_timer.h + $PROJ_DIR$\Debug\Obj\PollQ.o + $PROJ_DIR$\LuminaryDrivers\hw_memmap.h + $PROJ_DIR$\..\..\Source\include\list.h + $PROJ_DIR$\Debug\Obj\port.o + $TOOLKIT_DIR$\lib\dl7M_tl_in.a + $PROJ_DIR$\Debug\Obj\queue.pbi + $PROJ_DIR$\Debug\Obj\uip_arp.o $PROJ_DIR$\webserver\uip-conf.h - $PROJ_DIR$\Debug\Obj\BlockQ.r79 - $PROJ_DIR$\Debug\Obj\BlockQ.pbi - $PROJ_DIR$\Debug\Obj\startup_ewarm.r79 - $PROJ_DIR$\webserver\http-strings.h - $PROJ_DIR$\..\..\Source\include\task.h - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - $PROJ_DIR$\Debug\Obj\death.r79 - $PROJ_DIR$\Debug\Obj\heap_2.r79 - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\Debug\Obj\httpd-cgi.r79 - $PROJ_DIR$\Debug\Obj\integer.pbi - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_memmap.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\rit128x96x4.h - $PROJ_DIR$\Debug\Obj\QPeek.r79 - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\ethernet.h - $PROJ_DIR$\Debug\Obj\death.pbi - $TOOLKIT_DIR$\lib\dl7mptnnl8n.r79 - $PROJ_DIR$\timertest.c + $PROJ_DIR$\Debug\Obj\portasm.o + $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c + $PROJ_DIR$\osram128x64x4.c + $PROJ_DIR$\Debug\Obj\http-strings.pbi + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\gpio.h + $PROJ_DIR$\Debug\Obj\httpd-cgi.o + $PROJ_DIR$\..\Common\Minimal\flash.c + $PROJ_DIR$\..\Common\include\blocktim.h + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.h + $PROJ_DIR$\Debug\Obj\flash.o + $TOOLKIT_DIR$\inc\xencoding_limits.h + $PROJ_DIR$\..\Common\include\PollQ.h $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\sysctl.h - $PROJ_DIR$\Debug\Obj\semtest.pbi - $PROJ_DIR$\..\Common\Minimal\QPeek.c - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_types.h - $PROJ_DIR$\Debug\Obj\emac.r79 - $PROJ_DIR$\webserver\uIP_Task.c + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.h + $PROJ_DIR$\webserver\httpd-fsdata.c + $PROJ_DIR$\Debug\Obj\startup_ewarm.o + $PROJ_DIR$\Debug\Obj\uip.pbi + $PROJ_DIR$\Debug\Obj\osram128x64x4.r79 + $PROJ_DIR$\Debug\Obj\rit128x96x4.pbi + $PROJ_DIR$\webserver\httpd-cgi.c + $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c + $PROJ_DIR$\..\..\Source\queue.c + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\lmi_flash.h + $PROJ_DIR$\Debug\Obj\blocktim.o + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.h + $PROJ_DIR$\Debug\Obj\list.o + $PROJ_DIR$\Debug\Obj\tasks.pbi + $PROJ_DIR$\Debug\Obj\timertest.pbi $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\Debug\Obj\port.pbi - $PROJ_DIR$\lcd_message.h - $PROJ_DIR$\Debug\Obj\heap_2.pbi - $PROJ_DIR$\webserver\httpd.c - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portmacro.h - $PROJ_DIR$\..\Common\include\GenQTest.h $PROJ_DIR$\webserver\clock-arch.h + $PROJ_DIR$\webserver\httpd-fs.h + $PROJ_DIR$\Debug\Obj\flash.pbi + $PROJ_DIR$\Debug\Obj\GenQTest.pbi + $TOOLKIT_DIR$\inc\stddef.h + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uipopt.h + $PROJ_DIR$\Debug\Obj\httpd-fs.o + $TOOLKIT_DIR$\inc\ycheck.h + $PROJ_DIR$\..\Common\include\QPeek.h + $PROJ_DIR$\Debug\Obj\list.pbi $PROJ_DIR$\Debug\Obj\ParTest.pbi - $PROJ_DIR$\LuminaryDrivers\hw_memmap.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\pt.h - $PROJ_DIR$\RTOSDemo.xcl - $PROJ_DIR$\bitmap.h - $PROJ_DIR$\LuminaryDrivers\gpio.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\lmi_flash.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ssi.h + $PROJ_DIR$\webserver\http-strings.h + $PROJ_DIR$\Debug\Obj\semtest.pbi + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\interrupt.h + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\debug.h + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_types.h + $PROJ_DIR$\Debug\Obj\uIP_Task.pbi + $PROJ_DIR$\Debug\Obj\RTOSDemo.pbd + $TOOLKIT_DIR$\inc\DLib_Config_Normal.h + $PROJ_DIR$\ParTest\ParTest.c + $PROJ_DIR$\Debug\Obj\BlockQ.o + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arch.h + $PROJ_DIR$\main.c + $PROJ_DIR$\Debug\Obj\osram128x64x4.pbi + $PROJ_DIR$\Debug\Obj\uip.o $PROJ_DIR$\rit128x96x4.c + $PROJ_DIR$\LuminaryDrivers\ssi.h + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_sysctl.h + $PROJ_DIR$\webserver\uIP_Task.c + $PROJ_DIR$\Debug\Obj\emac.o + $PROJ_DIR$\Debug\Obj\BlockQ.pbi + $PROJ_DIR$\LuminaryDrivers\pdc.h + $TOOLKIT_DIR$\inc\DLib_Threads.h + $PROJ_DIR$\..\..\Source\include\task.h + $PROJ_DIR$\LuminaryDrivers\osram128x64x4.h + $PROJ_DIR$\Debug\Obj\uip_arp.pbi + $PROJ_DIR$\Debug\Obj\httpd.o $PROJ_DIR$\..\Common\include\death.h - $PROJ_DIR$\Debug\Obj\rit128x96x4.pbi - $PROJ_DIR$\LuminaryDrivers\pdc.c + $PROJ_DIR$\..\Common\Minimal\death.c + $PROJ_DIR$\Debug\Obj\pdc.r79 + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.h + $PROJ_DIR$\startup_ewarm.c + $PROJ_DIR$\Debug\Obj\blocktim.pbi + $PROJ_DIR$\Debug\Obj\semtest.o + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc-switch.h + $PROJ_DIR$\Debug\Obj\integer.o + $PROJ_DIR$\Debug\Obj\death.o + $PROJ_DIR$\Debug\Obj\QPeek.o + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_memmap.h + $TOOLKIT_DIR$\inc\yvals.h + $PROJ_DIR$\Debug\Obj\httpd.pbi + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\timer.h + $PROJ_DIR$\Debug\Obj\queue.o $PROJ_DIR$\Debug\Obj\httpd-cgi.pbi - $PROJ_DIR$\..\Common\include\integer.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\..\..\Source\include\portable.h - $TOOLKIT_DIR$\lib\dl7mptnnl8n.h - $PROJ_DIR$\webserver\httpd-fsdata.h - $PROJ_DIR$\Debug\Obj\main.r79 - $PROJ_DIR$\..\Common\include\blocktim.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\lmi_timer.h + $PROJ_DIR$\LuminaryDrivers\debug.h + $PROJ_DIR$\webserver\webserver.h + $PROJ_DIR$\..\..\Source\list.c + $PROJ_DIR$\..\Common\include\flash.h $PROJ_DIR$\..\..\Source\include\croutine.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uipopt.h - $PROJ_DIR$\Debug\Obj\osram128x64x4.pbi - $PROJ_DIR$\Debug\Obj\pdc.pbi - $PROJ_DIR$\main.c - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\timer.h - $PROJ_DIR$\Debug\Obj\uip_arp.r79 - $PROJ_DIR$\Debug\Obj\PollQ.pbi - $PROJ_DIR$\Debug\Obj\uip.r79 - $PROJ_DIR$\Debug\Obj\psock.r79 - $PROJ_DIR$\Debug\Obj\uIP_Task.r79 - $PROJ_DIR$\Debug\Obj\list.r79 - $TOOLKIT_DIR$\inc\stdlib.h $PROJ_DIR$\Debug\Obj\timer.pbi - $PROJ_DIR$\Debug\Obj\startup_ewarm.pbi - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\Debug\Obj\uip.pbi - $TOOLKIT_DIR$\inc\yvals.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.h - $PROJ_DIR$\Debug\Obj\ParTest.r79 - $PROJ_DIR$\Debug\Obj\portasm.r79 - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\webserver\webserver.h $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\driverlib.r79 - $PROJ_DIR$\LuminaryDrivers\osram128x64x4.c - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\ParTest\ParTest.c - $PROJ_DIR$\Debug\Obj\timertest.r79 - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\interrupt.h + $PROJ_DIR$\Debug\Obj\timertest.o + $TOOLKIT_DIR$\inc\DLib_Product_string.h + $PROJ_DIR$\webserver\httpd-fsdata.h + $TOOLKIT_DIR$\lib\rt7M_tl.a + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\IAR\driverlib.a + $TOOLKIT_DIR$\inc\string.h + $PROJ_DIR$\Debug\Obj\integer.pbi + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\ssi.h + $PROJ_DIR$\..\Common\Minimal\GenQTest.c + $PROJ_DIR$\Debug\Obj\PollQ.pbi + $PROJ_DIR$\LuminaryDrivers\hw_sysctl.h + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\clock.h + $PROJ_DIR$\bitmap.h $PROJ_DIR$\..\Common\Minimal\blocktim.c - $PROJ_DIR$\LuminaryDrivers\debug.h - $PROJ_DIR$\Debug\Obj\blocktim.r79 - $PROJ_DIR$\Debug\Obj\PollQ.r79 - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\gpio.h - $PROJ_DIR$\Debug\Obj\queue.pbi - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\webserver\emac.h - $PROJ_DIR$\osram128x64x4.c - $PROJ_DIR$\LuminaryDrivers\osram128x64x4.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ints.h - $PROJ_DIR$\Debug\Obj\timertest.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc-switch.h - $PROJ_DIR$\Debug\Obj\GenQTest.r79 - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\Debug\Obj\list.pbi - $PROJ_DIR$\Debug\Obj\http-strings.pbi - $PROJ_DIR$\Debug\Obj\httpd-fs.r79 - $PROJ_DIR$\..\..\Source\include\queue.h - $PROJ_DIR$\webserver\httpd-cgi.h - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\..\Common\Minimal\death.c - $PROJ_DIR$\webserver\emac.c - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arch.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - $PROJ_DIR$\Debug\Exe\RTOSDemo.sim - $PROJ_DIR$\..\..\Source\include\list.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.h - $PROJ_DIR$\Debug\Obj\tasks.r79 - $PROJ_DIR$\Debug\Obj\blocktim.pbi - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - $PROJ_DIR$\Debug\Obj\GenQTest.pbi - $TOOLKIT_DIR$\inc\stdint.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc.h - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.h - $PROJ_DIR$\LuminaryDrivers\hw_ssi.h - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\hw_ethernet.h - $PROJ_DIR$\Debug\Exe\RTOSDemo.d79 - $PROJ_DIR$\Debug\Obj\queue.r79 + $PROJ_DIR$\..\Common\Minimal\PollQ.c + $PROJ_DIR$\Debug\Obj\osram128x64x4.o $PROJ_DIR$\osram128x64x4.h - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\Debug\Obj\flash.pbi - $PROJ_DIR$\..\Common\drivers\LuminaryMicro\ssi.h + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\sysctl.h + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\ethernet.h + $PROJ_DIR$\..\Common\drivers\LuminaryMicro\rit128x96x4.h + $PROJ_DIR$\..\Common\Minimal\BlockQ.c + $PROJ_DIR$\LuminaryDrivers\sysctl.h + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c + $PROJ_DIR$\webserver\emac.c + $PROJ_DIR$\..\..\Source\tasks.c $PROJ_DIR$\webserver\http-strings.c + $TOOLKIT_DIR$\inc\stdlib.h + $PROJ_DIR$\Debug\Obj\main.o $PROJ_DIR$\Debug\Obj\main.pbi - $PROJ_DIR$\..\..\Source\include\semphr.h - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\Debug\Obj\port.r79 - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\Debug\Obj\emac.pbi - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c - $PROJ_DIR$\Debug\Obj\httpd-fs.pbi - $PROJ_DIR$\Debug\Obj\semtest.r79 + $PROJ_DIR$\..\Common\Minimal\QPeek.c + $PROJ_DIR$\timertest.c + $PROJ_DIR$\..\Common\Minimal\semtest.c + $PROJ_DIR$\webserver\httpd-fs.c $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - $PROJ_DIR$\Debug\Obj\osram128x64x4.r79 - $PROJ_DIR$\..\Common\include\QPeek.h - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $PROJ_DIR$\..\Common\Minimal\flash.c - $PROJ_DIR$\Debug\Obj\RTOSDemo.pbd - $PROJ_DIR$\Debug\Obj\rit128x96x4.r79 - $PROJ_DIR$\Debug\Obj\httpd.r79 - $PROJ_DIR$\Debug\Obj\pdc.r79 - $PROJ_DIR$\Debug\Obj\integer.r79 + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c + $PROJ_DIR$\webserver\httpd.c + $PROJ_DIR$\Debug\Obj\httpd-fs.pbi + $PROJ_DIR$\FreeRTOSConfig.h + $PROJ_DIR$\Debug\Obj\pdc.pbi + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\lc.h + $PROJ_DIR$\Debug\Obj\uIP_Task.o + $PROJ_DIR$\Debug\Obj\heap_2.pbi + $PROJ_DIR$\..\..\Source\include\queue.h + $PROJ_DIR$\Debug\Obj\psock.pbi + $PROJ_DIR$\Debug\Obj\tasks.o + $PROJ_DIR$\Debug\Obj\QPeek.pbi + $PROJ_DIR$\Debug\Obj\heap_2.o + $PROJ_DIR$\..\Common\include\GenQTest.h + $PROJ_DIR$\webserver\emac.h - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s - - - AARM - 108 - - + $PROJ_DIR$\Debug\Exe\RTOSDemo.out - AARM - 4 + ILINK + 16 95 8 35 38 122 69 121 104 55 183 18 51 81 111 120 71 163 151 41 46 7 127 24 118 61 181 31 136 177 99 44 140 139 42 - $PROJ_DIR$\startup_ewarm.c + $PROJ_DIR$\LuminaryDrivers\pdc.c - - ICCARM - 33 - BICOMP - 101 + 175 - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - ICCARM - 38 - - - BICOMP - 60 + 114 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 + BICOMP + 39 15 129 34 101 157 106 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 + ICCARM + 39 15 129 34 101 157 106 - $PROJ_DIR$\..\..\Source\list.c + $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\portasm.s - ICCARM - 98 - - - BICOMP - 133 + AARM + 46 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 144 - - - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 144 + AARM + 174 - $PROJ_DIR$\webserver\httpd-fs.c + $PROJ_DIR$\LuminaryDrivers\osram128x64x4.c - ICCARM - 135 + BICOMP + 98 - BICOMP - 171 + ICCARM + 63 ICCARM - 18 106 88 30 150 105 80 82 114 2 124 110 68 151 130 6 83 152 25 - - - BICOMP - 18 106 88 30 150 105 80 114 2 124 110 68 151 130 6 83 152 25 + 9 39 146 15 129 34 101 157 109 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c + $PROJ_DIR$\..\Common\Minimal\integer.c - ICCARM - 96 + BICOMP + 142 - BICOMP - 12 + ICCARM + 120 - ICCARM - 111 105 80 82 114 2 124 132 166 88 30 150 110 18 106 68 151 130 6 152 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 28 - BICOMP - 111 105 80 114 2 124 132 166 88 30 150 110 18 106 68 151 130 6 152 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 28 - $PROJ_DIR$\..\Common\Minimal\semtest.c + $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - ICCARM - 172 + BICOMP + 178 - BICOMP - 52 + ICCARM + 183 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 165 136 39 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 165 136 39 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 - $PROJ_DIR$\webserver\httpd-cgi.c + $PROJ_DIR$\osram128x64x4.c - ICCARM - 40 + BICOMP + 98 - BICOMP - 78 + ICCARM + 151 - ICCARM - 152 88 30 150 105 80 82 114 2 124 110 18 106 68 151 130 6 137 111 132 166 + BICOMP + 6 123 102 90 89 50 143 153 152 - BICOMP - 152 88 30 150 105 80 114 2 124 110 18 106 68 151 130 6 137 111 132 166 + ICCARM + 6 123 102 90 89 50 143 153 152 - $PROJ_DIR$\..\Common\Minimal\GenQTest.c + $PROJ_DIR$\..\Common\Minimal\flash.c - ICCARM - 131 + BICOMP + 77 - BICOMP - 149 + ICCARM + 55 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 136 165 63 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 74 132 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 136 165 63 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 74 132 - $PROJ_DIR$\timertest.c + $PROJ_DIR$\webserver\httpd-cgi.c - ICCARM - 116 + BICOMP + 128 - BICOMP - 129 + ICCARM + 51 - ICCARM - 159 168 105 80 82 114 2 124 132 49 4 81 62 128 42 54 117 51 92 + BICOMP + 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 13 135 23 141 137 - BICOMP - 159 168 105 80 114 2 124 132 49 4 81 62 128 42 54 117 51 86 + ICCARM + 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 13 135 23 141 137 - $PROJ_DIR$\..\Common\Minimal\PollQ.c + $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c - ICCARM - 121 + BICOMP + 20 - BICOMP - 94 + ICCARM + 41 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 136 158 + BICOMP + 26 79 82 124 27 0 56 107 23 58 174 14 32 108 40 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 136 158 + ICCARM + 26 79 82 124 27 93 0 56 107 23 58 174 14 32 108 40 - $PROJ_DIR$\..\Common\Minimal\QPeek.c + $PROJ_DIR$\..\..\Source\queue.c - ICCARM - 44 + BICOMP + 43 - BICOMP - 11 + ICCARM + 127 + + BICOMP + 162 82 124 27 0 56 107 23 141 137 26 79 58 174 14 32 108 40 133 + ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 136 165 175 + 162 82 124 27 93 0 56 107 23 141 137 26 79 58 174 14 32 108 40 133 + + + + $PROJ_DIR$\Debug\Obj\RTOSDemo.pbd + - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 136 165 175 + BILINK + 105 78 85 145 182 117 3 30 77 178 49 128 173 125 142 84 164 98 20 180 43 64 87 2 72 134 73 91 62 110 - $PROJ_DIR$\webserver\uIP_Task.c + $PROJ_DIR$\ParTest\ParTest.c - ICCARM - 97 + BICOMP + 85 - BICOMP - 20 + ICCARM + 35 - ICCARM - 166 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 165 136 54 152 88 30 150 110 18 106 68 151 130 6 67 92 64 154 45 42 72 51 125 57 59 + BICOMP + 26 79 82 124 27 0 56 107 23 58 174 14 32 108 40 74 90 50 123 - BICOMP - 166 105 80 114 2 124 132 159 168 49 4 81 62 35 144 165 136 54 152 88 30 150 110 18 106 68 151 130 6 67 92 64 154 45 51 42 72 125 57 59 + ICCARM + 26 79 82 124 27 93 0 56 107 23 58 174 14 32 108 40 74 90 50 123 - $PROJ_DIR$\webserver\httpd.c + $PROJ_DIR$\main.c - ICCARM - 180 + BICOMP + 164 - BICOMP - 29 + ICCARM + 163 - ICCARM - 152 88 30 150 105 80 82 114 2 124 110 18 106 68 151 130 6 137 34 166 132 + BICOMP + 135 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 5 25 112 28 53 132 74 12 57 17 148 184 83 123 90 102 153 50 155 152 - BICOMP - 152 88 30 150 105 80 114 2 124 110 18 106 68 151 130 6 137 34 166 132 + ICCARM + 135 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 5 25 112 28 53 132 74 12 57 17 148 184 83 123 90 102 153 50 155 152 @@ -498,457 +479,473 @@ $PROJ_DIR$\rit128x96x4.c - ICCARM - 179 + BICOMP + 64 - BICOMP - 76 + ICCARM + 24 - ICCARM - 73 42 9 54 15 122 162 51 43 + BICOMP + 6 123 102 90 89 50 143 153 155 - BICOMP - 73 42 9 54 15 122 162 51 43 + ICCARM + 6 123 102 90 89 50 143 153 155 - $PROJ_DIR$\LuminaryDrivers\pdc.c + $PROJ_DIR$\webserver\uIP_Task.c - ICCARM - 181 + BICOMP + 91 - BICOMP - 90 + ICCARM + 177 - ICCARM - 66 1 119 71 22 17 5 + BICOMP + 141 82 124 27 0 56 107 23 137 26 79 58 174 14 32 108 40 5 179 90 115 80 45 33 130 22 59 29 176 119 76 70 126 75 11 154 153 123 68 185 74 17 - BICOMP - 66 1 119 71 22 17 5 + ICCARM + 141 82 124 27 93 0 56 107 23 137 26 79 58 174 14 32 108 40 5 179 90 115 80 45 33 130 22 59 29 176 119 76 70 126 75 11 154 153 123 68 185 74 17 - $PROJ_DIR$\main.c + $PROJ_DIR$\..\Common\Minimal\death.c - ICCARM - 84 + BICOMP + 3 - BICOMP - 164 + ICCARM + 121 - ICCARM - 111 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 136 165 160 75 79 85 102 57 39 158 59 70 63 175 42 54 9 51 122 43 157 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 112 - BICOMP - 111 105 80 114 2 124 132 159 168 49 4 81 62 35 144 136 165 160 75 79 85 102 57 39 158 59 70 63 175 42 54 9 51 122 43 157 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 112 - [ROOT_NODE] + $PROJ_DIR$\startup_ewarm.c - XLINK - 155 143 + BICOMP + 2 + + + ICCARM + 61 - $PROJ_DIR$\..\Common\Minimal\integer.c + $PROJ_DIR$\..\..\Source\list.c - ICCARM - 182 + BICOMP + 84 - BICOMP - 41 + ICCARM + 71 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 79 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 40 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 79 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 40 - $PROJ_DIR$\..\..\Source\tasks.c + $PROJ_DIR$\..\Common\Minimal\GenQTest.c - ICCARM - 146 + BICOMP + 78 - BICOMP - 10 + ICCARM + 8 - ICCARM - 111 105 80 82 114 2 124 132 99 166 159 168 49 4 81 62 35 144 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 5 184 - BICOMP - 111 105 80 114 2 124 132 99 166 159 168 49 4 81 62 35 144 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 5 184 - $PROJ_DIR$\LuminaryDrivers\osram128x64x4.c + $PROJ_DIR$\..\Common\Minimal\blocktim.c - ICCARM - 174 + BICOMP + 117 - BICOMP - 89 + ICCARM + 69 + + BICOMP + 26 79 82 124 27 0 56 107 23 58 174 14 32 108 40 179 53 + ICCARM - 153 66 14 1 119 71 22 17 127 + 26 79 82 124 27 93 0 56 107 23 58 174 14 32 108 40 179 53 - $PROJ_DIR$\ParTest\ParTest.c + $PROJ_DIR$\..\Common\Minimal\PollQ.c - ICCARM - 107 + BICOMP + 145 - BICOMP - 65 + ICCARM + 38 - ICCARM - 159 168 105 80 82 114 2 124 132 49 4 81 62 35 144 57 54 122 42 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 57 - BICOMP - 159 168 105 80 114 2 124 132 49 4 81 62 35 144 57 54 122 42 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 57 - $PROJ_DIR$\..\Common\Minimal\blocktim.c + $PROJ_DIR$\..\Common\Minimal\BlockQ.c - ICCARM - 120 + BICOMP + 105 - BICOMP - 147 + ICCARM + 95 - ICCARM - 159 168 105 80 82 114 2 124 132 49 4 81 62 35 144 136 85 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 25 - BICOMP - 159 168 105 80 114 2 124 132 49 4 81 62 35 144 136 85 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 25 - $PROJ_DIR$\osram128x64x4.c + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c - ICCARM - 174 + BICOMP + 110 - BICOMP - 89 + ICCARM + 44 - ICCARM - 73 42 9 54 15 122 162 51 157 + BICOMP + 70 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 141 23 137 - BICOMP - 73 42 9 54 15 122 162 51 157 + ICCARM + 70 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 141 23 137 - $PROJ_DIR$\..\..\Source\queue.c + $PROJ_DIR$\webserver\emac.c - ICCARM - 156 + BICOMP + 30 - BICOMP - 123 + ICCARM + 104 - ICCARM - 99 105 80 82 114 2 124 132 166 159 168 49 4 81 62 35 144 87 + BICOMP + 26 79 82 124 27 0 56 107 23 58 174 14 32 5 179 108 40 185 115 80 45 33 130 22 59 29 176 119 76 90 123 4 11 154 153 88 - BICOMP - 99 105 80 114 2 124 132 166 159 168 49 4 81 62 35 144 87 + ICCARM + 26 79 82 124 27 93 0 56 107 23 58 174 14 32 5 179 108 40 185 115 80 45 33 130 22 59 29 176 119 76 90 123 4 11 154 153 88 - $PROJ_DIR$\..\Common\Minimal\death.c + $PROJ_DIR$\..\..\Source\tasks.c - ICCARM - 37 + BICOMP + 72 - BICOMP - 46 + ICCARM + 181 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 75 + BICOMP + 135 82 124 27 0 56 107 23 162 141 137 26 79 58 174 14 32 108 40 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 75 + ICCARM + 135 82 124 27 93 0 56 107 23 162 141 137 26 79 58 174 14 32 108 40 - $PROJ_DIR$\webserver\emac.c + $PROJ_DIR$\webserver\http-strings.c - - ICCARM - 55 - BICOMP - 169 + 49 - - ICCARM - 159 168 105 80 82 114 2 124 132 49 4 81 62 165 136 35 144 125 152 88 30 150 110 18 106 68 151 130 6 54 42 128 154 45 117 - - - BICOMP - 159 168 105 80 114 2 124 132 49 4 81 62 165 136 35 144 125 152 88 30 150 110 18 106 68 151 130 6 54 42 128 154 45 51 117 + 18 - + - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip_arp.c + $PROJ_DIR$\..\Common\Minimal\QPeek.c - ICCARM - 93 + BICOMP + 182 - BICOMP - 0 + ICCARM + 122 - ICCARM - 67 152 88 30 150 105 80 82 114 2 124 110 18 106 68 151 130 6 166 132 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 179 5 83 - BICOMP - 67 152 88 30 150 105 80 114 2 124 110 18 106 68 151 130 6 166 132 + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 179 5 83 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c + $PROJ_DIR$\timertest.c - ICCARM - 28 + BICOMP + 73 - BICOMP - 100 + ICCARM + 136 - ICCARM - 16 64 159 168 105 80 82 114 2 124 132 49 4 81 62 145 + BICOMP + 26 79 82 124 27 0 56 107 23 58 174 14 32 4 123 90 88 153 37 - BICOMP - 16 64 159 168 105 80 114 2 124 132 49 4 81 62 145 + ICCARM + 26 79 82 124 27 93 0 56 107 23 58 174 14 32 4 123 90 88 153 37 - $PROJ_DIR$\Debug\Exe\RTOSDemo.d79 + $PROJ_DIR$\..\Common\Minimal\semtest.c - XLINK - 143 + BICOMP + 87 + + + ICCARM + 118 - XLINK - 69 31 131 107 121 44 120 37 55 19 38 13 40 135 180 182 98 84 174 167 108 96 156 179 172 33 146 28 116 97 95 93 112 47 + BICOMP + 162 82 124 27 0 56 107 23 26 79 58 174 14 32 108 40 5 179 12 + + + ICCARM + 162 82 124 27 93 0 56 107 23 26 79 58 174 14 32 108 40 5 179 12 - $PROJ_DIR$\webserver\http-strings.c + $PROJ_DIR$\webserver\httpd-fs.c + + BICOMP + 173 + ICCARM - 13 + 81 + + BICOMP - 134 + 22 59 80 45 33 82 124 27 0 56 107 130 29 176 119 76 138 115 60 - + + ICCARM + 22 59 80 45 33 82 124 27 93 0 56 107 130 29 176 119 76 138 115 60 + + - $PROJ_DIR$\..\..\Source\portable\IAR\ARM_CM3\port.c + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c - ICCARM - 167 + BICOMP + 62 - BICOMP - 58 + ICCARM + 99 - ICCARM - 159 168 105 80 82 114 2 124 132 49 4 81 62 35 144 + BICOMP + 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 96 141 23 137 - BICOMP - 159 168 105 80 114 2 124 132 49 4 81 62 35 144 + ICCARM + 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 96 141 23 137 - $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\uip.c + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\timer.c - ICCARM - 95 + BICOMP + 134 - BICOMP - 104 + ICCARM + 31 - ICCARM - 152 88 30 150 105 80 82 114 2 124 110 18 106 68 151 130 6 141 166 132 + BICOMP + 147 75 26 79 82 124 27 0 56 107 23 58 174 14 32 54 - BICOMP - 152 88 30 150 105 80 114 2 124 110 18 106 68 151 130 6 141 166 132 + ICCARM + 147 75 26 79 82 124 27 93 0 56 107 23 58 174 14 32 54 - $PROJ_DIR$\..\Common\Minimal\BlockQ.c + $PROJ_DIR$\..\Common\ethernet\uIP\uip-1.0\uip\psock.c - ICCARM - 31 + BICOMP + 180 - BICOMP - 32 + ICCARM + 7 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 136 160 + BICOMP + 135 82 124 27 0 56 107 23 141 137 80 45 33 130 22 59 29 176 119 76 115 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 136 160 + ICCARM + 135 82 124 27 93 0 56 107 23 141 137 80 45 33 130 22 59 29 176 119 76 115 - $PROJ_DIR$\..\Common\Minimal\flash.c + $PROJ_DIR$\webserver\httpd.c - ICCARM - 19 + BICOMP + 125 - BICOMP - 161 + ICCARM + 111 - ICCARM - 99 105 80 82 114 2 124 132 159 168 49 4 81 62 35 144 57 102 + BICOMP + 115 80 45 33 82 124 27 0 56 107 130 22 59 29 176 119 76 13 86 141 23 137 - BICOMP - 99 105 80 114 2 124 132 159 168 49 4 81 62 35 144 57 102 + ICCARM + 115 80 45 33 82 124 27 93 0 56 107 130 22 59 29 176 119 76 13 86 141 23 137 - $PROJ_DIR$\Debug\Obj\RTOSDemo.pbd - + [ROOT_NODE] + - BILINK - 32 149 65 94 11 147 46 169 161 60 134 78 171 29 41 133 164 89 58 12 123 76 52 101 10 100 129 20 104 0 + ILINK + 1 - + $PROJ_DIR$\LuminaryDrivers\osram128x64x4.c diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewd b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewd index 1d3a44298..a1f663560 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewd +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + @@ -173,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -212,7 +257,7 @@ JLINK_ID 2 - 7 + 9 1 1 - - + + LMIFTDI_ID 2 - 0 + 1 1 1 - - - - @@ -536,11 +566,11 @@ - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp index a0a8e3800..1f0f615c4 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/RTOSDemo.ewp @@ -10,19 +10,15 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 14 + 19 1 1 - - - - - - - - - - - - - - + + + + + @@ -486,7 +444,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -544,283 +532,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.cspy.bat b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.cspy.bat index ba9287cf8..ac49556d8 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.cspy.bat +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.cspy.bat @@ -22,11 +22,11 @@ @REM but they are listed at the end of this file for reference. -"C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\bin\cspybat" "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\bin\armproc.dll" "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\bin\armlmiftdi.dll" %1 --plugin "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\bin\" --backend -B "--endian" "little" "--cpu" "cortex-M3" "--fpu" "None" "--proc_device_desc_file" "C:\Devtools\IAR Systems\Embedded Workbench 4.0\ARM\CONFIG\iolm3sxxxx.ddf" "--drv_verify_download" "all" "--proc_driver" "lmiftdi" "--lmiftdi_speed" "500" +"C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\bin\cspybat" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\armproc.dll" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\armlmiftdi.dll" %1 --plugin "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\bin\" --backend -B "--endian" "little" "--cpu" "Cortex-M3" "--fpu" "None" "--proc_device_desc_file" "C:\Devtools\IAR Systems\Embedded Workbench 5.0\ARM\CONFIG\debugger\Luminary\iolm3sxxxx.ddf" "--drv_verify_download" "all" "--proc_no_semihosting" "--proc_driver" "lmiftdi" "--lmiftdi_speed" "500" @REM Loaded plugins: @REM armlibsupport.dll -@REM C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\plugins\CodeCoverage\CodeCoverage.dll -@REM C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\plugins\Profiling\Profiling.dll -@REM C:\Devtools\IAR Systems\Embedded Workbench 4.0\common\plugins\stack\stack.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\CodeCoverage\CodeCoverage.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\Profiling\Profiling.dll +@REM C:\Devtools\IAR Systems\Embedded Workbench 5.0\common\plugins\stack\stack.dll diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt index 33f4649c2..e2af7d9ee 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dbgdt @@ -1,5 +1,80 @@ - + + + + + + 20 + 1006 + 268 + 67 + + + + + + + + 164272727 + + + + 2 + 0 + 0 + + + 1 + 0 + + + + + + + + + TabID-10465-12018 + Debug Log + Debug-Log + + + + TabID-9942-12028 + Build + Build + + + + + 0 + + + TabID-21213-12021 + Workspace + Workspace + + + RTOSDemoRTOSDemo/Demo files + + + + 0 + + + + + + TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\main.c0161695669560TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\webserver\uIP_Task.c03900TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\timertest.c09639933993TextEditorC:\E\Dev\FreeRTOS\Source\tasks.c010913621136211TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\FreeRTOSConfig.h036191519150100000010000001 + + + + + + + iaridepm.enu1debuggergui.enu1-2-2740238-2-2240200142857203666142857755601-2-21981682-2-216842001002381203666142857203666 + + diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dni b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dni index 61d49c1b0..462defc70 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dni +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.dni @@ -1,3 +1,27 @@ +[CodeCoverage] +Enabled=_ 0 +[DisAssemblyWindow] +NumStates=_ 1 +State 1=_ 1 +[Profiling] +Enabled=0 +[StackPlugin] +Enabled=1 +OverflowWarningsEnabled=1 +WarningThreshold=90 +SpWarningsEnabled=1 +WarnHow=0 +UseTrigger=1 +TriggerName=main +LimitSize=0 +ByteLimit=50 +[Log file] +LoggingEnabled=_ 0 +LogFile=_ "" +Category=_ 0 +[TermIOLog] +LoggingEnabled=_ 0 +LogFile=_ "" [Disassemble mode] mode=1 [Breakpoints] diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt index c93053f8a..7913d1b96 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/settings/RTOSDemo.wsdt @@ -2,95 +2,47 @@ - - RTOSDemo/Debug - - + + RTOSDemo/Debug - 124 - 27 - 27 - 27 - + + + + + 304272727 - + 4826882619100726867 - + + TabID-18883-22024 Workspace Workspace - - RTOSDemo - - + + RTOSDemo - 0 - - + + 0TabID-29040-7360Find in FilesFind-in-FilesTabID-19024-10413BuildBuild1 - - 0 - - - 1000000 - 1000000 - - - 1 - + + + + + TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\main.c0161695669560TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\webserver\uIP_Task.c03900TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\timertest.c09639933993TextEditorC:\E\Dev\FreeRTOS\Source\tasks.c010913621136211TextEditorC:\E\Dev\FreeRTOS\Demo\CORTEX_LM3Sxxxx_IAR_Keil\FreeRTOSConfig.h036191519150100000010000001 - - - - - iaridepm.enu1 - - - - - - - - - - -2 - -2 - 938 - 198 - -2 - -2 - 200 - 200 - 142857 - 203666 - 142857 - 957230 - - - - - - - - - - - - - - - - - - - + + + + + + iaridepm.enu1-2-2613378-2-2240200142857203666226190626273-2-23251682-2-216843271002381332994142857203666 diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c index af1c8ac18..3279be441 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/startup_ewarm.c @@ -38,7 +38,6 @@ // Forward declaration of the default fault handlers. // //***************************************************************************** -void ResetISR(void); static void NmiSR(void); static void FaultISR(void); static void IntDefaultHandler(void); @@ -55,7 +54,7 @@ static void IntDefaultHandler(void); // The entry point for the application. // //***************************************************************************** -extern int main(void); +extern void __iar_program_start(void); extern void xPortPendSVHandler(void); extern void xPortSysTickHandler(void); extern void vEMAC_ISR( void ); @@ -69,7 +68,7 @@ extern Timer0IntHandler( void ); #ifndef STACK_SIZE #define STACK_SIZE 64 #endif -static unsigned long pulStack[STACK_SIZE]; +static unsigned long pulStack[STACK_SIZE] @ ".noinit"; //***************************************************************************** // @@ -92,11 +91,11 @@ uVectorEntry; // 0x0000.0000. // //***************************************************************************** -__root const uVectorEntry g_pfnVectors[] @ "INTVEC" = +__root const uVectorEntry __vector_table[] @ ".intvec" = { { .ulPtr = (unsigned long)pulStack + sizeof(pulStack) }, // The initial stack pointer - ResetISR, // The reset handler + __iar_program_start, // The reset handler NmiSR, // The NMI handler FaultISR, // The hard fault handler IntDefaultHandler, // The MPU fault handler @@ -157,58 +156,6 @@ __root const uVectorEntry g_pfnVectors[] @ "INTVEC" = IntDefaultHandler // Power Island }; -//***************************************************************************** -// -// The following are constructs created by the linker, indicating where the -// the "data" and "bss" segments reside in memory. The initializers for the -// for the "data" segment resides immediately following the "text" segment. -// -//***************************************************************************** -#pragma segment="DATA_ID" -#pragma segment="DATA_I" -#pragma segment="DATA_Z" - -//***************************************************************************** -// -// This is the code that gets called when the processor first starts execution -// following a reset event. Only the absolutely necessary set is performed, -// after which the application supplied entry() routine is called. Any fancy -// actions (such as making decisions based on the reset cause register, and -// resetting the bits in that register) are left solely in the hands of the -// application. -// -//***************************************************************************** -void -ResetISR(void) -{ - unsigned long *pulSrc, *pulDest, *pulEnd; - - // - // Copy the data segment initializers from flash to SRAM. - // - pulSrc = __segment_begin("DATA_ID"); - pulDest = __segment_begin("DATA_I"); - pulEnd = __segment_end("DATA_I"); - while(pulDest < pulEnd) - { - *pulDest++ = *pulSrc++; - } - - // - // Zero fill the bss segment. - // - pulDest = __segment_begin("DATA_Z"); - pulEnd = __segment_end("DATA_Z"); - while(pulDest < pulEnd) - { - *pulDest++ = 0; - } - - // - // Call the application's entry point. - // - main(); -} //***************************************************************************** // diff --git a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c index 1a88989d5..6e46bb4b7 100644 --- a/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c +++ b/Demo/CORTEX_LM3Sxxxx_IAR_Keil/timertest.c @@ -68,7 +68,7 @@ zero. */ void Timer0IntHandler( void ); /* Stores the value of the maximum recorded jitter between interrupts. */ -unsigned portLONG ulMaxJitter = 0; +volatile unsigned portLONG ulMaxJitter = 0; /*-----------------------------------------------------------*/ @@ -89,6 +89,9 @@ unsigned long ulFrequency; /* Just used to measure time. */ TimerLoadSet(TIMER1_BASE, TIMER_A, timerMAX_32BIT_VALUE ); + /* Ensure interrupts do not start until the scheduler is running. */ + portDISABLE_INTERRUPTS(); + /* The rate at which the timer will interrupt. */ ulFrequency = configCPU_CLOCK_HZ / timerINTERRUPT_FREQUENCY; TimerLoadSet( TIMER0_BASE, TIMER_A, ulFrequency ); @@ -103,7 +106,8 @@ unsigned long ulFrequency; void Timer0IntHandler( void ) { -unsigned portLONG ulDifference, ulCurrentCount; +unsigned portLONG ulDifference; +volatile unsigned portLONG ulCurrentCount; static portLONG ulMaxDifference = 0, ulLastCount = 0; /* We use the timer 1 counter value to measure the clock cycles between diff --git a/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewd b/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewd index c05a591f2..5b6128974 100644 --- a/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewd +++ b/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 13 + 15 1 1 + + ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -161,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -200,7 +257,7 @@ JLINK_ID 2 - 6 + 9 1 1 - - + + + LMIFTDI_ID 2 - 0 + 1 1 1 - - - - @@ -520,47 +566,47 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Orti\Orti.ewplugin + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Stack\Stack.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ewplugin + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 diff --git a/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewp b/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewp index 84635ff59..d9127ed12 100644 --- a/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewp +++ b/Demo/CORTEX_STM32F103_IAR/RTOSDemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 14 + 19 1 1 - - - - - - - - - - - - - - + + + + + @@ -484,7 +442,7 @@ + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -542,283 +530,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 diff --git a/Demo/CORTEX_STM32F103_IAR/STM32F10xFWLib/src/cortexm3_macro.s b/Demo/CORTEX_STM32F103_IAR/STM32F10xFWLib/src/cortexm3_macro.s index e2b711955..cb20961e9 100644 --- a/Demo/CORTEX_STM32F103_IAR/STM32F10xFWLib/src/cortexm3_macro.s +++ b/Demo/CORTEX_STM32F103_IAR/STM32F10xFWLib/src/cortexm3_macro.s @@ -16,7 +16,7 @@ ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. ;******************************************************************************* - RSEG CODE:CODE(2) + SECTION .text:CODE(2) ; Exported functions EXPORT __WFI @@ -28,6 +28,10 @@ EXPORT __SVC EXPORT __MRS_CONTROL EXPORT __MSR_CONTROL + EXPORT __MRS_PSP + EXPORT __MSR_PSP + EXPORT __MRS_MSP + EXPORT __MSR_MSP EXPORT __SETPRIMASK EXPORT __RESETPRIMASK EXPORT __SETFAULTMASK @@ -137,6 +141,50 @@ __MSR_CONTROL ISB BX r14 +;******************************************************************************* +; Function Name : __MRS_PSP +; Description : Assembler function for the MRS instruction. +; Input : None +; Return : - r0 : Process Stack value. +;******************************************************************************* +__MRS_PSP + + MRS r0, PSP + BX r14 + +;******************************************************************************* +; Function Name : __MSR_PSP +; Description : Assembler function for the MSR instruction. +; Input : - r0 : Process Stack new value. +; Return : None +;******************************************************************************* +__MSR_PSP + + MSR PSP, r0 ; set Process Stack value + BX r14 + +;******************************************************************************* +; Function Name : __MRS_MSP +; Description : Assembler function for the MRS instruction. +; Input : None +; Return : - r0 : Main Stack value. +;******************************************************************************* +__MRS_MSP + + MRS r0, MSP + BX r14 + +;******************************************************************************* +; Function Name : __MSR_MSP +; Description : Assembler function for the MSR instruction. +; Input : - r0 : Main Stack new value. +; Return : None +;******************************************************************************* +__MSR_MSP + + MSR MSP, r0 ; set Main Stack value + BX r14 + ;******************************************************************************* ; Function Name : __SETPRIMASK ; Description : Assembler function to set the PRIMASK. diff --git a/Demo/CORTEX_STM32F103_IAR/STM32F10x_FLASH.icf b/Demo/CORTEX_STM32F103_IAR/STM32F10x_FLASH.icf new file mode 100644 index 000000000..2f38805ab --- /dev/null +++ b/Demo/CORTEX_STM32F103_IAR/STM32F10x_FLASH.icf @@ -0,0 +1,31 @@ +/*###ICF### Section handled by ICF editor, don't touch! ****/ +/*-Editor annotation file-*/ +/* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\a_v1_0.xml" */ +/*-Specials-*/ +define symbol __ICFEDIT_intvec_start__ = 0x08000000; +/*-Memory Regions-*/ +define symbol __ICFEDIT_region_ROM_start__ = 0x080000EC; +define symbol __ICFEDIT_region_ROM_end__ = 0x0801FFFF; +define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; +define symbol __ICFEDIT_region_RAM_end__ = 0x20004FFF; +/*-Sizes-*/ +define symbol __ICFEDIT_size_cstack__ = 0x400; +define symbol __ICFEDIT_size_heap__ = 0x4; +/**** End of ICF editor section. ###ICF###*/ + + +define memory mem with size = 4G; +define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; +define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; + +define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; +define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; + +initialize by copy { readwrite }; +do not initialize { section .noinit }; + +place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; + +place in ROM_region { readonly }; +place in RAM_region { readwrite, + block CSTACK, block HEAP }; \ No newline at end of file diff --git a/Demo/CORTEX_STM32F103_IAR/stm32f10x_vector.c b/Demo/CORTEX_STM32F103_IAR/stm32f10x_vector.c index ddb354eab..a30b73e81 100644 --- a/Demo/CORTEX_STM32F103_IAR/stm32f10x_vector.c +++ b/Demo/CORTEX_STM32F103_IAR/stm32f10x_vector.c @@ -41,14 +41,14 @@ typedef union { intfunc __fun; void * __ptr; } intvec_elem; #pragma language=extended #pragma segment="CSTACK" -void __program_start( void ); +void __iar_program_start( void ); -#pragma location = "INTVEC" +#pragma location = ".intvec" /* STM32F10x Vector Table entries */ const intvec_elem __vector_table[] = { { .__ptr = __sfe( "CSTACK" ) }, - &__program_start, + &__iar_program_start, NMIException, HardFaultException, MemManageException, diff --git a/Demo/Common/Minimal/dynamic.c b/Demo/Common/Minimal/dynamic.c index f36938d51..43f08cb3e 100644 --- a/Demo/Common/Minimal/dynamic.c +++ b/Demo/Common/Minimal/dynamic.c @@ -351,6 +351,12 @@ portBASE_TYPE xGotValue; } xTaskResumeAll(); + #if configUSE_PREEMPTION == 0 + { + taskYIELD(); + } + #endif + } while( xGotValue == pdFALSE ); if( ulReceivedValue != ulExpectedValue ) diff --git a/Demo/Common/Minimal/recmutex.c b/Demo/Common/Minimal/recmutex.c new file mode 100644 index 000000000..fea1d32c4 --- /dev/null +++ b/Demo/Common/Minimal/recmutex.c @@ -0,0 +1,335 @@ +/* + FreeRTOS.org V4.7.0 - Copyright (C) 2003-2007 Richard Barry. + + This file is part of the FreeRTOS.org distribution. + + FreeRTOS.org is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + FreeRTOS.org is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with FreeRTOS.org; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + A special exception to the GPL can be applied should you wish to distribute + a combined work that includes FreeRTOS.org, without being obliged to provide + the source code for any proprietary components. See the licensing section + of http://www.FreeRTOS.org for full details of how and when the exception + can be applied. + + *************************************************************************** + See http://www.FreeRTOS.org for documentation, latest information, license + and contact details. Please ensure to read the configuration and relevant + port sections of the online documentation. + + Also see http://www.SafeRTOS.com a version that has been certified for use + in safety critical systems, plus commercial licensing, development and + support options. + *************************************************************************** +*/ + +/* + The tasks defined on this page demonstrate the use of recursive mutexes. + + All mutexes are created using a call to xSemaphoreCreateMutex(). For + recursive mutex functionality the created mutex should then be manipulated + using the xSemaphoreTakeRecursive() and xSemaphoreGiveRecursive() API + functions. Recursive mutexes must NOT be passed as a parameter to the + standard mutex API functions xSemaphoreTake() and xSemaphoreGive(). + + This demo creates three tasks all of which access the same recursive mutex: + + prvRecursiveMutexControllingTask() has the highest priority so executes + first and grabs the mutex. It then performs some recursive accesses - + between each of which it sleeps for a short period to let the lower + priority tasks execute. When it has completed its demo functionality + it gives the mutex back before suspending itself. + + prvRecursiveMutexBlockingTask() attempts to access the mutex by performing + a blocking 'take'. The blocking task has a lower priority than the + controlling task so by the time it executes the mutex has already been + taken by the controlling task, causing the blocking task to block. It + does not unblock until the controlling task has given the mutex back, + and it does not actually run until the controlling task has suspended + itself (due to the relative priorities). When it eventually does obtain + the mutex all it does is give the mutex back prior to also suspending + itself. At this point both the controlling task and the blocking task are + suspended. + + prvRecursiveMutexPollingTask() runs at the idle priority. It spins round + a tight loop attempting to obtain the mutex with a non-blocking call. As + the lowest priority task it will not successfully obtain the mutex until + both the controlling and blocking tasks are suspended. Once it eventually + does obtain the mutex it first unsuspends both the controlling task and + blocking task prior to giving the mutex back - resulting in the polling + task temporarily inheriting the controlling tasks priority. +*/ + +/* Scheduler include files. */ +#include "FreeRTOS.h" +#include "task.h" +#include "semphr.h" + +/* Demo app include files. */ +#include "recmutex.h" + +/* Priorities assigned to the three tasks. */ +#define recmuCONTROLLING_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) +#define recmuBLOCKING_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) +#define recmuPOLLING_TASK_PRIORITY ( tskIDLE_PRIORITY + 0 ) + +/* The recursive call depth. */ +#define recmuMAX_COUNT ( 10 ) + +/* Misc. */ +#define recmuSHORT_DELAY ( 5 / portTICK_RATE_MS ) +#define recmuNO_DELAY ( ( portTickType ) 0 ) +#define recmuONE_TICK_DELAY ( ( portTickType ) 1 ) + +/* The three tasks as described at the top of this file. */ +static void prvRecursiveMutexControllingTask( void *pvParameters ); +static void prvRecursiveMutexBlockingTask( void *pvParameters ); +static void prvRecursiveMutexPollingTask( void *pvParameters ); + +/* The mutex used by the demo. */ +static xSemaphoreHandle xMutex; + +/* Variables used to detect and latch errors. */ +static portBASE_TYPE xErrorOccurred = pdFALSE, xControllingIsSuspended = pdFALSE, xBlockingIsSuspended = pdFALSE; +static unsigned portBASE_TYPE uxControllingCycles = 0, uxBlockingCycles, uxPollingCycles = 0; + +/* Handles of the two higher priority tasks, required so they can be resumed +(unsuspended). */ +static xTaskHandle xControllingTaskHandle, xBlockingTaskHandle; + +/*-----------------------------------------------------------*/ + +void vStartRecursiveMutexTasks( void ) +{ + /* Just creates the mutex and the three tasks. */ + + xMutex = xSemaphoreCreateMutex(); + + if( xMutex != NULL ) + { + xTaskCreate( prvRecursiveMutexControllingTask, "Rec1", configMINIMAL_STACK_SIZE, NULL, recmuCONTROLLING_TASK_PRIORITY, &xControllingTaskHandle ); + xTaskCreate( prvRecursiveMutexBlockingTask, "Rec2", configMINIMAL_STACK_SIZE, NULL, recmuBLOCKING_TASK_PRIORITY, &xBlockingTaskHandle ); + xTaskCreate( prvRecursiveMutexPollingTask, "Rec3", configMINIMAL_STACK_SIZE, NULL, recmuPOLLING_TASK_PRIORITY, NULL ); + } +} +/*-----------------------------------------------------------*/ + +static void prvRecursiveMutexControllingTask( void *pvParameters ) +{ +unsigned portBASE_TYPE ux; + + for( ;; ) + { + /* Should not be able to 'give' the mutex, as we have not yet 'taken' + it. */ + if( xSemaphoreGiveRecursive( xMutex ) == pdPASS ) + { + xErrorOccurred = pdTRUE; + } + + for( ux = 0; ux < recmuMAX_COUNT; ux++ ) + { + /* We should now be able to take the mutex as many times as + we like. A one tick delay is used so the polling task will + inherit our priority on all but the first cycle of this task. + If we did not block attempting to receive the mutex then no + priority inheritance would occur. */ + if( xSemaphoreTakeRecursive( xMutex, recmuONE_TICK_DELAY ) != pdPASS ) + { + xErrorOccurred = pdTRUE; + } + + /* Ensure the other task attempting to access the mutex (and the + other demo tasks) are able to execute. */ + vTaskDelay( recmuSHORT_DELAY ); + } + + /* For each time we took the mutex, give it back. */ + for( ux = 0; ux < recmuMAX_COUNT; ux++ ) + { + /* Ensure the other task attempting to access the mutex (and the + other demo tasks) are able to execute. */ + vTaskDelay( recmuSHORT_DELAY ); + + /* We should now be able to give the mutex as many times as we + took it. */ + if( xSemaphoreGiveRecursive( xMutex ) != pdPASS ) + { + xErrorOccurred = pdTRUE; + } + } + + /* Having given it back the same number of times as it was taken, we + should no longer be the mutex owner, so the next give should fail. */ + if( xSemaphoreGiveRecursive( xMutex ) == pdPASS ) + { + xErrorOccurred = pdTRUE; + } + + /* Keep count of the number of cycles this task has performed so a + stall can be detected. */ + uxControllingCycles++; + + /* Suspend ourselves to the blocking task can execute. */ + xControllingIsSuspended = pdTRUE; + vTaskSuspend( NULL ); + xControllingIsSuspended = pdFALSE; + } +} +/*-----------------------------------------------------------*/ + +static void prvRecursiveMutexBlockingTask( void *pvParameters ) +{ + for( ;; ) + { + /* Attempt to obtain the mutex. We should block until the + controlling task has given up the mutex, and not actually execute + past this call until the controlling task is suspended. */ + if( xSemaphoreTakeRecursive( xMutex, portMAX_DELAY ) == pdPASS ) + { + if( xControllingIsSuspended != pdTRUE ) + { + /* Did not expect to execute until the controlling task was + suspended. */ + xErrorOccurred = pdTRUE; + } + else + { + /* Give the mutex back before suspending ourselves to allow + the polling task to obtain the mutex. */ + if( xSemaphoreGiveRecursive( xMutex ) != pdPASS ) + { + xErrorOccurred = pdTRUE; + } + + xBlockingIsSuspended = pdTRUE; + vTaskSuspend( NULL ); + xBlockingIsSuspended = pdFALSE; + } + } + else + { + /* We should not leave the xSemaphoreTakeRecursive() function + until the mutex was obtained. */ + xErrorOccurred = pdTRUE; + } + + /* The controlling and blocking tasks should be in lock step. */ + if( uxControllingCycles != ( uxBlockingCycles + 1 ) ) + { + xErrorOccurred = pdTRUE; + } + + /* Keep count of the number of cycles this task has performed so a + stall can be detected. */ + uxBlockingCycles++; + } +} +/*-----------------------------------------------------------*/ + +static void prvRecursiveMutexPollingTask( void *pvParameters ) +{ + for( ;; ) + { + /* Keep attempting to obtain the mutex. We should only obtain it when + the blocking task has suspended itself. */ + if( xSemaphoreTakeRecursive( xMutex, recmuNO_DELAY ) == pdPASS ) + { + /* Is the blocking task suspended? */ + if( xBlockingIsSuspended != pdTRUE ) + { + xErrorOccurred = pdTRUE; + } + else + { + /* Keep count of the number of cycles this task has performed so + a stall can be detected. */ + uxPollingCycles++; + + /* We can resume the other tasks here even though they have a + higher priority than the polling task. When they execute they + will attempt to obtain the mutex but fail because the polling + task is still the mutex holder. The polling task (this task) + will then inherit the higher priority. */ + vTaskResume( xBlockingTaskHandle ); + vTaskResume( xControllingTaskHandle ); + + /* Release the mutex, disinheriting the higher priority again. */ + if( xSemaphoreGiveRecursive( xMutex ) != pdPASS ) + { + xErrorOccurred = pdTRUE; + } + } + } + + #if configUSE_PREEMPTION == 0 + { + taskYIELD(); + } + #endif + } +} +/*-----------------------------------------------------------*/ + +/* This is called to check that all the created tasks are still running. */ +portBASE_TYPE xAreRecursiveMutexTasksStillRunning( void ) +{ +portBASE_TYPE xReturn; +static unsigned portBASE_TYPE uxLastControllingCycles = 0, uxLastBlockingCycles = 0, uxLastPollingCycles = 0; + + /* Is the controlling task still cycling? */ + if( uxLastControllingCycles == uxControllingCycles ) + { + xErrorOccurred = pdTRUE; + } + else + { + uxLastControllingCycles = uxControllingCycles; + } + + /* Is the blocking task still cycling? */ + if( uxLastBlockingCycles == uxBlockingCycles ) + { + xErrorOccurred = pdTRUE; + } + else + { + uxLastBlockingCycles = uxBlockingCycles; + } + + /* Is the polling task still cycling? */ + if( uxLastPollingCycles == uxPollingCycles ) + { + xErrorOccurred = pdTRUE; + } + else + { + uxLastPollingCycles = uxPollingCycles; + } + + if( xErrorOccurred == pdTRUE ) + { + xReturn = pdFAIL; + } + else + { + xReturn = pdTRUE; + } + + return xReturn; +} + + + + diff --git a/Demo/Common/drivers/LuminaryMicro/IAR/driverlib.a b/Demo/Common/drivers/LuminaryMicro/IAR/driverlib.a new file mode 100644 index 0000000000000000000000000000000000000000..3f0508d577c4ec8dc629cc3b355957adac5622f2 GIT binary patch literal 566104 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⪻X9kZ*kXaOjixg8kyxA&Y^| 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

!B`t*C1tY8M`y~^OLDDO*FyOSEU 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 literal 0 HcmV?d00001 diff --git a/Demo/Common/drivers/LuminaryMicro/Rowley/libdriver.a b/Demo/Common/drivers/LuminaryMicro/Rowley/libdriver.a new file mode 100644 index 0000000000000000000000000000000000000000..d237b1375e9bb8c88f86342db329c62a893a43a4 GIT binary patch literal 86998 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 literal 0 HcmV?d00001 diff --git a/Demo/lwIP_AVR32_UC3/AT32UC3A/IAR/lwipdemo.dep b/Demo/lwIP_AVR32_UC3/AT32UC3A/IAR/lwipdemo.dep deleted file mode 100644 index dcb8fe4f8..000000000 --- a/Demo/lwIP_AVR32_UC3/AT32UC3A/IAR/lwipdemo.dep +++ /dev/null @@ -1,1165 +0,0 @@ - - - - 2 - 3234014960 - - Debug - - $PROJ_DIR$\Debug\Obj\main.pbi - $PROJ_DIR$\Debug\Obj\tcp_in.pbi - $PROJ_DIR$\Debug\Obj\netif.r82 - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\portmacro.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\mem.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\netif.h - $PROJ_DIR$\Debug\Obj\api_msg.pbi - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\tcpip.h - $PROJ_DIR$\..\..\..\Common\include\partest.h - $PROJ_DIR$\..\..\..\..\Source\include\queue.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\mrepeat.h - $PROJ_DIR$\..\..\DRIVERS\PM\pm.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\raw.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\ipv4\lwip\ip_frag.h - $PROJ_DIR$\..\..\..\..\Source\include\FreeRTOS.h - $TOOLKIT_DIR$\inc\avr32\io.h - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\..\..\UTILS\compiler.h - $PROJ_DIR$\..\..\DRIVERS\USART\usart.h - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\..\..\DRIVERS\MACB\macb.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\memp.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\api_msg.h - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\lwipopts.h - $PROJ_DIR$\..\..\..\..\Source\include\portable.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\pbuf.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\preprocessor.h - $PROJ_DIR$\..\..\DRIVERS\TC\tc.h - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\arch\cpu.h - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\stringz.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\Debug\Obj\flashc.r82 - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\arch\sys_arch.h - $PROJ_DIR$\..\..\NETWORK\BasicTFTP\BasicTFTP.h - $PROJ_DIR$\..\..\..\Common\include\serial.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\err.h - $PROJ_DIR$\..\..\..\..\Source\include\projdefs.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\tcp.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\debug.h - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\arch\perf.h - $PROJ_DIR$\..\..\NETWORK\ethernet.h - $PROJ_DIR$\..\..\..\..\Source\include\croutine.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\ipv4\lwip\icmp.h - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\..\BOARDS\board.h - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\arch\cc.h - $PROJ_DIR$\..\..\DRIVERS\FLASHC\flashc.h - $PROJ_DIR$\Debug\Obj\tc.r82 - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\def.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\udp.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\snmp.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\arch.h - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\ipv4\lwip\inet.h - $PROJ_DIR$\..\..\..\Common\include\flash.h - $PROJ_DIR$\..\..\BOARDS\EVK1100\evk1100.h - $TOOLKIT_DIR$\inc\yvals.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\Debug\Obj\write.r82 - $PROJ_DIR$\..\..\..\..\Source\include\semphr.h - $TOOLKIT_DIR$\inc\ycheck.h - $TOOLKIT_DIR$\inc\yfuns.h - $PROJ_DIR$\Debug\Obj\lwipdemo.pbd - $PROJ_DIR$\Debug\Obj\err.r82 - $PROJ_DIR$\Debug\Obj\api_msg.r82 - $PROJ_DIR$\Debug\Obj\inet.r82 - $PROJ_DIR$\..\..\conf_eth.h - $PROJ_DIR$\Debug\Obj\memp.r82 - $PROJ_DIR$\..\..\..\..\Source\include\list.h - $PROJ_DIR$\Debug\Obj\sys.r82 - $PROJ_DIR$\Debug\Obj\pbuf.r82 - $PROJ_DIR$\Debug\Obj\etharp.pbi - $PROJ_DIR$\Debug\Obj\etharp.r82 - $PROJ_DIR$\Debug\Obj\sys_arch.r82 - $PROJ_DIR$\Debug\Obj\sockets.r82 - $PROJ_DIR$\Debug\Obj\tcp.r82 - $PROJ_DIR$\Debug\Obj\tcp_in.r82 - $PROJ_DIR$\Debug\Obj\tcp_out.r82 - $PROJ_DIR$\Debug\Obj\stats.r82 - $PROJ_DIR$\Debug\Obj\tcpip.r82 - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\exception.s82 - $PROJ_DIR$\..\..\..\..\Source\queue.c - $PROJ_DIR$\..\..\NETWORK\BasicTFTP\BasicTFTP.c - $PROJ_DIR$\Debug\Obj\tcp_out.pbi - $PROJ_DIR$\Debug\Obj\queue.r82 - $PROJ_DIR$\..\..\SERIAL\serial.c - $PROJ_DIR$\Debug\Obj\flash.pbi - $PROJ_DIR$\Debug\Obj\memp.pbi - $PROJ_DIR$\Debug\Exe\lwipdemo.d82 - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\memp.c - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\tcp_in.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\ip.c - $PROJ_DIR$\Debug\Obj\sys.pbi - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\raw.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\inet.c - $PROJ_DIR$\..\..\..\..\Source\list.c - $PROJ_DIR$\Debug\Obj\BasicTFTP.pbi - $PROJ_DIR$\Debug\Obj\BasicWEB.pbi - $PROJ_DIR$\Debug\Obj\macb.r82 - $PROJ_DIR$\Debug\Obj\intc.r82 - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - $PROJ_DIR$\..\..\DRIVERS\MACB\macb.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\tcp.c - $PROJ_DIR$\..\..\NETWORK\ethernet.c - $PROJ_DIR$\..\..\DRIVERS\FLASHC\flashc.c - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\ethernetif.c - $PROJ_DIR$\..\..\NETWORK\BasicWEB\BasicWEB.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\tcpip.c - $PROJ_DIR$\Debug\Obj\read.r82 - $PROJ_DIR$\..\..\FreeRTOSConfig.h - $PROJ_DIR$\Debug\Obj\gpio.r82 - $PROJ_DIR$\..\..\PARTEST\ParTest.c - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - $PROJ_DIR$\Debug\Obj\led.r82 - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\pbuf.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\stats.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\mem.c - $PROJ_DIR$\..\..\main.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\netif.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\ipv4\lwip\ip_addr.h - $PROJ_DIR$\Debug\Obj\BasicSMTP.pbi - $PROJ_DIR$\Debug\Obj\tcpip.pbi - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\stats.h - $PROJ_DIR$\Debug\Obj\mem.pbi - $PROJ_DIR$\Debug\Obj\ethernet.pbi - $PROJ_DIR$\Debug\Obj\ip.r82 - $PROJ_DIR$\Debug\Obj\list.pbi - $PROJ_DIR$\Debug\Obj\usart.pbi - $PROJ_DIR$\Debug\Obj\macb.pbi - $PROJ_DIR$\Debug\Obj\pm.pbi - $PROJ_DIR$\Debug\Obj\flashc.pbi - $PROJ_DIR$\Debug\Obj\read.pbi - $PROJ_DIR$\Debug\Obj\trampoline.r82 - $PROJ_DIR$\Debug\Obj\err.pbi - $PROJ_DIR$\Debug\Obj\tc.pbi - $PROJ_DIR$\Debug\Obj\led.pbi - $PROJ_DIR$\Debug\Obj\exception.r82 - $PROJ_DIR$\Debug\Obj\serial.r82 - $PROJ_DIR$\Debug\Obj\ParTest.r82 - $PROJ_DIR$\Debug\Obj\main.r82 - $PROJ_DIR$\Debug\Obj\ethernet.r82 - $PROJ_DIR$\Debug\Obj\BasicWEB.r82 - $PROJ_DIR$\Debug\Obj\BasicTFTP.r82 - $PROJ_DIR$\Debug\Obj\BasicSMTP.r82 - $PROJ_DIR$\Debug\Obj\heap_3.pbi - $PROJ_DIR$\..\..\..\..\Source\include\task.h - $PROJ_DIR$\Debug\Obj\flash.r82 - $PROJ_DIR$\Debug\Obj\tcp.pbi - $PROJ_DIR$\Debug\Obj\sockets.pbi - $PROJ_DIR$\Debug\Obj\pbuf.pbi - $PROJ_DIR$\Debug\Obj\raw.pbi - $PROJ_DIR$\Debug\Obj\ip.pbi - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\lwip\opt.h - $PROJ_DIR$\Debug\Obj\queue.pbi - $PROJ_DIR$\Debug\Obj\intc.pbi - $PROJ_DIR$\Debug\Obj\write.pbi - $PROJ_DIR$\Debug\Obj\tasks.pbi - $PROJ_DIR$\Debug\Obj\port.pbi - $PROJ_DIR$\Debug\Obj\udp.r82 - $PROJ_DIR$\..\..\..\..\Source\tasks.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\icmp.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\api_msg.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - $PROJ_DIR$\..\..\SERVICES\USB\CLASS\DFU\EXAMPLES\ISP\BOOT\trampoline.s82 - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\sockets.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\sys.c - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\netif\etharp.c - $PROJ_DIR$\Debug\Obj\gpio.pbi - $PROJ_DIR$\Debug\Obj\ip_frag.r82 - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\tcp_out.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\api_lib.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\udp.c - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - $PROJ_DIR$\..\..\NETWORK\BasicSMTP\BasicSMTP.c - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\sys_arch.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\err.c - $PROJ_DIR$\Debug\Obj\api_lib.pbi - $PROJ_DIR$\Debug\Obj\raw.r82 - $PROJ_DIR$\Debug\Obj\sys_arch.pbi - $PROJ_DIR$\Debug\Obj\icmp.pbi - $PROJ_DIR$\Debug\Obj\tasks.r82 - $PROJ_DIR$\Debug\Obj\serial.pbi - $PROJ_DIR$\Debug\Obj\inet.pbi - $PROJ_DIR$\Debug\Obj\api_lib.r82 - $PROJ_DIR$\Debug\Obj\ip_frag.pbi - $PROJ_DIR$\Debug\Obj\netif.pbi - $PROJ_DIR$\Debug\Obj\ip_addr.pbi - $PROJ_DIR$\Debug\Obj\udp.pbi - $PROJ_DIR$\Debug\Obj\stats.pbi - $PROJ_DIR$\Debug\Obj\ethernetif.pbi - $PROJ_DIR$\Debug\Obj\mem.r82 - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\netif\loopif.h - $PROJ_DIR$\Debug\Obj\icmp.r82 - $PROJ_DIR$\Debug\Obj\ethernetif.r82 - $PROJ_DIR$\Debug\Obj\ip_addr.r82 - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\Debug\Obj\ParTest.pbi - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\sys.h - $PROJ_DIR$\Debug\Obj\list.r82 - $PROJ_DIR$\..\..\UTILS\PREPROCESSOR\tpaste.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\ipv4\lwip\ip.h - $PROJ_DIR$\Debug\Obj\usart.r82 - $PROJ_DIR$\Debug\Obj\heap_3.r82 - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\netif\etharp.h - $PROJ_DIR$\Debug\Obj\port.r82 - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\api.h - $PROJ_DIR$\Debug\Obj\pm.r82 - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.h - $PROJ_DIR$\..\..\NETWORK\BasicWEB\BasicWEB.h - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\IAR\errno.h - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\include\lwip\sockets.h - - - [ROOT_NODE] - - - XLINK - 93 - - - - - $PROJ_DIR$\Debug\Obj\lwipdemo.pbd - - - BILINK - 132 107 108 210 190 6 145 76 136 203 91 142 180 156 193 196 166 163 200 198 147 138 140 0 135 92 199 161 141 169 165 162 143 195 160 202 103 192 168 146 159 1 88 133 201 139 167 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\exception.s82 - - - AAVR32 - 148 - - - - - $PROJ_DIR$\..\..\..\..\Source\queue.c - - - ICCAVR32 - 89 - - - BICOMP - 165 - - - - - BICOMP - 13 65 61 31 33 47 45 62 52 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 43 - - - - - $PROJ_DIR$\..\..\NETWORK\BasicTFTP\BasicTFTP.c - - - ICCAVR32 - 154 - - - BICOMP - 107 - - - - - BICOMP - 52 65 61 31 33 47 45 62 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 8 35 219 164 24 71 40 49 29 26 211 34 9 64 214 56 53 131 37 12 58 54 39 4 44 5 7 23 22 134 205 224 - - - - - $PROJ_DIR$\..\..\SERIAL\serial.c - - - ICCAVR32 - 149 - - - BICOMP - 195 - - - - - BICOMP - 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 9 157 73 36 57 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\ip_addr.c - - - ICCAVR32 - 208 - - - BICOMP - 200 - - - - - BICOMP - 131 56 49 29 58 164 24 71 40 26 5 37 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\memp.c - - - ICCAVR32 - 72 - - - BICOMP - 92 - - - - - BICOMP - 164 24 71 40 49 29 22 26 54 56 58 131 214 53 37 12 39 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 4 44 5 219 23 7 134 - - - - - $PROJ_DIR$\..\..\DRIVERS\USART\usart.c - - - ICCAVR32 - 215 - - - BICOMP - 139 - - - - - BICOMP - 19 16 18 17 27 213 30 10 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\MemMang\heap_3.c - - - ICCAVR32 - 216 - - - BICOMP - 156 - - - - - BICOMP - 13 65 61 31 33 47 45 62 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\write.c - - - ICCAVR32 - 63 - - - BICOMP - 167 - - - - - BICOMP - 66 62 65 61 31 33 47 45 16 19 18 17 27 213 30 10 - - - - - $PROJ_DIR$\..\..\DRIVERS\GPIO\gpio.c - - - ICCAVR32 - 122 - - - BICOMP - 180 - - - - - BICOMP - 57 16 - - - - - $PROJ_DIR$\..\..\BOARDS\EVK1100\led.c - - - ICCAVR32 - 125 - - - BICOMP - 147 - - - - - BICOMP - 16 27 213 30 10 18 17 60 46 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\tcp_in.c - - - ICCAVR32 - 81 - - - BICOMP - 1 - - - - - BICOMP - 53 49 29 164 24 71 40 131 56 5 37 58 26 4 22 39 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 214 44 134 41 55 54 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\ip.c - - - ICCAVR32 - 137 - - - BICOMP - 163 - - - - - BICOMP - 164 24 71 40 49 29 53 4 56 214 26 131 37 14 5 58 44 12 54 39 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 134 22 41 55 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\raw.c - - - ICCAVR32 - 191 - - - BICOMP - 162 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 53 22 58 56 26 131 5 37 12 214 134 4 41 55 54 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\inet.c - - - ICCAVR32 - 70 - - - BICOMP - 196 - - - - - BICOMP - 164 24 71 40 49 29 56 53 58 26 131 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 - - - - - $PROJ_DIR$\..\..\..\..\Source\list.c - - - ICCAVR32 - 212 - - - BICOMP - 138 - - - - - BICOMP - 13 65 61 31 33 47 45 62 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 73 - - - - - $PROJ_DIR$\..\..\DRIVERS\PM\pm.c - - - ICCAVR32 - 220 - - - BICOMP - 141 - - - - - BICOMP - 11 16 18 17 27 213 30 10 - - - - - $PROJ_DIR$\..\..\DRIVERS\INTC\intc.c - - - ICCAVR32 - 110 - - - BICOMP - 166 - - - - - BICOMP - 16 18 17 27 213 30 10 221 - - - - - $PROJ_DIR$\..\..\DRIVERS\MACB\macb.c - - - ICCAVR32 - 109 - - - BICOMP - 140 - - - - - BICOMP - 20 65 61 31 33 47 45 62 52 16 15 209 38 121 48 60 18 17 27 213 30 10 25 3 221 157 73 64 9 21 34 71 57 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\tcp.c - - - ICCAVR32 - 80 - - - BICOMP - 159 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 53 4 56 22 55 5 37 131 58 26 54 214 39 211 34 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 44 - - - - - $PROJ_DIR$\..\..\NETWORK\ethernet.c - - - ICCAVR32 - 152 - - - BICOMP - 136 - - - - - BICOMP - 52 65 61 31 33 47 45 62 71 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 8 36 42 21 34 9 64 57 222 35 211 49 29 164 24 40 219 26 214 56 53 131 37 12 58 54 39 4 44 5 7 23 22 134 205 - - - - - $PROJ_DIR$\..\..\DRIVERS\FLASHC\flashc.c - - - ICCAVR32 - 32 - - - BICOMP - 142 - - - - - BICOMP - 16 209 65 61 31 33 47 45 62 18 17 27 213 30 10 50 - - - - - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\ethernetif.c - - - ICCAVR32 - 207 - - - BICOMP - 203 - - - - - BICOMP - 164 24 71 40 49 29 53 4 56 26 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 134 22 217 131 5 37 58 214 21 - - - - - $PROJ_DIR$\..\..\NETWORK\BasicWEB\BasicWEB.c - - - ICCAVR32 - 153 - - - BICOMP - 108 - - - - - BICOMP - 20 65 61 31 33 47 45 62 52 71 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 64 9 8 36 219 164 24 40 49 29 26 211 34 214 56 53 131 37 12 58 54 39 4 44 5 7 23 22 134 205 42 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\tcpip.c - - - ICCAVR32 - 84 - - - BICOMP - 133 - - - - - BICOMP - 164 24 71 40 49 29 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 22 26 214 56 53 131 37 14 5 58 54 39 4 44 7 23 219 12 - - - - - $PROJ_DIR$\..\..\PARTEST\ParTest.c - - - ICCAVR32 - 150 - - - BICOMP - 210 - - - - - BICOMP - 16 15 209 65 61 31 33 47 45 62 38 121 48 60 18 17 27 213 30 10 25 3 221 157 73 8 - - - - - $PROJ_DIR$\..\..\DRIVERS\TC\tc.c - - - ICCAVR32 - 51 - - - BICOMP - 146 - - - - - BICOMP - 16 18 17 27 213 30 10 28 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\pbuf.c - - - ICCAVR32 - 75 - - - BICOMP - 161 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 134 4 56 22 53 26 211 34 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 41 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\stats.c - - - ICCAVR32 - 83 - - - BICOMP - 202 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 53 134 4 56 22 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\mem.c - - - ICCAVR32 - 204 - - - BICOMP - 135 - - - - - BICOMP - 52 65 61 31 33 47 45 62 56 49 29 164 24 71 40 53 4 211 34 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 134 22 - - - - - $PROJ_DIR$\..\..\main.c - - - ICCAVR32 - 151 - - - BICOMP - 0 - - - - - BICOMP - 13 65 61 31 33 47 45 62 52 11 16 18 17 27 213 30 10 50 209 15 38 121 48 60 25 3 221 157 73 8 36 42 217 26 49 29 131 56 5 164 24 71 40 37 58 214 53 59 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\netif.c - - - ICCAVR32 - 2 - - - BICOMP - 199 - - - - - BICOMP - 164 24 71 40 49 29 53 131 56 5 37 58 26 39 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 4 214 44 55 54 - - - - - $PROJ_DIR$\..\..\..\..\Source\tasks.c - - - ICCAVR32 - 194 - - - BICOMP - 168 - - - - - BICOMP - 20 65 61 31 33 47 45 62 13 52 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\icmp.c - - - ICCAVR32 - 206 - - - BICOMP - 193 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 44 56 26 131 5 37 58 214 53 134 4 22 55 54 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\api_msg.c - - - ICCAVR32 - 69 - - - BICOMP - 6 - - - - - BICOMP - 164 24 71 40 49 29 56 23 26 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 214 53 131 37 54 58 39 4 44 5 219 12 22 7 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\read.c - - - ICCAVR32 - 120 - - - BICOMP - 143 - - - - - BICOMP - 66 62 65 61 31 33 47 45 16 19 18 17 27 213 30 10 - - - - - $PROJ_DIR$\..\..\SERVICES\USB\CLASS\DFU\EXAMPLES\ISP\BOOT\trampoline.s82 - - - AAVR32 - 144 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\sockets.c - - - ICCAVR32 - 79 - - - BICOMP - 160 - - - - - BICOMP - 52 65 61 31 33 47 45 62 223 164 24 71 40 49 29 219 26 211 34 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 214 56 53 131 37 12 58 54 39 4 44 5 224 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\sys.c - - - ICCAVR32 - 74 - - - BICOMP - 103 - - - - - BICOMP - 211 49 29 164 24 71 40 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 53 22 - - - - - $PROJ_DIR$\..\..\..\Common\Minimal\flash.c - - - ICCAVR32 - 158 - - - BICOMP - 91 - - - - - BICOMP - 13 65 61 31 33 47 45 62 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 8 59 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\netif\etharp.c - - - ICCAVR32 - 77 - - - BICOMP - 76 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 58 56 26 131 217 5 37 214 53 134 4 22 55 54 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\tcp_out.c - - - ICCAVR32 - 82 - - - BICOMP - 88 - - - - - BICOMP - 52 65 61 31 33 47 45 62 53 49 29 164 24 71 40 4 56 22 211 34 15 209 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 131 5 37 58 26 39 214 44 134 55 54 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\api_lib.c - - - ICCAVR32 - 197 - - - BICOMP - 190 - - - - - BICOMP - 164 24 71 40 49 29 219 26 211 34 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 9 64 214 56 53 131 37 12 58 54 39 4 44 5 23 22 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\udp.c - - - ICCAVR32 - 170 - - - BICOMP - 201 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 53 22 58 56 26 131 5 37 54 214 44 134 4 41 55 - - - - - $PROJ_DIR$\..\..\..\..\Source\portable\IAR\AVR32_UC3\port.c - - - ICCAVR32 - 218 - - - BICOMP - 169 - - - - - BICOMP - 15 209 65 61 31 33 47 45 62 38 121 48 16 60 18 17 27 213 30 10 25 3 221 157 73 57 28 - - - - - $PROJ_DIR$\..\..\NETWORK\BasicSMTP\BasicSMTP.c - - - ICCAVR32 - 155 - - - BICOMP - 132 - - - - - $PROJ_DIR$\..\..\NETWORK\lwip-port\AT32UC3A\sys_arch.c - - - ICCAVR32 - 78 - - - BICOMP - 192 - - - - - BICOMP - 71 222 3 16 221 18 17 27 213 30 10 35 40 49 29 53 211 164 24 34 15 209 65 61 31 33 47 45 62 38 121 48 60 25 157 73 9 64 4 56 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\core\ipv4\ip_frag.c - - - ICCAVR32 - 181 - - - BICOMP - 198 - - - - - BICOMP - 52 65 61 31 33 47 45 62 164 24 71 40 49 29 214 56 53 26 131 37 14 5 58 55 54 134 4 22 - - - - - $PROJ_DIR$\..\..\..\Common\ethernet\lwIP\api\err.c - - - ICCAVR32 - 68 - - - BICOMP - 145 - - - - - BICOMP - 37 164 24 71 40 49 29 - - - - - [MULTI_TOOL] - XLINK - - - - - diff --git a/Demo/lwIP_Demo_Rowley_ARM7/rtosdemo.hzs b/Demo/lwIP_Demo_Rowley_ARM7/rtosdemo.hzs index c6f7b80c2..b663f77b7 100644 --- a/Demo/lwIP_Demo_Rowley_ARM7/rtosdemo.hzs +++ b/Demo/lwIP_Demo_Rowley_ARM7/rtosdemo.hzs @@ -5,21 +5,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + @@ -34,22 +34,27 @@ + + + + + - + - + - + - + @@ -57,10 +62,10 @@ + + - - diff --git a/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h b/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h index 750913249..a059f90e7 100644 --- a/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h +++ b/Demo/uIP_Demo_IAR_ARM7/FreeRTOSConfig.h @@ -37,7 +37,7 @@ #ifndef FREERTOS_CONFIG_H #define FREERTOS_CONFIG_H -#include +#include #include "Board.h" /*----------------------------------------------------------- diff --git a/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s b/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s new file mode 100644 index 000000000..12842e137 --- /dev/null +++ b/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup.s @@ -0,0 +1,302 @@ +;* ---------------------------------------------------------------------------- +;* ATMEL Microcontroller Software Support - ROUSSET - +;* ---------------------------------------------------------------------------- +;* Copyright (c) 2006, Atmel Corporation +; +;* All rights reserved. +;* +;* Redistribution and use in source and binary forms, with or without +;* modification, are permitted provided that the following conditions are met: +;* +;* - Redistributions of source code must retain the above copyright notice, +;* this list of conditions and the disclaimer below. +;* +;* - Redistributions in binary form must reproduce the above copyright notice, +;* this list of conditions and the disclaimer below in the documentation and/or +;* other materials provided with the distribution. +;* +;* Atmel's name may not be used to endorse or promote products derived from +;* this software without specific prior written permission. +;* +;* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR +;* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +;* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE +;* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, +;* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +;* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +;* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +;* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +;* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +;* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +;* ---------------------------------------------------------------------------- + +;------------------------------------------------------------------------------ +; Include your AT91 Library files +;------------------------------------------------------------------------------ +#include "AT91SAM7X256_inc.h" +;------------------------------------------------------------------------------ + +#define TOP_OF_MEMORY (AT91C_ISRAM + AT91C_ISRAM_SIZE) +#define IRQ_STACK_SIZE 200 + ; 3 words to be saved per interrupt priority level + +; Mode, correspords to bits 0-5 in CPSR +MODE_BITS DEFINE 0x1F ; Bit mask for mode bits in CPSR +USR_MODE DEFINE 0x10 ; User mode +FIQ_MODE DEFINE 0x11 ; Fast Interrupt Request mode +IRQ_MODE DEFINE 0x12 ; Interrupt Request mode +SVC_MODE DEFINE 0x13 ; Supervisor mode +ABT_MODE DEFINE 0x17 ; Abort mode +UND_MODE DEFINE 0x1B ; Undefined Instruction mode +SYS_MODE DEFINE 0x1F ; System mode + +I_BIT DEFINE 0x80 +F_BIT DEFINE 0x40 + +;------------------------------------------------------------------------------ +; ?RESET +; Reset Vector. +; Normally, segment INTVEC is linked at address 0. +; For debugging purposes, INTVEC may be placed at other addresses. +; A debugger that honors the entry point will start the +; program in a normal way even if INTVEC is not at address 0. +;------------------------------------------------------------------------------ + SECTION .intvec:CODE:NOROOT(2) + PUBLIC __vector + PUBLIC __iar_program_start + EXTERN vPortYieldProcessor + + ARM +__vector: + ldr pc,[pc,#+24] ;; Reset +__und_handler: + ldr pc,[pc,#+24] ;; Undefined instructions +__swi_handler: + ldr pc,[pc,#+24] ;; Software interrupt (SWI/SVC) +__prefetch_handler: + ldr pc,[pc,#+24] ;; Prefetch abort +__data_handler: + ldr pc,[pc,#+24] ;; Data abort + DC32 0xFFFFFFFF ;; RESERVED +__irq_handler: + LDR PC, [PC, #-0xF20] +__fiq_handler: + ldr pc,[pc,#+24] ;; FIQ + + DC32 __iar_program_start + DC32 __und_handler + DC32 vPortYieldProcessor + DC32 __prefetch_handler + DC32 __data_handler + B . + DC32 IRQ_Handler_Entry + DC32 FIQ_Handler_Entry + +;------------------------------------------------------------------------------ +;- Manage exception: The exception must be ensure in ARM mode +;------------------------------------------------------------------------------ + SECTION text:CODE:NOROOT(2) + ARM +;------------------------------------------------------------------------------ +;- Function : FIQ_Handler_Entry +;- Treatments : FIQ Controller Interrupt Handler. +;- R8 is initialize in Cstartup +;- Called Functions : None only by FIQ +;------------------------------------------------------------------------------ +FIQ_Handler_Entry: + +;- Switch in SVC/User Mode to allow User Stack access for C code +; because the FIQ is not yet acknowledged + +;- Save and r0 in FIQ_Register + mov r9,r0 + ldr r0 , [r8, #AIC_FVR] + msr CPSR_c,#I_BIT | F_BIT | SVC_MODE +;- Save scratch/used registers and LR in User Stack + stmfd sp!, { r1-r3, r12, lr} + +;- Branch to the routine pointed by the AIC_FVR + mov r14, pc + bx r0 + +;- Restore scratch/used registers and LR from User Stack + ldmia sp!, { r1-r3, r12, lr} + +;- Leave Interrupts disabled and switch back in FIQ mode + msr CPSR_c, #I_BIT | F_BIT | FIQ_MODE + +;- Restore the R0 ARM_MODE_SVC register + mov r0,r9 + +;- Restore the Program Counter using the LR_fiq directly in the PC + subs pc,lr,#4 +;------------------------------------------------------------------------------ +;- Function : IRQ_Handler_Entry +;- Treatments : IRQ Controller Interrupt Handler. +;- Called Functions : AIC_IVR[interrupt] +;------------------------------------------------------------------------------ +IRQ_Handler_Entry: +;------------------------- +;- Manage Exception Entry +;------------------------- +;- Adjust and save LR_irq in IRQ stack + sub lr, lr, #4 + stmfd sp!, {lr} + +;- Save r0 and SPSR (need to be saved for nested interrupt) + mrs r14, SPSR + stmfd sp!, {r0,r14} + +;- Write in the IVR to support Protect Mode +;- No effect in Normal Mode +;- De-assert the NIRQ and clear the source in Protect Mode + ldr r14, =AT91C_BASE_AIC + ldr r0 , [r14, #AIC_IVR] + str r14, [r14, #AIC_IVR] + +;- Enable Interrupt and Switch in Supervisor Mode + msr CPSR_c, #SVC_MODE + +;- Save scratch/used registers and LR in User Stack + stmfd sp!, { r1-r3, r12, r14} + +;---------------------------------------------- +;- Branch to the routine pointed by the AIC_IVR +;---------------------------------------------- + mov r14, pc + bx r0 + +;---------------------------------------------- +;- Manage Exception Exit +;---------------------------------------------- +;- Restore scratch/used registers and LR from User Stack + ldmia sp!, { r1-r3, r12, r14} + +;- Disable Interrupt and switch back in IRQ mode + msr CPSR_c, #I_BIT | IRQ_MODE + +;- Mark the End of Interrupt on the AIC + ldr r14, =AT91C_BASE_AIC + str r14, [r14, #AIC_EOICR] + +;- Restore SPSR_irq and r0 from IRQ stack + ldmia sp!, {r0,r14} + msr SPSR_cxsf, r14 + +;- Restore adjusted LR_irq from IRQ stack directly in the PC + ldmia sp!, {pc}^ + +;------------------------------------------------------------------------------ +;- Exception Vectors +;------------------------------------------------------------------------------ + PUBLIC AT91F_Default_FIQ_handler + PUBLIC AT91F_Default_IRQ_handler + PUBLIC AT91F_Spurious_handler + + ARM ; Always ARM mode after exeption + +AT91F_Default_FIQ_handler + b AT91F_Default_FIQ_handler + +AT91F_Default_IRQ_handler + b AT91F_Default_IRQ_handler + +AT91F_Spurious_handler + b AT91F_Spurious_handler + + +;------------------------------------------------------------------------------ +; ?INIT +; Program entry. +;------------------------------------------------------------------------------ + + SECTION FIQ_STACK:DATA:NOROOT(3) + SECTION IRQ_STACK:DATA:NOROOT(3) + SECTION SVC_STACK:DATA:NOROOT(3) + SECTION ABT_STACK:DATA:NOROOT(3) + SECTION UND_STACK:DATA:NOROOT(3) + SECTION CSTACK:DATA:NOROOT(3) + SECTION text:CODE:NOROOT(2) + REQUIRE __vector + EXTERN ?main + PUBLIC __iar_program_start + EXTERN AT91F_LowLevelInit + + +__iar_program_start: + +;------------------------------------------------------------------------------ +;- Low level Init is performed in a C function: AT91F_LowLevelInit +;- Init Stack Pointer to a valid memory area before calling AT91F_LowLevelInit +;------------------------------------------------------------------------------ + +;- Retrieve end of RAM address + + ldr r13,=TOP_OF_MEMORY ;- Temporary stack in internal RAM for Low Level Init execution + ldr r0,=AT91F_LowLevelInit + mov lr, pc + bx r0 ;- Branch on C function (with interworking) + +; Initialize the stack pointers. +; The pattern below can be used for any of the exception stacks: +; FIQ, IRQ, SVC, ABT, UND, SYS. +; The USR mode uses the same stack as SYS. +; The stack segments must be defined in the linker command file, +; and be declared above. + + mrs r0,cpsr ; Original PSR value + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#SVC_MODE ; Set SVC mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(SVC_STACK) ; End of SVC_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#UND_MODE ; Set UND mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(UND_STACK) ; End of UND_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#ABT_MODE ; Set ABT mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(ABT_STACK) ; End of ABT_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#FIQ_MODE ; Set FIQ mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(FIQ_STACK) ; End of FIQ_STACK + ;- Init the FIQ register + ldr r8, =AT91C_BASE_AIC + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#IRQ_MODE ; Set IRQ mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(IRQ_STACK) ; End of IRQ_STACK + + bic r0,r0,#MODE_BITS ; Clear the mode bits + orr r0,r0,#SYS_MODE ; Set System mode bits + msr cpsr_c,r0 ; Change the mode + ldr sp,=SFE(CSTACK) ; End of CSTACK + + +#ifdef __ARMVFP__ +; Enable the VFP coprocessor. + mov r0, #0x40000000 ; Set EN bit in VFP + fmxr fpexc, r0 ; FPEXC, clear others. + +; Disable underflow exceptions by setting flush to zero mode. +; For full IEEE 754 underflow compliance this code should be removed +; and the appropriate exception handler installed. + mov r0, #0x01000000 ; Set FZ bit in VFP + fmxr fpscr, r0 ; FPSCR, clear others. +#endif + +; Add more initialization here + msr CPSR_c,#I_BIT | F_BIT | SVC_MODE + + +; Continue to ?main for more IAR specific system startup + + ldr r0,=?main + bx r0 + + END ;- Terminates the assembly of the last module in a file diff --git a/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c b/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c index a7d50f692..0b48391b3 100644 --- a/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c +++ b/Demo/uIP_Demo_IAR_ARM7/SrcIAR/Cstartup_SAM7.c @@ -1,94 +1,97 @@ -//*---------------------------------------------------------------------------- -//* ATMEL Microcontroller Software Support - ROUSSET - -//*---------------------------------------------------------------------------- -//* The software is delivered "AS IS" without warranty or condition of any -//* kind, either express, implied or statutory. This includes without -//* limitation any warranty or condition with respect to merchantability or -//* fitness for any particular purpose, or against the infringements of -//* intellectual property rights of others. -//*---------------------------------------------------------------------------- -//* File Name : Cstartup_SAM7.c -//* Object : Low level initializations written in C for IAR -//* tools -//* 1.0 08/Sep/04 JPP : Creation -//* 1.10 10/Sep/04 JPP : Update AT91C_CKGR_PLLCOUNT filed -//*---------------------------------------------------------------------------- +//----------------------------------------------------------------------------- +// ATMEL Microcontroller Software Support - ROUSSET - +//----------------------------------------------------------------------------- +// DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR +// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE +// DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, +// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +// OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +// EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +//----------------------------------------------------------------------------- +// File Name : Cstartup_SAM7.c +// Object : Low level initialisations written in C for Tools +// For AT91SAM7X256 with 2 flash plane +// Creation : JPP 14-Sep-2006 +//----------------------------------------------------------------------------- -// Include the board file description #include "Board.h" -//#include "init.h" -#include - -// The following functions must be write in ARM mode this function called directly -// by exception vector +// The following functions must be write in ARM mode this function called +// directly by exception vector extern void AT91F_Spurious_handler(void); extern void AT91F_Default_IRQ_handler(void); extern void AT91F_Default_FIQ_handler(void); - //*---------------------------------------------------------------------------- //* \fn AT91F_LowLevelInit //* \brief This function performs very low level HW initialization -//* this function can be use a Stack, depending the compilation +//* this function can use a Stack, depending the compilation //* optimization mode //*---------------------------------------------------------------------------- -void AT91F_LowLevelInit( void); -void AT91F_LowLevelInit( void ) @ "ICODE" +void AT91F_LowLevelInit(void) @ "ICODE" { - int i; - AT91PS_PMC pPMC = AT91C_BASE_PMC; + unsigned char i; + /////////////////////////////////////////////////////////////////////////// + // EFC Init + /////////////////////////////////////////////////////////////////////////// + AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS ; - //* Set Flash Waite sate - // Single Cycle Access at Up to 30 MHz, or 40 - // if MCK = 47923200 I have 50 Cycle for 1 useconde ( flied MC_FMR->FMCN - AT91C_BASE_MC->MC_FMR = ((AT91C_MC_FMCN)&(75 <<16)) | AT91C_MC_FWS_1FWS ; + /////////////////////////////////////////////////////////////////////////// + // Init PMC Step 1. Enable Main Oscillator + // Main Oscillator startup time is board specific: + // Main Oscillator Startup Time worst case (3MHz) corresponds to 15ms + // (0x40 for AT91C_CKGR_OSCOUNT field) + /////////////////////////////////////////////////////////////////////////// + AT91C_BASE_PMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x40 <<8) | AT91C_CKGR_MOSCEN )); + // Wait Main Oscillator stabilization + while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS)); - //* Watchdog Disable - AT91C_BASE_WDTC->WDTC_WDMR= AT91C_WDTC_WDDIS; + /////////////////////////////////////////////////////////////////////////// + // Init PMC Step 2. + // Set PLL to 96MHz (96,109MHz) and UDP Clock to 48MHz + // PLL Startup time depends on PLL RC filter: worst case is choosen + // UDP Clock (48,058MHz) is compliant with the Universal Serial Bus + // Specification (+/- 0.25% for full speed) + /////////////////////////////////////////////////////////////////////////// + AT91C_BASE_PMC->PMC_PLLR = AT91C_CKGR_USBDIV_1 | + (16 << 8) | + (AT91C_CKGR_MUL & (72 << 16)) | + (AT91C_CKGR_DIV & 14); + // Wait for PLL stabilization + while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCK) ); + // Wait until the master clock is established for the case we already + // turn on the PLL + while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) ); - - // If we are running off a j-link then the PLL will have already been setup. - if( !( pPMC->PMC_MCKR & AT91C_PMC_CSS_PLL_CLK ) ) - { - //* Set MCK at 47 923 200 - // 1 Enabling the Main Oscillator: - // SCK = 1/32768 = 30.51 uSeconde - // Start up time = 8 * 6 / SCK = 56 * 30.51 = 1,46484375 ms - pPMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x06 <<8) | AT91C_CKGR_MOSCEN )); - // Wait the startup time - while(!(pPMC->PMC_SR & AT91C_PMC_MOSCS)); - // 2 Checking the Main Oscillator Frequency (Optional) - // 3 Setting PLL and divider: - // - div by 5 Fin = 3,6864 =(18,432 / 5) - // - Mul 25+1: Fout = 95,8464 =(3,6864 *26) - // for 96 MHz the erroe is 0.16% - //eld out NOT USED = 0 Fi - pPMC->PMC_PLLR = ((AT91C_CKGR_DIV & 5) | - (AT91C_CKGR_PLLCOUNT & (28<<8)) | - (AT91C_CKGR_MUL & (25<<16))); + /////////////////////////////////////////////////////////////////////////// + // Init PMC Step 3. + // Selection of Master Clock MCK equal to (Processor Clock PCK) PLL/2=48MHz + // The PMC_MCKR register must not be programmed in a single write operation + // (see. Product Errata Sheet) + /////////////////////////////////////////////////////////////////////////// + AT91C_BASE_PMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2; + // Wait until the master clock is established + while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) ); - // Wait the startup time - while(!(pPMC->PMC_SR & AT91C_PMC_LOCK)); - // 4. Selection of Master Clock and Processor Clock - // select the PLL clock divided by 2 + AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK; + // Wait until the master clock is established + while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) ); - pPMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2 ; - while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY)); + /////////////////////////////////////////////////////////////////////////// + // Disable Watchdog (write once register) + /////////////////////////////////////////////////////////////////////////// + AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS; - - pPMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK ; - while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY)); - } - - // Set up the default interrupts handler vectors - AT91C_BASE_AIC->AIC_SVR[0] = (int) AT91F_Default_FIQ_handler ; - for (i=1;i < 31; i++) - { - AT91C_BASE_AIC->AIC_SVR[i] = (int) AT91F_Default_IRQ_handler ; - } - AT91C_BASE_AIC->AIC_SPU = (int) AT91F_Spurious_handler ; + /////////////////////////////////////////////////////////////////////////// + // Init AIC: assign corresponding handler for each interrupt source + /////////////////////////////////////////////////////////////////////////// + AT91C_BASE_AIC->AIC_SVR[0] = (int) AT91F_Default_FIQ_handler ; + for (i = 1; i < 31; i++) { + AT91C_BASE_AIC->AIC_SVR[i] = (int) AT91F_Default_IRQ_handler ; + } + AT91C_BASE_AIC->AIC_SPU = (unsigned int) AT91F_Spurious_handler; } - - - diff --git a/Demo/uIP_Demo_IAR_ARM7/rtosdemo.dep b/Demo/uIP_Demo_IAR_ARM7/rtosdemo.dep deleted file mode 100644 index 04b6ad8ff..000000000 --- a/Demo/uIP_Demo_IAR_ARM7/rtosdemo.dep +++ /dev/null @@ -1,1590 +0,0 @@ - - - - 2 - - Flash Debug - - $PROJ_DIR$\uip\uipopt.h - $PROJ_DIR$\uip\fsdata.h - $TOOLKIT_DIR$\inc\intrinsic.h - $PROJ_DIR$\Flash_Debug\Obj\uip_arp.r79 - $PROJ_DIR$\Flash_Debug\Obj\queue.r79 - $PROJ_DIR$\Flash_Debug\Obj\ParTest.r79 - $PROJ_DIR$\Flash_Debug\Obj\list.r79 - $PROJ_DIR$\Flash_Debug\Obj\PollQ.r79 - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\lib_AT91SAM7X256.h - $PROJ_DIR$\uip\uip.c - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\uip\cgi.c - $PROJ_DIR$\uip\fs.c - $PROJ_DIR$\uip\httpd.c - $PROJ_DIR$\Flash_Debug\Obj\death.r79 - $PROJ_DIR$\SrcIAR\Board.h - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - $PROJ_DIR$\SrcIAR\Cstartup.s79 - $PROJ_DIR$\uip\uip_arp.c - $PROJ_DIR$\uip\uip_arch.c - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\ISR_Support.h - $PROJ_DIR$\Flash_Debug\Obj\BlockQ.r79 - $PROJ_DIR$\Flash_Debug\Obj\heap_2.r79 - $PROJ_DIR$\SrcIAR\Emac.h - $PROJ_DIR$\Flash_Debug\Obj\httpd.r79 - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\AT91SAM7X256_inc.h - $PROJ_DIR$\EMAC\SAM7_EMAC.h - $PROJ_DIR$\Flash_Debug\Obj\main.pbi - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\AT91SAM7X256.h - $PROJ_DIR$\Flash_Debug\Obj\integer.r79 - $PROJ_DIR$\Flash_Debug\Obj\portasm.r79 - $PROJ_DIR$\uip\httpd.h - $PROJ_DIR$\Flash_Debug\Obj\SAM7_EMAC.r79 - $PROJ_DIR$\Flash_Debug\Obj\dynamic.r79 - $PROJ_DIR$\resource\at91SAM7X256_NoRemap.xcl - $PROJ_DIR$\..\Common\Minimal\death.c - $PROJ_DIR$\Flash_Debug\Obj\BlockQ.pbi - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\Flash_Debug\Obj\cgi.r79 - $PROJ_DIR$\Flash_Debug\Obj\integer.pbi - $PROJ_DIR$\Flash_Debug\Exe\rtosdemo.sim - $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\..\Common\include\death.h - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\Flash_Debug\Obj\main.r79 - $PROJ_DIR$\Flash_Debug\Obj\port.r79 - $PROJ_DIR$\Flash_Debug\Obj\flop.r79 - $PROJ_DIR$\Flash_Debug\Obj\Cstartup.r79 - $PROJ_DIR$\..\..\Source\include\croutine.h - $PROJ_DIR$\Flash_Debug\Obj\queue.pbi - $PROJ_DIR$\Flash_Debug\Obj\Cstartup_SAM7.pbi - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\AT91SAM7S64_inc.h - $PROJ_DIR$\Flash_Debug\Obj\flash.r79 - $PROJ_DIR$\..\Common\include\integer.h - $PROJ_DIR$\Flash_Debug\Obj\semtest.r79 - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\uip\tapdev.h - $PROJ_DIR$\Flash_Debug\Obj\list.pbi - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\uip\uip_arp.h - $PROJ_DIR$\uip\fs.h - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\..\..\Source\include\list.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\Flash_Debug\Obj\fs.r79 - $PROJ_DIR$\..\..\Source\include\task.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\portmacro.h - $PROJ_DIR$\Flash_Debug\Exe\rtosdemo.d79 - $PROJ_DIR$\Flash_Debug\Obj\dynamic.pbi - $TOOLKIT_DIR$\lib\dl4tptinl8n.h - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\uip\fsdata.c - $PROJ_DIR$\Flash_Debug\Obj\fs.pbi - $PROJ_DIR$\Flash_Debug\List\rtosdemo.map - $PROJ_DIR$\Flash_Debug\Obj\uIP_Task.r79 - $PROJ_DIR$\Flash_Debug\Obj\EMAClISR.r79 - $PROJ_DIR$\Flash_Debug\Obj\semtest.pbi - $PROJ_DIR$\uip\uip.h - $PROJ_DIR$\ParTest\ParTest.c - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\Flash_Debug\Obj\death.pbi - $PROJ_DIR$\uIP_Task.c - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\EMAC\SAM7_EMAC.c - $PROJ_DIR$\..\Common\include\flop.h - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\uip\cgi.h - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\uIP_Task.h - $PROJ_DIR$\Flash_Debug\Obj\uip_arch.r79 - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\FreeRTOSConfig.h - $PROJ_DIR$\Flash_Debug\Obj\rtosdemo.pbd - $PROJ_DIR$\Flash_Debug\Obj\heap_2.pbi - $PROJ_DIR$\Flash_Debug\Obj\port.pbi - $PROJ_DIR$\Flash_Debug\Obj\uip.pbi - $TOOLKIT_DIR$\inc\yvals.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\Flash_Debug\Obj\uip.r79 - $PROJ_DIR$\uip\uip_arch.h - $PROJ_DIR$\..\Common\include\dynamic.h - $PROJ_DIR$\Flash_Debug\Obj\uip_arch.pbi - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\port.c - $PROJ_DIR$\..\Common\Minimal\dynamic.c - $PROJ_DIR$\EMAC\EMAClISR.s79 - $PROJ_DIR$\..\Common\Minimal\flash.c - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\Flash_Debug\Obj\flop.pbi - $PROJ_DIR$\Flash_Debug\Obj\uIP_Task.pbi - $PROJ_DIR$\Flash_Debug\Obj\cgi.pbi - $PROJ_DIR$\Flash_Debug\Obj\tasks.r79 - $PROJ_DIR$\Flash_Debug\Obj\PollQ.pbi - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\portasm.s79 - $PROJ_DIR$\Flash_Debug\Obj\httpd.pbi - $TOOLKIT_DIR$\inc\intrinsics.h - $PROJ_DIR$\Flash_Debug\Obj\flash.pbi - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\Flash_Debug\Obj\uip_arp.pbi - $TOOLKIT_DIR$\lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\Flash_Debug\Obj\SAM7_EMAC.pbi - $PROJ_DIR$\..\Common\Minimal\flop.c - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\main.c - $PROJ_DIR$\Flash_Debug\Obj\tasks.pbi - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\Flash_Debug\Obj\ParTest.pbi - $PROJ_DIR$\SrcIAR\mii.h - $PROJ_DIR$\..\..\Source\include\queue.h - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - $PROJ_DIR$\uip\uip.c - - - ICCARM - 104 - - - BICOMP - 101 - - - - - ICCARM - 82 0 34 105 - - - BICOMP - 82 0 34 105 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 116 - - - BICOMP - 131 - - - - - ICCARM - 84 102 96 74 93 69 103 66 58 92 46 112 97 2 16 31 8 18 71 68 65 - - - BICOMP - 84 102 96 93 69 40 103 66 58 92 46 112 97 2 120 16 31 8 18 71 68 65 - - - - - $PROJ_DIR$\uip\cgi.c - - - ICCARM - 41 - - - BICOMP - 115 - - - - - ICCARM - 82 0 34 91 63 84 102 96 74 93 69 103 58 - - - BICOMP - 82 0 34 91 63 84 102 96 93 69 40 103 58 - - - - - $PROJ_DIR$\uip\fs.c - - - ICCARM - 67 - - - BICOMP - 77 - - - - - ICCARM - 82 0 34 63 1 76 - - - BICOMP - 82 0 34 63 1 76 - - - - - $PROJ_DIR$\uip\httpd.c - - - ICCARM - 27 - - - BICOMP - 119 - - - - - ICCARM - 82 0 34 63 1 91 - - - BICOMP - 82 0 34 63 1 91 - - - - - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - - - ICCARM - 44 - - - BICOMP - 53 - - - - - ICCARM - 16 31 8 58 102 96 74 93 69 103 - - - BICOMP - 16 31 8 58 102 96 93 69 40 103 - - - - - $PROJ_DIR$\SrcIAR\Cstartup.s79 - - - AARM - 50 - - - - - AARM - 28 - - - - - $PROJ_DIR$\uip\uip_arp.c - - - ICCARM - 3 - - - BICOMP - 123 - - - - - ICCARM - 62 82 0 34 58 102 96 74 93 69 103 - - - BICOMP - 62 82 0 34 58 102 96 93 69 40 103 - - - - - $PROJ_DIR$\uip\uip_arch.c - - - ICCARM - 95 - - - BICOMP - 107 - - - - - ICCARM - 82 0 34 105 - - - BICOMP - 82 0 34 105 - - - - - $PROJ_DIR$\..\Common\Minimal\death.c - - - ICCARM - 15 - - - BICOMP - 85 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 45 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 45 - - - - - $PROJ_DIR$\Flash_Debug\Exe\rtosdemo.d79 - - - XLINK - 78 43 - - - - - XLINK - 37 24 50 44 80 5 7 35 41 15 36 55 49 67 25 27 32 6 47 48 33 4 57 116 79 104 95 3 124 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 57 - - - BICOMP - 81 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 11 135 61 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 11 135 61 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 5 - - - BICOMP - 133 - - - - - ICCARM - 92 46 102 96 74 93 69 103 112 97 2 16 31 8 18 71 64 - - - BICOMP - 92 46 102 96 93 69 40 103 112 97 2 120 16 31 8 18 71 64 - - - - - $PROJ_DIR$\uIP_Task.c - - - ICCARM - 79 - - - BICOMP - 114 - - - - - ICCARM - 66 102 96 74 93 69 103 84 92 46 112 97 2 16 31 8 18 71 11 135 68 65 29 82 0 34 62 59 - - - BICOMP - 66 102 96 93 69 40 103 84 92 46 112 97 2 120 16 31 8 18 71 11 135 68 65 29 82 0 34 62 59 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 7 - - - BICOMP - 117 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 135 70 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 135 70 - - - - - $PROJ_DIR$\EMAC\SAM7_EMAC.c - - - ICCARM - 35 - - - BICOMP - 126 - - - - - ICCARM - 58 102 96 74 93 69 40 103 92 46 112 97 2 16 31 8 18 71 11 135 68 65 82 0 34 26 134 - - - BICOMP - 58 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 11 135 68 65 82 0 34 26 134 - - - - - $PROJ_DIR$\Flash_Debug\Obj\rtosdemo.pbd - - - BILINK - 39 53 133 117 126 115 85 73 121 113 77 99 119 42 60 30 100 52 81 131 114 101 107 123 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\port.c - - - ICCARM - 48 - - - BICOMP - 100 - - - - - ICCARM - 66 102 96 74 93 69 103 2 92 46 112 97 16 31 8 18 71 68 65 - - - BICOMP - 66 102 96 93 69 40 103 2 120 92 46 112 97 16 31 8 18 71 68 65 - - - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - ICCARM - 36 - - - BICOMP - 73 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 11 135 106 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 11 135 106 - - - - - $PROJ_DIR$\EMAC\EMAClISR.s79 - - - AARM - 80 - - - - - AARM - 23 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCARM - 55 - - - BICOMP - 121 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 64 90 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 64 90 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\portasm.s79 - - - AARM - 33 - - - - - AARM - 54 23 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 4 - - - BICOMP - 52 - - - - - ICCARM - 66 102 96 74 93 69 103 58 92 46 112 97 2 16 31 8 18 71 68 65 - - - BICOMP - 66 102 96 93 69 40 103 58 92 46 112 97 2 120 16 31 8 18 71 68 65 51 - - - - - $PROJ_DIR$\..\Common\Minimal\flop.c - - - ICCARM - 49 - - - BICOMP - 113 - - - - - ICCARM - 66 102 96 74 93 69 103 136 122 92 46 112 97 2 16 31 8 18 71 68 65 89 - - - BICOMP - 66 102 96 93 69 40 103 136 122 92 46 112 97 2 120 16 31 8 18 71 68 65 89 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - - - ICCARM - 25 - - - BICOMP - 99 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 32 - - - BICOMP - 42 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 56 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 56 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 47 - - - BICOMP - 30 - - - - - ICCARM - 66 102 96 74 93 69 103 58 92 46 112 97 2 16 31 8 18 71 68 65 64 70 106 61 90 56 89 17 45 94 - - - BICOMP - 66 102 96 93 69 40 103 58 92 46 112 97 2 120 16 31 8 18 71 68 65 64 70 106 61 90 56 89 17 45 94 - - - - - [ROOT_NODE] - - - XLINK - 78 43 72 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 6 - - - BICOMP - 60 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 65 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 65 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 24 - - - BICOMP - 39 - - - - - ICCARM - 66 102 96 74 93 69 103 92 46 112 97 2 16 31 8 18 71 68 65 135 17 - - - BICOMP - 66 102 96 93 69 40 103 92 46 112 97 2 120 16 31 8 18 71 68 65 135 17 - - - - - $PROJ_DIR$\uip\uip.c - ICCARM - - - $PROJ_DIR$\..\..\Source\tasks.c - ICCARM - - - $PROJ_DIR$\uip\cgi.c - ICCARM - - - $PROJ_DIR$\uip\fs.c - ICCARM - - - $PROJ_DIR$\uip\httpd.c - ICCARM - - - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - ICCARM - - - $PROJ_DIR$\uip\uip_arp.c - ICCARM - - - $PROJ_DIR$\uip\uip_arch.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\death.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - ICCARM - - - $PROJ_DIR$\ParTest\ParTest.c - ICCARM - - - $PROJ_DIR$\uIP_Task.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - ICCARM - - - $PROJ_DIR$\EMAC\SAM7_EMAC.c - ICCARM - - - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\port.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\flash.c - ICCARM - - - $PROJ_DIR$\..\..\Source\queue.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\flop.c - ICCARM - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\integer.c - ICCARM - - - $PROJ_DIR$\main.c - ICCARM - - - $PROJ_DIR$\..\..\Source\list.c - ICCARM - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - ICCARM - - - [MULTI_TOOL] - XLINK - - - - Flash Release - - $PROJ_DIR$\uip\uipopt.h - $PROJ_DIR$\Flash Release\Obj\semtest.r79 - $PROJ_DIR$\Flash Release\Obj\flop.pbi - $PROJ_DIR$\Flash Release\Obj\uIP_Task.pbi - $PROJ_DIR$\uip\fsdata.h - $TOOLKIT_DIR$\inc\intrinsic.h - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\lib_AT91SAM7X256.h - $PROJ_DIR$\uip\uip.c - $PROJ_DIR$\..\..\Source\tasks.c - $PROJ_DIR$\..\..\Source\include\semphr.h - $PROJ_DIR$\uip\cgi.c - $PROJ_DIR$\uip\fs.c - $PROJ_DIR$\uip\httpd.c - $PROJ_DIR$\Flash Release\Obj\BlockQ.pbi - $PROJ_DIR$\SrcIAR\Board.h - $PROJ_DIR$\..\Common\include\BlockQ.h - $PROJ_DIR$\..\..\Source\include\portable.h - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - $PROJ_DIR$\SrcIAR\Cstartup.s79 - $PROJ_DIR$\uip\uip_arp.c - $PROJ_DIR$\uip\uip_arch.c - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\ISR_Support.h - $PROJ_DIR$\SrcIAR\Emac.h - $PROJ_DIR$\Flash Release\Obj\cgi.pbi - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\AT91SAM7X256_inc.h - $PROJ_DIR$\EMAC\SAM7_EMAC.h - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\AT91SAM7X256.h - $PROJ_DIR$\uip\httpd.h - $PROJ_DIR$\resource\at91SAM7X256_NoRemap.xcl - $PROJ_DIR$\..\Common\Minimal\death.c - $TOOLKIT_DIR$\inc\DLib_Threads.h - $PROJ_DIR$\..\Common\include\death.h - $TOOLKIT_DIR$\inc\stddef.h - $PROJ_DIR$\Flash Release\Obj\ParTest.r79 - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\AT91SAM7S64_inc.h - $PROJ_DIR$\..\Common\include\integer.h - $TOOLKIT_DIR$\inc\string.h - $PROJ_DIR$\uip\tapdev.h - $PROJ_DIR$\Flash Release\Obj\death.r79 - $PROJ_DIR$\..\Common\include\semtest.h - $PROJ_DIR$\uip\uip_arp.h - $PROJ_DIR$\uip\fs.h - $PROJ_DIR$\..\Common\include\partest.h - $PROJ_DIR$\..\..\Source\include\list.h - $TOOLKIT_DIR$\inc\stdlib.h - $PROJ_DIR$\..\..\Source\include\task.h - $TOOLKIT_DIR$\inc\xencoding_limits.h - $PROJ_DIR$\..\Common\include\PollQ.h - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\portmacro.h - $TOOLKIT_DIR$\lib\dl4tptinl8n.h - $PROJ_DIR$\..\Common\Minimal\semtest.c - $PROJ_DIR$\Flash Release\Obj\queue.pbi - $PROJ_DIR$\Flash Release\Obj\Cstartup_SAM7.r79 - $PROJ_DIR$\uip\fsdata.c - $PROJ_DIR$\uip\uip.h - $PROJ_DIR$\ParTest\ParTest.c - $TOOLKIT_DIR$\inc\stdio.h - $PROJ_DIR$\Flash Release\Obj\tasks.pbi - $PROJ_DIR$\Flash Release\Obj\ParTest.pbi - $PROJ_DIR$\Flash Release\Obj\cgi.r79 - $PROJ_DIR$\Flash Release\Exe\rtosdemo.d79 - $PROJ_DIR$\uIP_Task.c - $PROJ_DIR$\..\Common\Minimal\PollQ.c - $PROJ_DIR$\EMAC\SAM7_EMAC.c - $PROJ_DIR$\..\Common\include\flop.h - $PROJ_DIR$\..\Common\include\flash.h - $PROJ_DIR$\uip\cgi.h - $PROJ_DIR$\..\..\Source\include\FreeRTOS.h - $TOOLKIT_DIR$\inc\DLib_Product.h - $PROJ_DIR$\Flash Release\Obj\PollQ.pbi - $PROJ_DIR$\uIP_Task.h - $TOOLKIT_DIR$\inc\DLib_Defaults.h - $PROJ_DIR$\Flash Release\Obj\uip_arp.r79 - $PROJ_DIR$\Flash Release\Obj\port.r79 - $PROJ_DIR$\FreeRTOSConfig.h - $TOOLKIT_DIR$\inc\yvals.h - $TOOLKIT_DIR$\inc\ysizet.h - $PROJ_DIR$\uip\uip_arch.h - $PROJ_DIR$\Flash Release\Obj\uip_arch.r79 - $PROJ_DIR$\..\Common\include\dynamic.h - $PROJ_DIR$\Flash Release\Obj\uip.r79 - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\port.c - $PROJ_DIR$\Flash Release\Obj\flop.r79 - $PROJ_DIR$\..\Common\Minimal\dynamic.c - $PROJ_DIR$\EMAC\EMAClISR.s79 - $PROJ_DIR$\..\Common\Minimal\flash.c - $PROJ_DIR$\..\..\Source\include\projdefs.h - $PROJ_DIR$\Flash Release\Obj\uip_arp.pbi - $PROJ_DIR$\Flash Release\Obj\uip.pbi - $PROJ_DIR$\Flash Release\Obj\main.r79 - $PROJ_DIR$\Flash Release\Obj\uIP_Task.r79 - $PROJ_DIR$\Flash Release\List\rtosdemo.map - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\portasm.s79 - $TOOLKIT_DIR$\inc\intrinsics.h - $TOOLKIT_DIR$\inc\ymath.h - $PROJ_DIR$\Flash Release\Obj\integer.r79 - $PROJ_DIR$\Flash Release\Obj\flash.r79 - $PROJ_DIR$\Flash Release\Obj\dynamic.r79 - $PROJ_DIR$\Flash Release\Obj\main.pbi - $PROJ_DIR$\Flash Release\Obj\death.pbi - $PROJ_DIR$\Flash Release\Obj\EMAClISR.r79 - $PROJ_DIR$\Flash Release\Obj\Cstartup.r79 - $TOOLKIT_DIR$\lib\dl4tptinl8n.r79 - $PROJ_DIR$\..\..\Source\queue.c - $PROJ_DIR$\Flash Release\Obj\heap_2.r79 - $PROJ_DIR$\Flash Release\Obj\fs.r79 - $PROJ_DIR$\Flash Release\Obj\flash.pbi - $PROJ_DIR$\Flash Release\Obj\fs.pbi - $PROJ_DIR$\Flash Release\Obj\PollQ.r79 - $PROJ_DIR$\Flash Release\Obj\tasks.r79 - $PROJ_DIR$\Flash Release\Obj\semtest.pbi - $PROJ_DIR$\Flash Release\Obj\queue.r79 - $PROJ_DIR$\..\Common\Minimal\flop.c - $PROJ_DIR$\Flash Release\Obj\httpd.pbi - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - $PROJ_DIR$\..\Common\Minimal\integer.c - $PROJ_DIR$\main.c - $PROJ_DIR$\Flash Release\Obj\integer.pbi - $PROJ_DIR$\Flash Release\Obj\httpd.r79 - $PROJ_DIR$\Flash Release\Obj\SAM7_EMAC.r79 - $PROJ_DIR$\..\..\Source\list.c - $PROJ_DIR$\Flash Release\Obj\heap_2.pbi - $PROJ_DIR$\Flash Release\Obj\dynamic.pbi - $PROJ_DIR$\SrcIAR\mii.h - $PROJ_DIR$\Flash Release\Exe\rtosdemo.sim - $PROJ_DIR$\Flash Release\Obj\SAM7_EMAC.pbi - $PROJ_DIR$\Flash Release\Obj\Cstartup_SAM7.pbi - $PROJ_DIR$\..\..\Source\include\queue.h - $TOOLKIT_DIR$\inc\math.h - $PROJ_DIR$\Flash Release\Obj\list.pbi - $PROJ_DIR$\Flash Release\Obj\list.r79 - $PROJ_DIR$\Flash Release\Obj\uip_arch.pbi - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - $PROJ_DIR$\Flash Release\Obj\port.pbi - $PROJ_DIR$\Flash Release\Obj\portasm.r79 - $PROJ_DIR$\Flash Release\Obj\BlockQ.r79 - - - $PROJ_DIR$\uip\uip.c - - - ICCARM - 80 - - - BICOMP - 88 - - - - - ICCARM - 54 0 27 77 - - - - - $PROJ_DIR$\..\..\Source\tasks.c - - - ICCARM - 109 - - - BICOMP - 57 - - - - - ICCARM - 56 75 71 49 68 46 30 76 44 36 67 32 86 74 5 14 26 6 16 48 45 43 - - - - - $PROJ_DIR$\uip\cgi.c - - - ICCARM - 59 - - - BICOMP - 23 - - - - - ICCARM - 54 0 27 66 41 56 75 71 49 68 46 30 76 36 - - - - - $PROJ_DIR$\uip\fs.c - - - ICCARM - 105 - - - BICOMP - 107 - - - - - ICCARM - 54 0 27 41 4 53 - - - - - $PROJ_DIR$\uip\httpd.c - - - ICCARM - 118 - - - BICOMP - 113 - - - - - ICCARM - 54 0 27 41 4 66 - - - - - $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c - - - ICCARM - 52 - - - BICOMP - 126 - - - - - ICCARM - 14 26 6 36 75 71 49 68 46 76 - - - - - $PROJ_DIR$\SrcIAR\Cstartup.s79 - - - AARM - 101 - - - - - AARM - 24 - - - - - $PROJ_DIR$\uip\uip_arp.c - - - ICCARM - 72 - - - BICOMP - 87 - - - - - ICCARM - 40 54 0 27 36 75 71 49 68 46 30 76 - - - - - $PROJ_DIR$\uip\uip_arch.c - - - ICCARM - 78 - - - BICOMP - 131 - - - - - ICCARM - 54 0 27 77 - - - - - $PROJ_DIR$\..\Common\Minimal\death.c - - - ICCARM - 38 - - - BICOMP - 99 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 31 - - - BICOMP - 44 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 45 43 31 - - - - - $PROJ_DIR$\..\Common\Minimal\semtest.c - - - ICCARM - 1 - - - BICOMP - 110 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 9 127 39 - - - - - $PROJ_DIR$\ParTest\ParTest.c - - - ICCARM - 33 - - - BICOMP - 58 - - - - - ICCARM - 67 32 75 71 49 68 46 30 76 86 74 5 14 26 6 16 48 42 - - - BICOMP - 67 32 75 71 68 46 30 76 86 74 5 93 14 26 6 16 48 42 - - - - - $PROJ_DIR$\Flash Release\Exe\rtosdemo.d79 - - - XLINK - 91 124 - - - - - XLINK - 28 135 101 52 100 33 108 119 59 38 97 96 82 105 104 118 95 130 89 73 134 111 1 109 90 80 78 72 102 - - - - - $PROJ_DIR$\uIP_Task.c - - - ICCARM - 90 - - - BICOMP - 3 - - - - - ICCARM - 44 75 71 49 68 46 30 76 56 67 32 86 74 5 14 26 6 16 48 9 127 45 43 25 54 0 27 40 37 - - - - - $PROJ_DIR$\..\Common\Minimal\PollQ.c - - - ICCARM - 108 - - - BICOMP - 69 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 127 47 - - - BICOMP - 44 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 45 43 127 47 - - - - - $PROJ_DIR$\EMAC\SAM7_EMAC.c - - - ICCARM - 119 - - - BICOMP - 125 - - - - - ICCARM - 36 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 9 127 45 43 54 0 27 22 123 - - - BICOMP - 36 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 9 127 45 43 54 0 27 22 123 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\port.c - - - ICCARM - 73 - - - BICOMP - 133 - - - - - ICCARM - 44 75 71 49 68 46 30 76 5 67 32 86 74 14 26 6 16 48 45 43 - - - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - ICCARM - 97 - - - BICOMP - 122 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 9 127 79 - - - BICOMP - 44 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 45 43 9 127 79 - - - - - $PROJ_DIR$\EMAC\EMAClISR.s79 - - - AARM - 100 - - - - - AARM - 21 - - - - - $PROJ_DIR$\..\Common\Minimal\flash.c - - - ICCARM - 96 - - - BICOMP - 106 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 42 65 - - - BICOMP - 44 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 45 43 42 65 - - - - - $PROJ_DIR$\..\..\Source\portable\IAR\AtmelSAM7S64\portasm.s79 - - - AARM - 134 - - - - - AARM - 34 21 - - - - - $PROJ_DIR$\..\..\Source\queue.c - - - ICCARM - 111 - - - BICOMP - 51 - - - - - ICCARM - 44 75 71 49 68 46 30 76 36 67 32 86 74 5 14 26 6 16 48 45 43 - - - - - $PROJ_DIR$\..\Common\Minimal\flop.c - - - ICCARM - 82 - - - BICOMP - 2 - - - - - ICCARM - 44 75 71 49 68 46 30 76 128 94 67 32 86 74 5 14 26 6 16 48 45 43 64 - - - BICOMP - 44 75 71 68 46 30 76 128 94 67 32 86 74 5 93 14 26 6 16 48 45 43 64 - - - - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_2.c - - - ICCARM - 104 - - - BICOMP - 121 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 - - - BICOMP - 44 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 45 43 - - - - - $PROJ_DIR$\..\Common\Minimal\integer.c - - - ICCARM - 95 - - - BICOMP - 117 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 35 - - - BICOMP - 44 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 45 43 35 - - - - - $PROJ_DIR$\main.c - - - ICCARM - 89 - - - BICOMP - 98 - - - - - ICCARM - 44 75 71 49 68 46 30 76 36 67 32 86 74 5 14 26 6 16 48 45 43 42 47 79 39 65 35 64 15 31 70 - - - BICOMP - 44 75 71 68 46 30 76 36 67 32 86 74 5 93 14 26 6 16 48 45 43 42 47 79 39 65 35 64 15 31 70 - - - - - [ROOT_NODE] - - - XLINK - 91 124 60 - - - - - $PROJ_DIR$\..\..\Source\list.c - - - ICCARM - 130 - - - BICOMP - 129 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 43 - - - - - $PROJ_DIR$\..\Common\Minimal\BlockQ.c - - - ICCARM - 135 - - - BICOMP - 13 - - - - - ICCARM - 44 75 71 49 68 46 30 76 67 32 86 74 5 14 26 6 16 48 45 43 127 15 - - - BICOMP - 44 75 71 68 46 30 76 67 32 86 74 5 93 14 26 6 16 48 45 43 127 15 - - - - - - - diff --git a/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd b/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd index 88dde96a3..8515ff40d 100644 --- a/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd +++ b/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewd @@ -12,7 +12,7 @@ C-SPY 2 - 12 + 15 1 1 - - - - + @@ -129,13 +117,25 @@ ARMSIM_ID 2 - 0 + 1 1 1 + + + @@ -181,6 +181,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + IARROM_ID 2 @@ -220,7 +257,7 @@ JLINK_ID 2 - 1 + 9 1 1 + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 1 + + @@ -273,7 +401,7 @@ MACRAIGOR_ID 2 - 1 + 2 1 1 + + + @@ -426,23 +566,23 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Trace\Trace.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 @@ -450,7 +590,23 @@ 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin 0 @@ -465,7 +621,7 @@ C-SPY 2 - 12 + 15 1 0 - - - - + @@ -582,13 +726,25 @@ ARMSIM_ID 2 - 0 + 1 1 0 + + + @@ -634,6 +790,43 @@ + + GDBSERVER_ID + 2 + + 0 + 1 + 0 + + + + + + + + + IARROM_ID 2 @@ -673,7 +866,7 @@ JLINK_ID 2 - 1 + 9 1 0 + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 1 + 1 + 0 + + @@ -726,7 +1010,7 @@ MACRAIGOR_ID 2 - 1 + 2 1 0 + + + @@ -879,23 +1175,23 @@ - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Profiling\Profiling.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ewplugin + 0 - $EW_DIR$\common\plugins\Trace\Trace.ewplugin - 1 + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin 0 - $TOOLKIT_DIR$\plugins\rtos\CMX\CMXTinyArmPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\PowerPac\PowerPacRTOS.ewplugin 0 @@ -903,9 +1199,25 @@ 0 - $TOOLKIT_DIR$\plugins\rtos\OSE\OseEpsilonPlugin.ewplugin + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin 0 + + $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\Profiling\Profiling.ENU.ewplugin + 1 + + + $EW_DIR$\common\plugins\Stack\Stack.ENU.ewplugin + 1 + diff --git a/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp b/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp index 5d133f4b6..eac930951 100644 --- a/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp +++ b/Demo/uIP_Demo_IAR_ARM7/rtosdemo.ewp @@ -10,15 +10,11 @@ 1 General - 2 + 3 - 9 + 14 1 1 - - - - + + + ICCARM 2 - 13 + 19 1 1 - - - - - - - - - - - - - - + + + + + + AARM 2 - 6 + 7 1 1 - - - + + OBJCOPY + 0 + + 1 + 1 + 1 + + + + + + + CUSTOM 3 @@ -555,283 +536,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 1 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 1 @@ -850,15 +782,11 @@ 0 General - 2 + 3 - 9 + 14 1 0 - - - - + + + ICCARM 2 - 13 + 19 1 0 - - - - - - - - - - - - - - + + + + + + AARM 2 - 6 + 7 1 0 - - - + + OBJCOPY + 0 + + 1 + 1 + 0 + + + + + + + CUSTOM 3 @@ -1395,283 +1308,234 @@ - XLINK - 2 + ILINK + 0 - 18 + 5 1 0 - - - - - - - - - - - - XAR - 2 + IARCHIVE + 0 0 1 0 @@ -1770,7 +1634,7 @@ - $PROJ_DIR$\SrcIAR\Cstartup.s79 + $PROJ_DIR$\SrcIAR\Cstartup.s $PROJ_DIR$\SrcIAR\Cstartup_SAM7.c -- 2.39.2