diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/AtmelFiles/libboard_sama5d3x-ek/source/board_cstartup_gnu.S b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/AtmelFiles/libboard_sama5d3x-ek/source/board_cstartup_gnu.S deleted file mode 100644 index 590d563b33..0000000000 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/AtmelFiles/libboard_sama5d3x-ek/source/board_cstartup_gnu.S +++ /dev/null @@ -1,218 +0,0 @@ -/* ---------------------------------------------------------------------------- - * SAM Software Package License - * ---------------------------------------------------------------------------- - * Copyright (c) 2012, 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. - * - * 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. - * ---------------------------------------------------------------------------- - */ - - -//------------------------------------------------------------------------------ -// Definitions -//------------------------------------------------------------------------------ - - -#define AIC 0xFFFFF000 -#define AIC_IVR 0x10 -#define AIC_EOICR 0x38 - -#define IRQ_STACK_SIZE 8*3*4 - -#define ARM_MODE_ABT 0x17 -#define ARM_MODE_FIQ 0x11 -#define ARM_MODE_IRQ 0x12 -#define ARM_MODE_SVC 0x13 -#define ARM_MODE_SYS 0x1F - -#define I_BIT 0x80 -#define F_BIT 0x40 - -//------------------------------------------------------------------------------ -// Startup routine -//------------------------------------------------------------------------------ - - .align 4 - .arm - -/* Exception vectors - *******************/ - .section .vectors, "a", %progbits - -resetVector: - ldr pc, =resetHandler /* Reset */ -undefVector: - b undefVector /* Undefined instruction */ -swiVector: - b swiVector /* Software interrupt */ -prefetchAbortVector: - b prefetchAbortVector /* Prefetch abort */ -dataAbortVector: - b dataAbortVector /* Data abort */ -reservedVector: - b reservedVector /* Reserved for future use */ -irqVector: - b irqHandler /* Interrupt */ -fiqVector: - /* Fast interrupt */ -//------------------------------------------------------------------------------ -/// Handles a fast interrupt request by branching to the address defined in the -/// AIC. -//------------------------------------------------------------------------------ -fiqHandler: - b fiqHandler - -//------------------------------------------------------------------------------ -/// Handles incoming interrupt requests by branching to the corresponding -/// handler, as defined in the AIC. Supports interrupt nesting. -//------------------------------------------------------------------------------ -irqHandler: - /* Save interrupt context on the stack to allow nesting */ - SUB lr, lr, #4 - STMFD sp!, {lr} - MRS lr, SPSR - STMFD sp!, {r0, lr} - - /* Write in the IVR to support Protect Mode */ - LDR lr, =AIC - LDR r0, [r14, #AIC_IVR] - STR lr, [r14, #AIC_IVR] - - /* Branch to interrupt handler in Supervisor mode */ - MSR CPSR_c, #ARM_MODE_SVC - STMFD sp!, {r1-r3, r4, r12, lr} - - /* Check for 8-byte alignment and save lr plus a */ - /* word to indicate the stack adjustment used (0 or 4) */ - AND r1, sp, #4 - SUB sp, sp, r1 - STMFD sp!, {r1, lr} - - BLX r0 - - LDMIA sp!, {r1, lr} - ADD sp, sp, r1 - - LDMIA sp!, {r1-r3, r4, r12, lr} - MSR CPSR_c, #ARM_MODE_IRQ | I_BIT - - /* Acknowledge interrupt */ - LDR lr, =AIC - STR lr, [r14, #AIC_EOICR] - - /* Restore interrupt context and branch back to calling code */ - LDMIA sp!, {r0, lr} - MSR SPSR_cxsf, lr - LDMIA sp!, {pc}^ - - -//------------------------------------------------------------------------------ -/// Initializes the chip and branches to the main() function. -//------------------------------------------------------------------------------ - .section .textEntry - .global entry - -entry: -resetHandler: - - CPSIE A - -/* Enable VFP */ - /* - Enable access to CP10 and CP11 in CP15.CACR */ - mrc p15, 0, r0, c1, c0, 2 - orr r0, r0, #0xf00000 - mcr p15, 0, r0, c1, c0, 2 -/* - Enable access to CP10 and CP11 in CP15.NSACR */ -/* - Set FPEXC.EN (B30) */ - fmrx r0, fpexc - orr r0, r0, #0x40000000 - fmxr fpexc, r0 - -/* Useless instruction for referencing the .vectors section */ - ldr r0, =resetVector - -/* Set pc to actual code location (i.e. not in remap zone) */ - ldr pc, =1f - -/* Initialize the prerelocate segment */ -1: - ldr r0, =_efixed - ldr r1, =_sprerelocate - ldr r2, =_eprerelocate -1: - cmp r1, r2 - ldrcc r3, [r0], #4 - strcc r3, [r1], #4 - bcc 1b - -/* Perform low-level initialization of the chip using LowLevelInit() */ - ldr sp, =_sstack - stmfd sp!, {r0} - ldr r0, =LowLevelInit - blx r0 - -/* Initialize the postrelocate segment */ - - ldmfd sp!, {r0} - ldr r1, =_spostrelocate - ldr r2, =_epostrelocate -1: - cmp r1, r2 - ldrcc r3, [r0], #4 - strcc r3, [r1], #4 - bcc 1b - -/* Clear the zero segment */ - ldr r0, =_szero - ldr r1, =_ezero - mov r2, #0 -1: - cmp r0, r1 - strcc r2, [r0], #4 - bcc 1b - -/* Setup stacks - **************/ -/* IRQ mode */ - msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT - ldr sp, =_sstack - sub r4, sp, #IRQ_STACK_SIZE - -/* Supervisor mode (interrupts enabled) */ - msr CPSR_c, #ARM_MODE_SVC | F_BIT - mov sp, r4 - -/*Initialize the C library */ - ldr r3, =__libc_init_array - mov lr, pc - bx r3 - -/* Branch to main() - ******************/ - ldr r0, =main - blx r0 - -/* Loop indefinitely when program is finished */ -1: - b 1b - diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOSConfig.h index 55c34e7f5f..c7a79294ac 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOSConfig.h +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOSConfig.h @@ -78,29 +78,6 @@ * See http://www.freertos.org/a00110.html. *----------------------------------------------------------*/ -/* - * The FreeRTOS Cortex-A port implements a full interrupt nesting model. - * - * Interrupts that are assigned a priority at or below - * configMAX_API_CALL_INTERRUPT_PRIORITY (which counter-intuitively in the ARM - * generic interrupt controller [GIC] means a priority that has a numerical - * value above configMAX_API_CALL_INTERRUPT_PRIORITY) can call FreeRTOS safe API - * functions and will nest. - * - * Interrupts that are assigned a priority above - * configMAX_API_CALL_INTERRUPT_PRIORITY (which in the GIC means a numerical - * value below configMAX_API_CALL_INTERRUPT_PRIORITY) cannot call any FreeRTOS - * API functions, will nest, and will not be masked by FreeRTOS critical - * sections (although it is necessary for interrupts to be globally disabled - * extremely briefly as the interrupt mask is updated in the GIC). - * - * FreeRTOS functions that can be called from an interrupt are those that end in - * "FromISR". FreeRTOS maintains a separate interrupt safe API to enable - * interrupt entry to be shorter, faster, simpler and smaller. - */ -#define configMAX_API_CALL_INTERRUPT_PRIORITY 25 - - #define configCPU_CLOCK_HZ 100000000UL #define configUSE_PORT_OPTIMISED_TASK_SELECTION 1 #define configUSE_TICKLESS_IDLE 0 @@ -158,8 +135,8 @@ used. */ void vInitialiseRunTimeStats( void ); #define configGENERATE_RUN_TIME_STATS 0 -// #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vInitialiseRunTimeStats() -// #define portGET_RUN_TIME_COUNTER_VALUE() ulGetRunTimeCounterValue() +//_RB_ #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vInitialiseRunTimeStats() +//_RB_ #define portGET_RUN_TIME_COUNTER_VALUE() ulGetRunTimeCounterValue() /* The size of the global output buffer that is available for use when there are multiple command interpreters running at once (for example, one on a UART @@ -185,18 +162,10 @@ used. */ */ void vConfigureTickInterrupt( void ); #define configSETUP_TICK_INTERRUPT() vConfigureTickInterrupt() + + #define configPIT_PIVR ( *( ( volatile uint32_t * ) 0xFFFFFE38UL ) ) + #define configCLEAR_TICK_INTERRUPT() ( void ) configPIT_PIVR /* Read PIT_PIVR to clear interrupt. */ #endif /* __IASMARM__ */ -/* The following constants describe the hardware, and are correct for the -Atmel SAMA5 MPU. */ -#define configINTERRUPT_CONTROLLER_BASE_ADDRESS 0xE8201000 -#define configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET 0x1000 -#define configUNIQUE_INTERRUPT_PRIORITIES 32 - -/* Map the FreeRTOS IRQ and SVC/SWI handlers to the names used in the C startup -code (which is where the vector table is defined). */ -#define FreeRTOS_IRQ_Handler IRQ_Handler -#define FreeRTOS_SWI_Handler SWI_Handler - #endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOS_tick_config.c b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOS_tick_config.c index cdde1261ff..663b3f95b9 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOS_tick_config.c +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/FreeRTOS_tick_config.c @@ -67,6 +67,9 @@ #include "FreeRTOS.h" #include "Task.h" +/* Library includes. */ +#include "board.h" + /* * The application must provide a function that configures a peripheral to * create the FreeRTOS tick interrupt, then define configSETUP_TICK_INTERRUPT() @@ -75,23 +78,27 @@ */ void vConfigureTickInterrupt( void ) { -#warning Needs implementing. +extern void FreeRTOS_Tick_Handler( void ); + + /* NOTE: The PIT interrupt is cleared by the configCLEAR_TICK_INTERRUPT() + macro in FreeRTOSConfig.h. */ + + /* Enable the PIT clock. */ + PMC->PMC_PCER0 = 1 << ID_PIT; + + /* Initialize the PIT to the desired frequency - specified in uS. */ + PIT_Init( 1000000UL / configTICK_RATE_HZ, BOARD_MCK / 1000000 ); + + /* Configure interrupt on PIT */ +#warning This is on the system interrupt and other interrupts may need processing to. + IRQ_ConfigureIT( ID_PIT, 0, FreeRTOS_Tick_Handler ); + IRQ_EnableIT( ID_PIT ); + PIT_EnableIT(); + + /* Enable the pit. */ + PIT_Enable(); } /*-----------------------------------------------------------*/ -void vApplicationIRQHandler( uint32_t ulICCIAR ); -void vApplicationIRQHandler( uint32_t ulICCIAR ) -{ -uint32_t ulInterruptID; - - /* Re-enable interrupts. */ - __asm ( "cpsie i" ); - - /* The ID of the interrupt is obtained by bitwise anding the ICCIAR value - with 0x3FF. */ - ulInterruptID = ulICCIAR & 0x3FFUL; - -#warning Needs implementing. -} diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/LEDs.c b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/LEDs.c index 1922b0d0cc..2e6264c646 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/LEDs.c +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/LEDs.c @@ -76,20 +76,34 @@ /* Demo includes. */ #include "partest.h" +/* Library includes. */ +#include "board.h" + /*-----------------------------------------------------------*/ void vParTestInitialise( void ) { + LED_Configure( 0 ); + LED_Configure( 1 ); } /*-----------------------------------------------------------*/ void vParTestSetLED( UBaseType_t uxLED, BaseType_t xValue ) { + if( xValue == pdTRUE ) + { + LED_Set( uxLED ); + } + else + { + LED_Clear( uxLED ); + } } /*-----------------------------------------------------------*/ void vParTestToggleLED( unsigned portBASE_TYPE uxLED ) { + LED_Toggle( uxLED ); } diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewd index f5a8a5ee45..604ac47a94 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewd +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewd @@ -49,7 +49,7 @@ </option> <option> <name>MemFile</name> - <state>$TOOLKIT_DIR$\CONFIG\debugger\Atmel\ATSAMA5D35.ddf</state> + <state></state> </option> <option> <name>RunToEnable</name> @@ -835,7 +835,7 @@ <option> <name>CCJLinkResetList</name> <version>6</version> - <state>5</state> + <state>0</state> </option> <option> <name>CCJLinkInterfaceCmdLine</name> diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewp index 282b867653..74cdd3941d 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewp +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/RTOSDemo.ewp @@ -65,7 +65,7 @@ </option> <option> <name>OGCoreOrChip</name> - <state>1</state> + <state>0</state> </option> <option> <name>GRuntimeLibSelect</name> @@ -309,7 +309,7 @@ <state>$PROJ_DIR$/AtmelFiles/libchip_sama5d3x/include</state> <state>$PROJ_DIR$/.</state> <state>$PROJ_DIR$\..\..\Source\include</state> - <state>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA9</state> + <state>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA5_No_GIC</state> <state>$PROJ_DIR$\..\Common\include</state> </option> <option> @@ -958,9 +958,6 @@ <name>Atmel Files</name> <group> <name>libboard_sama5d3x-ek</name> - <file> - <name>$PROJ_DIR$\AtmelFiles\libboard_sama5d3x-ek\source\board_cstartup_iar.s</name> - </file> <file> <name>$PROJ_DIR$\AtmelFiles\libboard_sama5d3x-ek\source\board_lowlevel.c</name> </file> @@ -1002,6 +999,12 @@ </file> </group> </group> + <group> + <name>Blinky Demo</name> + <file> + <name>$PROJ_DIR$\blinky_demo\main_blinky.c</name> + </file> + </group> <group> <name>FreeRTOS Source</name> <group> @@ -1013,10 +1016,16 @@ </file> </group> <file> - <name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA9\port.c</name> + <name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA5_No_GIC\port.c</name> </file> <file> - <name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA9\portASM.s</name> + <name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA5_No_GIC\portASM.h</name> + </file> + <file> + <name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA5_No_GIC\portASM.s</name> + </file> + <file> + <name>$PROJ_DIR$\..\..\Source\portable\IAR\ARM_CA5_No_GIC\portmacro.h</name> </file> </group> <file> @@ -1038,6 +1047,9 @@ <file> <name>$PROJ_DIR$\atmel_main.c</name> </file> + <file> + <name>$PROJ_DIR$\cstartup_with_FreeRTOS_vectors.s</name> + </file> <file> <name>$PROJ_DIR$\FreeRTOS_tick_config.c</name> </file> @@ -1050,9 +1062,6 @@ <file> <name>$PROJ_DIR$\main.c</name> </file> - <file> - <name>$PROJ_DIR$\main_blinky.c</name> - </file> </project> diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/atmel_main.c b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/atmel_main.c index 8f1225fff7..7d50230d4c 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/atmel_main.c +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/atmel_main.c @@ -239,7 +239,8 @@ static void _Pit_Handler( void ) /** * \brief Handler for Sysc interrupts. */ -static void _Sysc_Handler( void ) +void _Sysc_Handler( void ); +void _Sysc_Handler( void ) { _Pit_Handler( ) ; #ifdef NO_PUSHBUTTON diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/main_blinky.c b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/blinky_demo/main_blinky.c similarity index 94% rename from FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/main_blinky.c rename to FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/blinky_demo/main_blinky.c index 8a8a359493..0836b285b9 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/main_blinky.c +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/blinky_demo/main_blinky.c @@ -64,10 +64,10 @@ */ /****************************************************************************** - * NOTE 1: This project provides three demo applications. A simple blinky - * style project, a more comprehensive test and demo application, and an - * lwIP example. The mainSELECTED_APPLICATION setting in main.c is used to - * select between the three. See the notes on using mainSELECTED_APPLICATION + * NOTE 1: This project provides two demo applications. A simple blinky style + * project, and a more comprehensive test and demo application. The + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select + * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY * in main.c. This file implements the simply blinky style version. * * NOTE 2: This file only contains the source code that is specific to the @@ -126,12 +126,12 @@ the queue empty. */ /*-----------------------------------------------------------*/ -/* +/* * Called by main when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1 in * main.c. */ void main_blinky( void ); - + /* * The tasks as described in the comments at the top of this file. */ diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/AtmelFiles/libboard_sama5d3x-ek/source/board_cstartup_iar.s b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/cstartup_with_FreeRTOS_vectors.s similarity index 76% rename from FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/AtmelFiles/libboard_sama5d3x-ek/source/board_cstartup_iar.s rename to FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/cstartup_with_FreeRTOS_vectors.s index 7e3a2ced55..64b040bd8b 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/AtmelFiles/libboard_sama5d3x-ek/source/board_cstartup_iar.s +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/cstartup_with_FreeRTOS_vectors.s @@ -47,7 +47,7 @@ //------------------------------------------------------------------------------ // Definitions //------------------------------------------------------------------------------ - +//_RB_ These definitions can go. #define AIC 0xFFFFF000 #define AIC_IVR 0x10 #define AIC_EOICR 0x38 @@ -71,10 +71,10 @@ SECTION .vectors:CODE:NOROOT(2) PUBLIC resetVector - PUBLIC irqHandler + EXTERN FreeRTOS_IRQ_Handler EXTERN Undefined_Handler - EXTERN SWI_Handler + EXTERN FreeRTOS_SWI_Handler EXTERN Prefetch_Handler EXTERN Abort_Handler EXTERN FIQ_Handler @@ -94,58 +94,16 @@ resetVector: LDR pc, Prefetch_Addr ; Prefetch abort LDR pc, Abort_Addr ; Data abort B . ; RESERVED - LDR pc, =irqHandler ; IRQ + LDR pc, IRQ_Addr ; IRQ LDR pc, FIQ_Addr ; FIQ +IRQ_Addr: DCD FreeRTOS_IRQ_Handler Undefined_Addr: DCD Undefined_Handler -SWI_Addr: DCD SWI_Handler +SWI_Addr: DCD FreeRTOS_SWI_Handler Prefetch_Addr: DCD Prefetch_Handler Abort_Addr: DCD Abort_Handler FIQ_Addr: DCD FIQ_Handler -/* - Handles incoming interrupt requests by branching to the corresponding - handler, as defined in the AIC. Supports interrupt nesting. - */ -irqHandler: - /* Save interrupt context on the stack to allow nesting */ - SUB lr, lr, #4 - STMFD sp!, {lr} - MRS lr, SPSR - STMFD sp!, {r0, lr} - - /* Write in the IVR to support Protect Mode */ - LDR lr, =AIC - LDR r0, [r14, #AIC_IVR] - STR lr, [r14, #AIC_IVR] - - /* Branch to interrupt handler in Supervisor mode */ - MSR CPSR_c, #ARM_MODE_SYS - STMFD sp!, {r1-r3, r4, r12, lr} - - /* Check for 8-byte alignment and save lr plus a */ - /* word to indicate the stack adjustment used (0 or 4) */ - AND r1, sp, #4 - SUB sp, sp, r1 - STMFD sp!, {r1, lr} - - BLX r0 - - LDMIA sp!, {r1, lr} - ADD sp, sp, r1 - - LDMIA sp!, {r1-r3, r4, r12, lr} - MSR CPSR_c, #ARM_MODE_IRQ | I_BIT - - /* Acknowledge interrupt */ - LDR lr, =AIC - STR lr, [r14, #AIC_EOICR] - - /* Restore interrupt context and branch back to calling code */ - LDMIA sp!, {r0, lr} - MSR SPSR_cxsf, lr - LDMIA sp!, {pc}^ - /* After a reset, execution starts here, the mode is ARM, supervisor diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/main.c b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/main.c index 76c1d814a7..1dc7685a2b 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/main.c +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/main.c @@ -80,6 +80,8 @@ * */ +#warning Remove unused libary files. + /* Scheduler include files. */ #include "FreeRTOS.h" #include "task.h" @@ -90,6 +92,9 @@ #include "TimerDemo.h" #include "QueueOverwrite.h" +/* Library includes. */ +#include "chip.h" + /* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo, or 0 to run the more comprehensive test and demo application. */ #define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 1 @@ -120,10 +125,9 @@ void vApplicationTickHook( void ); /*-----------------------------------------------------------*/ extern int atmel_main( void ); +extern void vConfigureTickInterrupt( void ); int main( void ) -{ - atmel_main(); - +{ /* Configure the hardware ready to run the demo. */ prvSetupHardware(); @@ -145,6 +149,11 @@ int main( void ) static void prvSetupHardware( void ) { + /* Set protect mode in the AIC for easier debugging. */ + AIC->AIC_DCR != AIC_DCR_PROT; + + /* Configure ports used by LEDs. */ + vParTestInitialise(); } /*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dbgdt b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dbgdt index 229c1342a9..5d6114385f 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dbgdt +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dbgdt @@ -19,7 +19,7 @@ - <Column0>124</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> + <Column0>258</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> </Workspace> <Disassembly> <col-names> @@ -33,13 +33,13 @@ <DisasmHistory/> - <ShowCodeCoverage>1</ShowCodeCoverage><ShowInstrProfiling>1</ShowInstrProfiling></Disassembly> - </Static> + <PreferedWindows><Position>2</Position><ScreenPosX>0</ScreenPosX><ScreenPosY>0</ScreenPosY><Windows/></PreferedWindows><ShowCodeCoverage>1</ShowCodeCoverage><ShowInstrProfiling>1</ShowInstrProfiling></Disassembly> + <Register/><WATCH_1><expressions><item>xTickCount</item><item></item></expressions><col-names><item>Expression</item><item>Location</item><item>Type</item><item>Value</item></col-names><col-widths><item>100</item><item>150</item><item>100</item><item>100</item></col-widths></WATCH_1></Static> <Windows> - <Wnd0> + <Wnd1> <Tabs> <Tab> <Identity>TabID-13925-23874</Identity> @@ -55,7 +55,7 @@ </Tab> </Tabs> - <SelectedTab>0</SelectedTab></Wnd0><Wnd1> + <SelectedTab>0</SelectedTab></Wnd1><Wnd2> <Tabs> <Tab> <Identity>TabID-24673-23877</Identity> @@ -63,34 +63,24 @@ <Factory>Workspace</Factory> <Session> - <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session> + <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS Source</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS Source/portable</ExpandedNode></NodeDict></Session> </Tab> </Tabs> - <SelectedTab>0</SelectedTab></Wnd1><Wnd2> - <Tabs> - <Tab> - <Identity>TabID-2653-23881</Identity> - <TabName>Disassembly</TabName> - <Factory>Disassembly</Factory> - <Session/> - </Tab> - </Tabs> - - <SelectedTab>0</SelectedTab></Wnd2></Windows> + <SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-2717-2550</Identity><TabName>Disassembly</TabName><Factory>Disassembly</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3><Wnd8><Tabs><Tab><Identity>TabID-24466-9306</Identity><TabName>Register</TabName><Factory>Register</Factory><Session><REG1>0</REG1><REG2>0</REG2><Group>0</Group><States>0</States></Session></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd8><Wnd9><Tabs><Tab><Identity>TabID-2616-24044</Identity><TabName>Watch 1</TabName><Factory>WATCH_1</Factory></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd9></Windows> <Editor> - <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\..\..\..\DevTools\IAR Systems\Embedded Workbench 7.0\arm\doc\infocenter\index.ENU.html</Filename></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\..\..\..\DevTools\IAR Systems\Embedded Workbench 7.0\rl78\doc\infocenter\index.ENU.html</Filename></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\atmel_main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>364</YPos2><SelStart2>11999</SelStart2><SelEnd2>11999</SelEnd2></Tab><ActiveTab>2</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\AtmelFiles\libboard_sama5d3x-ek\source\board_cstartup_iar.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>159</YPos2><SelStart2>6777</SelStart2><SelEnd2>6777</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\AtmelFiles\libboard_sama5d3x-ek\source\board_memories.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>142</YPos2><SelStart2>8622</SelStart2><SelEnd2>8622</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOS_tick_config.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>44</YPos2><SelStart2>4292</SelStart2><SelEnd2>4292</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>102</YPos2><SelStart2>5870</SelStart2><SelEnd2>5870</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>115</YPos2><SelStart2>6850</SelStart2><SelEnd2>6850</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>172</YPos2><SelStart2>9454</SelStart2><SelEnd2>9454</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> + <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\event_groups.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>447</YPos2><SelStart2>16931</SelStart2><SelEnd2>16962</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOS_tick_config.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>62</YPos2><SelStart2>4263</SelStart2><SelEnd2>4263</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\cstartup_with_FreeRTOS_vectors.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>31</YPos2><SelStart2>2240</SelStart2><SelEnd2>2240</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\ARM_CA5_AtmelSAMA5\portASM.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>141</YPos2><SelStart2>5616</SelStart2><SelEnd2>5616</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\AtmelFiles\libchip_sama5d3x\source\aic.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>50</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\timers.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>454</YPos2><SelStart2>19650</SelStart2><SelEnd2>19650</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\tasks.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>1984</YPos2><SelStart2>68853</SelStart2><SelEnd2>68853</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\AtmelFiles\libchip_sama5d3x\source\pit.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>141</YPos2><SelStart2>5009</SelStart2><SelEnd2>5022</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\AtmelFiles\libboard_sama5d3x-ek\source\board_lowlevel.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>110</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\atmel_main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>203</YPos2><SelStart2>7635</SelStart2><SelEnd2>7646</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>118</YPos2><SelStart2>7958</SelStart2><SelEnd2>7958</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>106</YPos2><SelStart2>5937</SelStart2><SelEnd2>5937</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\ARM_CA5_AtmelSAMA5\port.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>240</XPos2><YPos2>105</YPos2><SelStart2>6827</SelStart2><SelEnd2>6827</SelEnd2></Tab><ActiveTab>12</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> <Positions> - <Top><Row0><Sizes><Toolbar-00E2DC28><key>iaridepm.enu1</key></Toolbar-00E2DC28></Sizes></Row0><Row1><Sizes><Toolbar-1388EF98><key>debuggergui.enu1</key></Toolbar-1388EF98></Sizes></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>718</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>718</Bottom><Right>605</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>361310</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd2></Sizes></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> + <Top><Row0><Sizes><Toolbar-0023DC28><key>iaridepm.enu1</key></Toolbar-0023DC28></Sizes></Row0><Row1><Sizes><Toolbar-1675AFB0><key>debuggergui.enu1</key></Toolbar-1675AFB0></Sizes></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>718</Bottom><Right>332</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>198810</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>718</Bottom><Right>519</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>310119</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd3></Sizes></Row0><Row1><Sizes><Wnd8><Rect><Top>-2</Top><Left>517</Left><Bottom>718</Bottom><Right>717</Right><x>517</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd8></Sizes></Row1><Row2><Sizes><Wnd9><Rect><Top>-2</Top><Left>715</Left><Bottom>718</Bottom><Right>915</Right><x>715</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>731707</sizeVertCY></Rect></Wnd9></Sizes></Row2></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>200</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> </Desktop> </Project> diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dni b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dni index 317a9571f7..d527d0bc26 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dni +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.dni @@ -14,7 +14,7 @@ Watch0=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 Watch1=_ 0 "" 0 "" 0 "" 0 "" 0 0 0 0 CStepIntDis=_ 0 [DebugChecksum] -Checksum=1381722156 +Checksum=-1179185332 [Exceptions] StopOnUncaught=_ 0 StopOnThrow=_ 0 @@ -22,6 +22,8 @@ StopOnThrow=_ 0 ShowArgs=0 [Disassembly] MixedMode=1 +[watch_formats] +Fmt0={W}1:xTickCount 4 0 [Log file] LoggingEnabled=_ 0 LogFile=_ "" @@ -41,7 +43,10 @@ Exclusions= mode=0 [Breakpoints2] Bp0=_ 0 "EMUL_CODE" "0x0030558C" 0 0 1 "" 0 "" 0 -Count=1 +Bp1=_ 0 "EMUL_CODE" "{$PROJ_DIR$\atmel_main.c}.245.5" 0 0 1 "" 0 "" 0 +Bp2=_ 1 "EMUL_CODE" "{$PROJ_DIR$\cstartup_with_FreeRTOS_vectors.s}.93.1" 0 0 1 "" 0 "" 0 +Bp3=_ 1 "EMUL_CODE" "{$PROJ_DIR$\cstartup_with_FreeRTOS_vectors.s}.97.1" 0 0 1 "" 0 "" 0 +Count=4 [Aliases] Count=0 SuppressDialog=0 diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.sram.cspy.bat b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.sram.cspy.bat index aafa61bf96..160c3e04ce 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.sram.cspy.bat +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.sram.cspy.bat @@ -19,6 +19,6 @@ @REM -"C:\DevTools\IAR Systems\Embedded Workbench 7.0\common\bin\cspybat" "C:\DevTools\IAR Systems\Embedded Workbench 7.0\arm\bin\armproc.dll" "C:\DevTools\IAR Systems\Embedded Workbench 7.0\arm\bin\armjlink.dll" %1 --plugin "C:\DevTools\IAR Systems\Embedded Workbench 7.0\arm\bin\armbat.dll" --macro "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_A5_SAMA5D3x_Xplained_IAR\AtmelFiles\libboard_sama5d3x-ek\resources\ewarm\sama5d3x-ek-sram.mac" --backend -B "--endian=little" "--cpu=Cortex-A5" "--fpu=VFPv4Neon" "-p" "C:\DevTools\IAR Systems\Embedded Workbench 7.0\arm\CONFIG\debugger\Atmel\ATSAMA5D35.ddf" "--drv_verify_download" "--semihosting=none" "--device=ATSAMA5D35" "--drv_communication=USB0" "--jlink_speed=auto" "--jlink_initial_speed=32" "--drv_catch_exceptions=0x000" +"C:\DevTools\IAR Systems\Embedded Workbench 7.0\common\bin\cspybat" "C:\DevTools\IAR Systems\Embedded Workbench 7.0\arm\bin\armproc.dll" "C:\DevTools\IAR Systems\Embedded Workbench 7.0\arm\bin\armjlink.dll" %1 --plugin "C:\DevTools\IAR Systems\Embedded Workbench 7.0\arm\bin\armbat.dll" --macro "C:\E\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\CORTEX_A5_SAMA5D3x_Xplained_IAR\AtmelFiles\libboard_sama5d3x-ek\resources\ewarm\sama5d3x-ek-sram.mac" --backend -B "--endian=little" "--cpu=Cortex-A5" "--fpu=VFPv4Neon" "--drv_verify_download" "--semihosting=none" "--drv_communication=USB0" "--jlink_speed=auto" "--jlink_initial_speed=32" "--drv_catch_exceptions=0x000" "--jlink_reset_strategy=0,0" diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wsdt index 544088e4ab..0a3d7cf956 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wsdt +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wsdt @@ -12,7 +12,7 @@ - <Column0>251</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> + <Column0>382</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> </Workspace> <CRunMessageRules> <col-names> @@ -32,7 +32,7 @@ <ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1216</ColumnWidth1><ColumnWidth2>324</ColumnWidth2><ColumnWidth3>81</ColumnWidth3></Build> - <Debug-Log><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>1624</ColumnWidth1></Debug-Log><TerminalIO/></Static> + <Debug-Log><ColumnWidth0>18</ColumnWidth0><ColumnWidth1>1624</ColumnWidth1></Debug-Log><TerminalIO/><Select-Ambiguous-Definitions><ColumnWidth0>552</ColumnWidth0><ColumnWidth1>78</ColumnWidth1><ColumnWidth2>946</ColumnWidth2></Select-Ambiguous-Definitions><Find-in-Files><ColumnWidth0>497</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>746</ColumnWidth2><ColumnWidth3>331</ColumnWidth3></Find-in-Files></Static> <Windows> @@ -44,11 +44,11 @@ <Factory>Workspace</Factory> <Session> - <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session> + <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/Blinky Demo</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS Source</ExpandedNode><ExpandedNode>RTOSDemo/FreeRTOS Source/portable</ExpandedNode></NodeDict></Session> </Tab> </Tabs> - <SelectedTab>0</SelectedTab></Wnd1><Wnd3> + <SelectedTab>0</SelectedTab></Wnd1><Wnd4> <Tabs> <Tab> <Identity>TabID-21076-19237</Identity> @@ -56,22 +56,22 @@ <Factory>Build</Factory> <Session/> </Tab> - <Tab><Identity>TabID-23502-23081</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs> + <Tab><Identity>TabID-23502-23081</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-24431-23894</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab><Tab><Identity>TabID-9033-6116</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab></Tabs> - <SelectedTab>0</SelectedTab></Wnd3></Windows> + <SelectedTab>0</SelectedTab></Wnd4></Windows> <Editor> - <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\..\..\..\DevTools\IAR Systems\Embedded Workbench 7.0\arm\doc\infocenter\index.ENU.html</Filename></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\..\..\..\..\..\DevTools\IAR Systems\Embedded Workbench 7.0\rl78\doc\infocenter\index.ENU.html</Filename></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\atmel_main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>364</YPos2><SelStart2>11999</SelStart2><SelEnd2>11999</SelEnd2></Tab><ActiveTab>2</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\AtmelFiles\libboard_sama5d3x-ek\source\board_cstartup_iar.s</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>159</YPos2><SelStart2>6777</SelStart2><SelEnd2>6777</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\AtmelFiles\libboard_sama5d3x-ek\source\board_memories.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>142</YPos2><SelStart2>8622</SelStart2><SelEnd2>8622</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOS_tick_config.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>44</YPos2><SelStart2>4292</SelStart2><SelEnd2>4292</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>102</YPos2><SelStart2>5870</SelStart2><SelEnd2>5870</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main_blinky.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>115</YPos2><SelStart2>6850</SelStart2><SelEnd2>6850</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>172</YPos2><SelStart2>9454</SelStart2><SelEnd2>9454</SelEnd2></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> + <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\ARM_CA5_AtmelSAMA5\port.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>240</XPos2><YPos2>93</YPos2><SelStart2>6827</SelStart2><SelEnd2>6827</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>72</YPos2><SelStart2>4569</SelStart2><SelEnd2>4569</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> <Positions> - <Top><Row0><Sizes><Toolbar-00E2DC28><key>iaridepm.enu1</key></Toolbar-00E2DC28></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>555</Bottom><Right>325</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>119048</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>194643</sizeVertCX><sizeVertCY>566057</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>385</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>387</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>393293</sizeHorzCY><sizeVertCX>119048</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> + <Top><Row0><Sizes><Toolbar-0023DC28><key>iaridepm.enu1</key></Toolbar-0023DC28></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>596</Bottom><Right>456</Right><x>-2</x><y>-2</y><xscreen>190</xscreen><yscreen>170</yscreen><sizeHorzCX>113095</sizeHorzCX><sizeHorzCY>172764</sizeHorzCY><sizeVertCX>272619</sizeVertCX><sizeVertCY>607724</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd4><Rect><Top>-2</Top><Left>-2</Left><Bottom>344</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>346</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>351626</sizeHorzCY><sizeVertCX>113095</sizeVertCX><sizeVertCY>172764</sizeVertCY></Rect></Wnd4></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> </Desktop> </Workspace> diff --git a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wspos b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wspos index 403b5ce587..311e77dd92 100644 --- a/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wspos +++ b/FreeRTOS/Demo/CORTEX_A5_SAMA5D3x_Xplained_IAR/settings/RTOSDemo.wspos @@ -1,2 +1,2 @@ [MainWindow] -WindowPlacement=_ 66 66 1326 815 3 +WindowPlacement=_ 67 68 1327 817 3