From 8024c9c0d50a401b1544e012559cace9cba4fddf Mon Sep 17 00:00:00 2001 From: rtel Date: Fri, 20 Dec 2019 02:54:30 +0000 Subject: [PATCH] Increase test coverage for queue sets. Rename the CORTEX_M0+_LPC51U68_LPCXpresso demo to CORTEX_M0+_LPC51U68_GCC_IAR_KEIL as it supports all three compilers. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2769 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- .../.cproject | 0 .../.gitignore | 0 .../.project | 0 .../.settings/language.settings.xml | 0 .../CMSIS/arm_common_tables.h | 0 .../CMSIS/arm_const_structs.h | 0 .../CMSIS/cmsis_armcc.h | 0 .../CMSIS/cmsis_armclang.h | 0 .../CMSIS/cmsis_compiler.h | 0 .../CMSIS/cmsis_gcc.h | 0 .../CMSIS/cmsis_iccarm.h | 0 .../CMSIS/cmsis_version.h | 0 .../CMSIS/core_cm0plus.h | 0 .../CORTEX_M0+_LPC51U68_IAR.ewd | 0 .../CORTEX_M0+_LPC51U68_IAR.ewp | 0 .../CORTEX_M0+_LPC51U68_IAR.ewt | 0 .../CORTEX_M0+_LPC51U68_IAR.eww | 0 .../CORTEX_M0+_LPC51U68_Keil.uvoptx | 0 .../CORTEX_M0+_LPC51U68_Keil.uvprojx | 0 .../GCC_specific/RegTest.c | 0 .../GCC_specific/compiler_attributes.h | 0 .../GCC_specific/semihost_hardfault.c | 0 .../GCC_specific/startup_lpc51u68.c | 0 .../IAR_specific/LPC51U68_256.FLM | Bin .../IAR_specific/LPC51U68_flash.icf | 0 .../IAR_specific/LPC51U68_ram.icf | 0 .../IAR_specific/RegTest_IAR.s | 0 .../IAR_specific/compiler_attributes.h | 0 .../IAR_specific/startup_LPC51U68.s | 0 .../Keil_specific/LPC51U68_256.FLM | Bin .../Keil_specific/LPC51U68_flash.scf | 0 .../Keil_specific/LPC51U68_ram.scf | 0 .../Keil_specific/RegTest_Keil.s | 0 .../Keil_specific/compiler_attributes.h | 0 .../Keil_specific/keil_lib_power.lib | Bin .../Keil_specific/startup_LPC51U68.s | 0 .../app/FreeRTOSConfig.h | 0 .../app/IntQueueTimer.c | 0 .../app/IntQueueTimer.h | 0 .../app/main.c | 0 .../app/main_blinky.c | 0 .../app/main_full.c | 0 .../board/boards/board.c | 0 .../board/boards/board.h | 0 .../board/boards/clock_config.c | 0 .../board/boards/clock_config.h | 0 .../board/boards/peripherals.c | 0 .../board/boards/peripherals.h | 0 .../board/boards/pin_mux.c | 0 .../board/boards/pin_mux.h | 0 .../component/lists/generic_list.c | 0 .../component/lists/generic_list.h | 0 .../component/serial_manager/serial_manager.c | 0 .../component/serial_manager/serial_manager.h | 0 .../serial_manager/serial_port_internal.h | 0 .../serial_manager/serial_port_uart.c | 0 .../serial_manager/serial_port_uart.h | 0 .../component/uart/uart.h | 0 .../component/uart/usart_adapter.c | 0 .../device/LPC51U68.h | 0 .../device/LPC51U68_features.h | 0 .../device/fsl_device_registers.h | 0 .../device/system_LPC51U68.c | 0 .../device/system_LPC51U68.h | 0 .../drivers/fsl_clock.c | 0 .../drivers/fsl_clock.h | 0 .../drivers/fsl_common.c | 0 .../drivers/fsl_common.h | 0 .../drivers/fsl_ctimer.c | 0 .../drivers/fsl_ctimer.h | 0 .../drivers/fsl_flexcomm.c | 0 .../drivers/fsl_flexcomm.h | 0 .../drivers/fsl_gpio.c | 0 .../drivers/fsl_gpio.h | 0 .../drivers/fsl_iocon.h | 0 .../drivers/fsl_pint.c | 0 .../drivers/fsl_pint.h | 0 .../drivers/fsl_power.c | 0 .../drivers/fsl_power.h | 0 .../drivers/fsl_reset.c | 0 .../drivers/fsl_reset.h | 0 .../drivers/fsl_usart.c | 0 .../drivers/fsl_usart.h | 0 .../readme.txt | 0 .../utilities/fsl_assert.c | 0 .../utilities/fsl_debug_console.c | 0 .../utilities/fsl_debug_console.h | 0 .../utilities/fsl_debug_console_conf.h | 0 .../utilities/fsl_str.c | 0 .../utilities/fsl_str.h | 0 FreeRTOS/Demo/Common/Minimal/QueueSet.c | 346 +++++++++++++++++- .../Demo/Common/Minimal/QueueSetPolling.c | 3 + 92 files changed, 347 insertions(+), 2 deletions(-) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/.cproject (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/.gitignore (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/.project (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/.settings/language.settings.xml (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/arm_common_tables.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/arm_const_structs.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/cmsis_armcc.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/cmsis_armclang.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/cmsis_compiler.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/cmsis_gcc.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/cmsis_iccarm.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/cmsis_version.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CMSIS/core_cm0plus.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CORTEX_M0+_LPC51U68_IAR.ewd (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CORTEX_M0+_LPC51U68_IAR.ewp (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CORTEX_M0+_LPC51U68_IAR.ewt (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CORTEX_M0+_LPC51U68_IAR.eww (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CORTEX_M0+_LPC51U68_Keil.uvoptx (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/CORTEX_M0+_LPC51U68_Keil.uvprojx (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/GCC_specific/RegTest.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/GCC_specific/compiler_attributes.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/GCC_specific/semihost_hardfault.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/GCC_specific/startup_lpc51u68.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/IAR_specific/LPC51U68_256.FLM (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/IAR_specific/LPC51U68_flash.icf (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/IAR_specific/LPC51U68_ram.icf (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/IAR_specific/RegTest_IAR.s (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/IAR_specific/compiler_attributes.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/IAR_specific/startup_LPC51U68.s (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/Keil_specific/LPC51U68_256.FLM (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/Keil_specific/LPC51U68_flash.scf (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/Keil_specific/LPC51U68_ram.scf (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/Keil_specific/RegTest_Keil.s (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/Keil_specific/compiler_attributes.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/Keil_specific/keil_lib_power.lib (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/Keil_specific/startup_LPC51U68.s (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/app/FreeRTOSConfig.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/app/IntQueueTimer.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/app/IntQueueTimer.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/app/main.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/app/main_blinky.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/app/main_full.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/board.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/board.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/clock_config.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/clock_config.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/peripherals.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/peripherals.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/pin_mux.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/board/boards/pin_mux.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/lists/generic_list.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/lists/generic_list.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/serial_manager/serial_manager.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/serial_manager/serial_manager.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/serial_manager/serial_port_internal.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/serial_manager/serial_port_uart.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/serial_manager/serial_port_uart.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/uart/uart.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/component/uart/usart_adapter.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/device/LPC51U68.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/device/LPC51U68_features.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/device/fsl_device_registers.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/device/system_LPC51U68.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/device/system_LPC51U68.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_clock.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_clock.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_common.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_common.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_ctimer.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_ctimer.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_flexcomm.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_flexcomm.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_gpio.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_gpio.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_iocon.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_pint.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_pint.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_power.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_power.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_reset.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_reset.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_usart.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/drivers/fsl_usart.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/readme.txt (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/utilities/fsl_assert.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/utilities/fsl_debug_console.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/utilities/fsl_debug_console.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/utilities/fsl_debug_console_conf.h (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/utilities/fsl_str.c (100%) rename FreeRTOS/Demo/{CORTEX_M0+_LPC51U68_LPCXpresso => CORTEX_M0+_LPC51U68_GCC_IAR_KEIL}/utilities/fsl_str.h (100%) diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.cproject b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.cproject similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.cproject rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.cproject diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.gitignore b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.gitignore similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.gitignore rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.gitignore diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.project b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.project rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.project diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.settings/language.settings.xml b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.settings/language.settings.xml similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/.settings/language.settings.xml rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/.settings/language.settings.xml diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/arm_common_tables.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/arm_common_tables.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/arm_common_tables.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/arm_common_tables.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/arm_const_structs.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/arm_const_structs.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/arm_const_structs.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/arm_const_structs.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_armcc.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_armcc.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_armcc.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_armcc.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_armclang.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_armclang.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_armclang.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_armclang.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_compiler.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_compiler.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_compiler.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_compiler.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_gcc.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_gcc.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_gcc.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_gcc.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_iccarm.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_iccarm.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_iccarm.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_iccarm.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_version.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_version.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/cmsis_version.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/cmsis_version.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/core_cm0plus.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/core_cm0plus.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CMSIS/core_cm0plus.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CMSIS/core_cm0plus.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.ewd b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.ewd similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.ewd rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.ewd diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.ewp b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.ewp similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.ewp rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.ewp diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.ewt b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.ewt similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.ewt rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.ewt diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.eww b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.eww similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_IAR.eww rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_IAR.eww diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_Keil.uvoptx b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_Keil.uvoptx rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvoptx diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_Keil.uvprojx b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvprojx similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/CORTEX_M0+_LPC51U68_Keil.uvprojx rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/CORTEX_M0+_LPC51U68_Keil.uvprojx diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/RegTest.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/RegTest.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/RegTest.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/RegTest.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/compiler_attributes.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/compiler_attributes.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/compiler_attributes.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/compiler_attributes.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/semihost_hardfault.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/semihost_hardfault.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/semihost_hardfault.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/semihost_hardfault.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/startup_lpc51u68.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/startup_lpc51u68.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/GCC_specific/startup_lpc51u68.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/GCC_specific/startup_lpc51u68.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/LPC51U68_256.FLM b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLM similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/LPC51U68_256.FLM rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_256.FLM diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/LPC51U68_flash.icf b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_flash.icf similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/LPC51U68_flash.icf rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_flash.icf diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/LPC51U68_ram.icf b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_ram.icf similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/LPC51U68_ram.icf rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/LPC51U68_ram.icf diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/RegTest_IAR.s b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/RegTest_IAR.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/RegTest_IAR.s rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/RegTest_IAR.s diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/compiler_attributes.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/compiler_attributes.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/compiler_attributes.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/compiler_attributes.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/startup_LPC51U68.s b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/startup_LPC51U68.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/IAR_specific/startup_LPC51U68.s rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/IAR_specific/startup_LPC51U68.s diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/LPC51U68_256.FLM b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLM similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/LPC51U68_256.FLM rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_256.FLM diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/LPC51U68_flash.scf b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_flash.scf similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/LPC51U68_flash.scf rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_flash.scf diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/LPC51U68_ram.scf b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_ram.scf similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/LPC51U68_ram.scf rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/LPC51U68_ram.scf diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/RegTest_Keil.s b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/RegTest_Keil.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/RegTest_Keil.s rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/RegTest_Keil.s diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/compiler_attributes.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/compiler_attributes.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/compiler_attributes.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/keil_lib_power.lib b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/keil_lib_power.lib similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/keil_lib_power.lib rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/keil_lib_power.lib diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/startup_LPC51U68.s b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/startup_LPC51U68.s similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/Keil_specific/startup_LPC51U68.s rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/Keil_specific/startup_LPC51U68.s diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/FreeRTOSConfig.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/FreeRTOSConfig.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/FreeRTOSConfig.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/IntQueueTimer.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/IntQueueTimer.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/IntQueueTimer.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/IntQueueTimer.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/IntQueueTimer.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/IntQueueTimer.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/IntQueueTimer.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/IntQueueTimer.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/main.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/main.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/main_blinky.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_blinky.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/main_blinky.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_blinky.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/main_full.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/app/main_full.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/app/main_full.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/board.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/board.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/board.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/board.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/board.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/board.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/board.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/board.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/clock_config.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/clock_config.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/clock_config.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/clock_config.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/clock_config.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/clock_config.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/clock_config.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/clock_config.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/peripherals.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/peripherals.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/peripherals.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/peripherals.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/peripherals.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/peripherals.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/peripherals.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/peripherals.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/pin_mux.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/pin_mux.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/pin_mux.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/pin_mux.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/pin_mux.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/pin_mux.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/board/boards/pin_mux.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/board/boards/pin_mux.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/lists/generic_list.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/lists/generic_list.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/lists/generic_list.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/lists/generic_list.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/lists/generic_list.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/lists/generic_list.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/lists/generic_list.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/lists/generic_list.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_manager.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_manager.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_manager.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_manager.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_manager.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_manager.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_manager.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_manager.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_port_internal.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_port_internal.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_port_internal.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_port_internal.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_port_uart.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_port_uart.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_port_uart.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_port_uart.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_port_uart.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_port_uart.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/serial_manager/serial_port_uart.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/serial_manager/serial_port_uart.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/uart/uart.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/uart/uart.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/uart/uart.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/uart/uart.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/uart/usart_adapter.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/uart/usart_adapter.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/component/uart/usart_adapter.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/component/uart/usart_adapter.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/LPC51U68.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/LPC51U68.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/LPC51U68.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/LPC51U68.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/LPC51U68_features.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/LPC51U68_features.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/LPC51U68_features.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/LPC51U68_features.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/fsl_device_registers.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/fsl_device_registers.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/fsl_device_registers.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/fsl_device_registers.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/system_LPC51U68.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/system_LPC51U68.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/system_LPC51U68.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/system_LPC51U68.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/system_LPC51U68.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/system_LPC51U68.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/device/system_LPC51U68.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/device/system_LPC51U68.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_clock.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_clock.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_clock.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_clock.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_clock.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_clock.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_clock.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_clock.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_common.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_common.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_common.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_common.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_common.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_common.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_common.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_common.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_ctimer.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_ctimer.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_ctimer.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_ctimer.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_ctimer.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_ctimer.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_ctimer.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_ctimer.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_flexcomm.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_flexcomm.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_flexcomm.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_flexcomm.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_flexcomm.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_flexcomm.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_flexcomm.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_flexcomm.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_gpio.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_gpio.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_gpio.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_gpio.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_gpio.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_gpio.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_gpio.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_gpio.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_iocon.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_iocon.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_iocon.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_iocon.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_pint.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_pint.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_pint.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_pint.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_pint.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_pint.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_pint.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_pint.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_power.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_power.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_power.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_power.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_power.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_power.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_power.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_power.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_reset.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_reset.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_reset.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_reset.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_reset.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_reset.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_reset.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_reset.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_usart.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_usart.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_usart.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_usart.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_usart.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_usart.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/drivers/fsl_usart.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/drivers/fsl_usart.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/readme.txt b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/readme.txt rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/readme.txt diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_assert.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_assert.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_assert.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_assert.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_debug_console.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_debug_console.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_debug_console.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_debug_console.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_debug_console.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_debug_console.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_debug_console.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_debug_console.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_debug_console_conf.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_debug_console_conf.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_debug_console_conf.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_debug_console_conf.h diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_str.c b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_str.c similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_str.c rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_str.c diff --git a/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_str.h b/FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_str.h similarity index 100% rename from FreeRTOS/Demo/CORTEX_M0+_LPC51U68_LPCXpresso/utilities/fsl_str.h rename to FreeRTOS/Demo/CORTEX_M0+_LPC51U68_GCC_IAR_KEIL/utilities/fsl_str.h diff --git a/FreeRTOS/Demo/Common/Minimal/QueueSet.c b/FreeRTOS/Demo/Common/Minimal/QueueSet.c index 0dc592823..ad34a50e5 100644 --- a/FreeRTOS/Demo/Common/Minimal/QueueSet.c +++ b/FreeRTOS/Demo/Common/Minimal/QueueSet.c @@ -51,6 +51,10 @@ /* Demo includes. */ #include "QueueSet.h" + +#if( configUSE_QUEUE_SETS == 1 ) /* Remove the tests if queue sets are not defined. */ + + /* The number of queues that are created and added to the queue set. */ #define queuesetNUM_QUEUES_IN_SET 3 @@ -149,6 +153,13 @@ static void prvChangeRelativePriorities( void ); */ static void prvTestQueueOverwriteWithQueueSet( void ); +/* + * Test the case where two queues within a set are written to with + * xQueueOverwrite(). + */ +static void prvTestQueueOverwriteOnTwoQueusInQueueSet( void ); +static void prvTestQueueOverwriteFromISROnTwoQueusInQueueSet( void ); + /* * Local pseudo random number seed and return functions. Used to avoid calls * to the standard library. @@ -616,13 +627,14 @@ const UBaseType_t xLengthOfOne = ( UBaseType_t ) 1; /* Create a queue that has a length of one - a requirement in order to call xQueueOverwrite. This will get deleted again when this test completes. */ xQueueHandle = xQueueCreate( xLengthOfOne, sizeof( uint32_t ) ); + configASSERT( xQueueHandle ); if( xQueueHandle != NULL ) { xQueueAddToSet( xQueueHandle, xQueueSet ); /* Add an item to the queue then ensure the queue set correctly - indicates that one item is available, and that that item is indeed the + indicates that one item is available, and that item is indeed the queue written to. */ xQueueOverwrite( xQueueHandle, ( void * ) &ulValueToSend ); if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 1 ) @@ -661,7 +673,18 @@ const UBaseType_t xLengthOfOne = ( UBaseType_t ) 1; xQueueReceive( xQueueHandle, &ulValueReceived, queuesetDONT_BLOCK ); if( ulValueReceived != ulValueToSend ) { - /* Unexpected value recevied from the queue. */ + /* Unexpected value received from the queue. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* Should be anything in the queue set now. */ + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 0 ) + { + xQueueSetTasksStatus = pdFAIL; + } + xReceivedHandle = xQueueSelectFromSet( xQueueSet, queuesetDONT_BLOCK ); + if( xReceivedHandle != NULL ) + { xQueueSetTasksStatus = pdFAIL; } @@ -672,6 +695,316 @@ const UBaseType_t xLengthOfOne = ( UBaseType_t ) 1; } /*-----------------------------------------------------------*/ +static void prvTestQueueOverwriteOnTwoQueusInQueueSet( void ) +{ +uint32_t ulValueToSend1 = 1, ulValueToSend2 = 2UL, ulValueReceived = 0; +QueueHandle_t xQueueHandle1 = NULL, xQueueHandle2 = NULL, xReceivedHandle = NULL; +const UBaseType_t xLengthOfOne = ( UBaseType_t ) 1; + + /* Create two queues that have a length of one - a requirement in order to call + xQueueOverwrite. These will get deleted again when this test completes. */ + xQueueHandle1 = xQueueCreate( xLengthOfOne, sizeof( uint32_t ) ); + configASSERT( xQueueHandle1 ); + xQueueHandle2 = xQueueCreate( xLengthOfOne, sizeof( uint32_t ) ); + configASSERT( xQueueHandle2 ); + + if( ( xQueueHandle1 != NULL ) && ( xQueueHandle2 != NULL ) ) + { + /* Add both queues to the queue set. */ + xQueueAddToSet( xQueueHandle1, xQueueSet ); + xQueueAddToSet( xQueueHandle2, xQueueSet ); + + /* Add an item using the first queue. */ + xQueueOverwrite( xQueueHandle1, ( void * ) &ulValueToSend1 ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 1 ) + { + /* Expected one item in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + xQueuePeek( xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle1 ) + { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + /* Next add an item to the second queue. */ + xQueueOverwrite( xQueueHandle2, ( void * ) &ulValueToSend2 ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* The head of the queue set should not have changed though. */ + xQueuePeek( xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle1 ) + { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + + + /* Now overwrite the value in the queue and ensure the queue set state + doesn't change as the number of items in the queues within the set have + not changed. NOTE: after this queue 1 should hold ulValueToSend2 and queue + 2 should hold the value ulValueToSend1. */ + xQueueOverwrite( xQueueHandle1, ( void * ) &ulValueToSend2 ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwrite( xQueueHandle2, ( void * ) &ulValueToSend1 ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + /* Repeat the above to ensure the queue set state doesn't change. */ + xQueueOverwrite( xQueueHandle1, ( void * ) &ulValueToSend2 ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwrite( xQueueHandle2, ( void * ) &ulValueToSend1 ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + /* Now when reading from the queue set we expect the handle to the first + queue to be received first, and for that queue to hold ulValueToSend2 as the + originally written value was overwritten. Likewise the second handle received + from the set should be that of the second queue, and that queue should hold + ulValueToSend1 as the originally written value was overwritten. */ + xReceivedHandle = xQueueSelectFromSet( xQueueSet, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle1 ) + { + /* Wrote to xQueueHandle1 first so expected that handle to be read from + the set first. */ + xQueueSetTasksStatus = pdFAIL; + } + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 1 ) + { + /* One value was read from the set, so now only expect a single value + in the set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive( xReceivedHandle, &ulValueReceived, queuesetDONT_BLOCK ); + if( ulValueReceived != ulValueToSend2 ) + { + /* Unexpected value received from the queue. ulValueToSend1 was written + first, but then overwritten with ulValueToSend2; */ + xQueueSetTasksStatus = pdFAIL; + } + + xReceivedHandle = xQueueSelectFromSet( xQueueSet, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle2 ) + { + /* xQueueHandle1 has already been removed from the set so expect only + xQueueHandle2 to be left. */ + xQueueSetTasksStatus = pdFAIL; + } + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 0 ) + { + /* The last value was read from the set so don't expect any more. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive( xReceivedHandle, &ulValueReceived, queuesetDONT_BLOCK ); + if( ulValueReceived != ulValueToSend1 ) + { + /* Unexpected value received from the queue. ulValueToSend2 was written + first, but then overwritten with ulValueToSend1. */ + xQueueSetTasksStatus = pdFAIL; + } + + + + + /* Should be anything in the queue set now. */ + xReceivedHandle = xQueueSelectFromSet( xQueueSet, queuesetDONT_BLOCK ); + if( xReceivedHandle != NULL ) + { + xQueueSetTasksStatus = pdFAIL; + } + + /* Clean up. */ + xQueueRemoveFromSet( xQueueHandle1, xQueueSet ); + xQueueRemoveFromSet( xQueueHandle2, xQueueSet ); + vQueueDelete( xQueueHandle1 ); + vQueueDelete( xQueueHandle2 ); + } +} +/*-----------------------------------------------------------*/ + +static void prvTestQueueOverwriteFromISROnTwoQueusInQueueSet( void ) +{ +uint32_t ulValueToSend1 = 1, ulValueToSend2 = 2UL, ulValueReceived = 0; +QueueHandle_t xQueueHandle1 = NULL, xQueueHandle2 = NULL, xReceivedHandle = NULL; +const UBaseType_t xLengthOfOne = ( UBaseType_t ) 1; + + /* Create two queues that have a length of one - a requirement in order to call + xQueueOverwrite. These will get deleted again when this test completes. */ + xQueueHandle1 = xQueueCreate( xLengthOfOne, sizeof( uint32_t ) ); + configASSERT( xQueueHandle1 ); + xQueueHandle2 = xQueueCreate( xLengthOfOne, sizeof( uint32_t ) ); + configASSERT( xQueueHandle2 ); + + if( ( xQueueHandle1 != NULL ) && ( xQueueHandle2 != NULL ) ) + { + /* Add both queues to the queue set. */ + xQueueAddToSet( xQueueHandle1, xQueueSet ); + xQueueAddToSet( xQueueHandle2, xQueueSet ); + + /* Add an item using the first queue using the 'FromISR' version of the + overwrite function. */ + xQueueOverwriteFromISR( xQueueHandle1, ( void * ) &ulValueToSend1, NULL ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 1 ) + { + /* Expected one item in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + xQueuePeek( xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle1 ) + { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + /* Next add an item to the second queue using the 'FromISR' version of the + overwrite function. */ + xQueueOverwriteFromISR( xQueueHandle2, ( void * ) &ulValueToSend2, NULL ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + /* The head of the queue set should not have changed though. */ + xQueuePeek( xQueueSet, &xReceivedHandle, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle1 ) + { + /* Wrote to xQueueHandle so expected xQueueHandle to be the handle + held in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + + + /* Now overwrite the value in the queue and ensure the queue set state + doesn't change as the number of items in the queues within the set have + not changed. NOTE: after this queue 1 should hold ulValueToSend2 and queue + 2 should hold the value ulValueToSend1. */ + xQueueOverwriteFromISR( xQueueHandle1, ( void * ) &ulValueToSend2, NULL ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwriteFromISR( xQueueHandle2, ( void * ) &ulValueToSend1, NULL ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + /* Repeat the above to ensure the queue set state doesn't change. */ + xQueueOverwriteFromISR( xQueueHandle1, ( void * ) &ulValueToSend2, NULL ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueOverwriteFromISR( xQueueHandle2, ( void * ) &ulValueToSend1, NULL ); + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 2 ) + { + /* Still expected two items in the queue set. */ + xQueueSetTasksStatus = pdFAIL; + } + + + /* Now when reading from the queue set we expect the handle to the first + queue to be received first, and for that queue to hold ulValueToSend2 as the + originally written value was overwritten. Likewise the second handle received + from the set should be that of the second queue, and that queue should hold + ulValueToSend1 as the originally written value was overwritten. */ + xReceivedHandle = xQueueSelectFromSet( xQueueSet, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle1 ) + { + /* Wrote to xQueueHandle1 first so expected that handle to be read from + the set first. */ + xQueueSetTasksStatus = pdFAIL; + } + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 1 ) + { + /* One value was read from the set, so now only expect a single value + in the set. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive( xReceivedHandle, &ulValueReceived, queuesetDONT_BLOCK ); + if( ulValueReceived != ulValueToSend2 ) + { + /* Unexpected value received from the queue. ulValueToSend1 was written + first, but then overwritten with ulValueToSend2; */ + xQueueSetTasksStatus = pdFAIL; + } + + xReceivedHandle = xQueueSelectFromSet( xQueueSet, queuesetDONT_BLOCK ); + if( xReceivedHandle != xQueueHandle2 ) + { + /* xQueueHandle1 has already been removed from the set so expect only + xQueueHandle2 to be left. */ + xQueueSetTasksStatus = pdFAIL; + } + if( uxQueueMessagesWaiting( xQueueSet ) != ( UBaseType_t ) 0 ) + { + /* The last value was read from the set so don't expect any more. */ + xQueueSetTasksStatus = pdFAIL; + } + xQueueReceive( xReceivedHandle, &ulValueReceived, queuesetDONT_BLOCK ); + if( ulValueReceived != ulValueToSend1 ) + { + /* Unexpected value received from the queue. ulValueToSend2 was written + first, but then overwritten with ulValueToSend1. */ + xQueueSetTasksStatus = pdFAIL; + } + + + + + /* Should be anything in the queue set now. */ + xReceivedHandle = xQueueSelectFromSet( xQueueSet, queuesetDONT_BLOCK ); + if( xReceivedHandle != NULL ) + { + xQueueSetTasksStatus = pdFAIL; + } + + /* Clean up. */ + xQueueRemoveFromSet( xQueueHandle1, xQueueSet ); + xQueueRemoveFromSet( xQueueHandle2, xQueueSet ); + vQueueDelete( xQueueHandle1 ); + vQueueDelete( xQueueHandle2 ); + } +} +/*-----------------------------------------------------------*/ + static void prvSetupTest( void ) { BaseType_t x; @@ -753,6 +1086,14 @@ uint32_t ulValueToSend = 0; be performed on queues that have a length of 1. */ prvTestQueueOverwriteWithQueueSet(); + /* Test the case where two queues within a set are written to with + xQueueOverwrite(). */ + prvTestQueueOverwriteOnTwoQueusInQueueSet(); + prvTestQueueOverwriteFromISROnTwoQueusInQueueSet(); + + /* In case any of the above have already indicated a failure. */ + configASSERT( xQueueSetTasksStatus != pdFAIL ); + /* Resume the task that writes to the queues. */ vTaskResume( xQueueSetSendingTask ); @@ -773,3 +1114,4 @@ static void prvSRand( size_t uxSeed ) uxNextRand = uxSeed; } +#endif /* ( configUSE_QUEUE_SETS == 1 ) */ diff --git a/FreeRTOS/Demo/Common/Minimal/QueueSetPolling.c b/FreeRTOS/Demo/Common/Minimal/QueueSetPolling.c index 7815d731a..e5e57d43c 100644 --- a/FreeRTOS/Demo/Common/Minimal/QueueSetPolling.c +++ b/FreeRTOS/Demo/Common/Minimal/QueueSetPolling.c @@ -51,6 +51,8 @@ /* Demo includes. */ #include "QueueSetPolling.h" +#if( configUSE_QUEUE_SETS == 1 ) /* Remove tests if queue sets are not defined. */ + /* The length of each created queue. */ #define setpollQUEUE_LENGTH 10 @@ -177,3 +179,4 @@ static uint32_t ulLastCycleCounter = 0; /*-----------------------------------------------------------*/ +#endif /* ( configUSE_QUEUE_SETS == 1 ) */ -- 2.39.2