summaryrefslogtreecommitdiff
path: root/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos
diff options
context:
space:
mode:
authorStefan Agner <stefan@agner.ch>2016-05-02 19:13:19 -0700
committerStefan Agner <stefan@agner.ch>2016-05-09 17:17:05 -0700
commit21d6d84123de8e6e2ebdf5543b530403951b3059 (patch)
tree046a7fa39e1c7cff49792ac67f1ae899271a56b7 /examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos
parent2fb8ccd4adf6433033a402e2fa07c2f11c489518 (diff)
resync with FreeRTOS_BSP_1.0.1_iMX7D
Diffstat (limited to 'examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos')
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/FreeRTOSConfig.h163
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/CMakeLists.txt199
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.bat5
-rwxr-xr-xexamples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.sh5
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.bat3
-rwxr-xr-xexamples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.sh3
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.bat3
-rwxr-xr-xexamples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.sh3
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.bat3
-rwxr-xr-xexamples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.sh3
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.cproject137
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.project86
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/hardware_init.c54
-rw-r--r--examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c146
14 files changed, 813 insertions, 0 deletions
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/FreeRTOSConfig.h b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/FreeRTOSConfig.h
new file mode 100644
index 0000000..c57902e
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/FreeRTOSConfig.h
@@ -0,0 +1,163 @@
+/*
+ FreeRTOS V8.0.0 - Copyright (C) 2014 Real Time Engineers Ltd.
+ All rights reserved
+
+ VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
+
+ ***************************************************************************
+ * *
+ * FreeRTOS provides completely free yet professionally developed, *
+ * robust, strictly quality controlled, supported, and cross *
+ * platform software that has become a de facto standard. *
+ * *
+ * Help yourself get started quickly and support the FreeRTOS *
+ * project by purchasing a FreeRTOS tutorial book, reference *
+ * manual, or both from: http://www.FreeRTOS.org/Documentation *
+ * *
+ * Thank you! *
+ * *
+ ***************************************************************************
+
+ This file is part of the FreeRTOS distribution.
+
+ FreeRTOS is free software; you can redistribute it and/or modify it under
+ the terms of the GNU General Public License (version 2) as published by the
+ Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
+
+ >>! NOTE: The modification to the GPL is included to allow you to distribute
+ >>! a combined work that includes FreeRTOS without being obliged to provide
+ >>! the source code for proprietary components outside of the FreeRTOS
+ >>! kernel.
+
+ FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
+ WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ FOR A PARTICULAR PURPOSE. Full license text is available from the following
+ link: http://www.freertos.org/a00114.html
+
+ 1 tab == 4 spaces!
+
+ ***************************************************************************
+ * *
+ * Having a problem? Start by reading the FAQ "My application does *
+ * not run, what could be wrong?" *
+ * *
+ * http://www.FreeRTOS.org/FAQHelp.html *
+ * *
+ ***************************************************************************
+
+ http://www.FreeRTOS.org - Documentation, books, training, latest versions,
+ license and Real Time Engineers Ltd. contact details.
+
+ http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
+ including FreeRTOS+Trace - an indispensable productivity tool, a DOS
+ compatible FAT file system, and our tiny thread aware UDP/IP stack.
+
+ http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
+ Integrity Systems to sell under the OpenRTOS brand. Low cost OpenRTOS
+ licenses offer ticketed support, indemnification and middleware.
+
+ http://www.SafeRTOS.com - High Integrity Systems also provide a safety
+ engineered and independently SIL3 certified version for use in safety and
+ mission critical applications that require provable dependability.
+
+ 1 tab == 4 spaces!
+*/
+
+
+#ifndef FREERTOS_CONFIG_H
+#define FREERTOS_CONFIG_H
+
+/*-----------------------------------------------------------
+ * Application specific definitions.
+ *
+ * These definitions should be adjusted for your particular hardware and
+ * application requirements.
+ *
+ * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
+ * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
+ *
+ * See http://www.freertos.org/a00110.html.
+ *----------------------------------------------------------*/
+
+/* Ensure stdint is only used by the compiler, and not the assembler. */
+#ifdef __ICCARM__
+ #include <stdint.h>
+#endif
+
+#define configUSE_PREEMPTION 1
+#define configUSE_IDLE_HOOK 0
+#define configUSE_TICK_HOOK 0
+#define configCPU_CLOCK_HZ (240000000ul)
+#define configTICK_RATE_HZ ((TickType_t)1000)
+#define configMAX_PRIORITIES (5)
+#define configMINIMAL_STACK_SIZE ((unsigned short)130)
+#define configTOTAL_HEAP_SIZE ((size_t)(20 * 1024))
+#define configMAX_TASK_NAME_LEN (10)
+#define configUSE_TRACE_FACILITY 0
+#define configUSE_16_BIT_TICKS 0
+#define configIDLE_SHOULD_YIELD 0
+#define configUSE_MUTEXES 0
+#define configQUEUE_REGISTRY_SIZE 8
+#define configCHECK_FOR_STACK_OVERFLOW 0
+#define configUSE_RECURSIVE_MUTEXES 0
+#define configUSE_MALLOC_FAILED_HOOK 0
+#define configUSE_APPLICATION_TASK_TAG 0
+#define configUSE_COUNTING_SEMAPHORES 1
+#define configGENERATE_RUN_TIME_STATS 0
+
+/* Co-routine definitions. */
+#define configUSE_CO_ROUTINES 0
+#define configMAX_CO_ROUTINE_PRIORITIES (2)
+
+/* Software timer definitions. */
+#define configUSE_TIMERS 0
+#define configTIMER_TASK_PRIORITY (2)
+#define configTIMER_QUEUE_LENGTH 10
+#define configTIMER_TASK_STACK_DEPTH (configMINIMAL_STACK_SIZE * 2)
+
+/* Set the following definitions to 1 to include the API function, or zero
+to exclude the API function. */
+#define INCLUDE_vTaskPrioritySet 0
+#define INCLUDE_uxTaskPriorityGet 0
+#define INCLUDE_vTaskDelete 0
+#define INCLUDE_vTaskCleanUpResources 0
+#define INCLUDE_vTaskSuspend 1
+#define INCLUDE_vTaskDelayUntil 0
+#define INCLUDE_vTaskDelay 1
+
+/* Cortex-M specific definitions. */
+#ifdef __NVIC_PRIO_BITS
+ /* __BVIC_PRIO_BITS will be specified when CMSIS is being used. */
+ #define configPRIO_BITS __NVIC_PRIO_BITS
+#else
+ #define configPRIO_BITS 4 /* 15 priority levels */
+#endif
+
+/* The lowest interrupt priority that can be used in a call to a "set priority"
+function. */
+#define configLIBRARY_LOWEST_INTERRUPT_PRIORITY 0xf
+
+/* The highest interrupt priority that can be used by any interrupt service
+routine that makes calls to interrupt safe FreeRTOS API functions. DO NOT CALL
+INTERRUPT SAFE FREERTOS API FUNCTIONS FROM ANY INTERRUPT THAT HAS A HIGHER
+PRIORITY THAN THIS! (higher priorities are lower numeric values. */
+#define configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY 1
+
+/* Interrupt priorities used by the kernel port layer itself. These are generic
+to all Cortex-M ports, and do not rely on any particular library functions. */
+#define configKERNEL_INTERRUPT_PRIORITY (configLIBRARY_LOWEST_INTERRUPT_PRIORITY << (8 - configPRIO_BITS))
+/* !!!! configMAX_SYSCALL_INTERRUPT_PRIORITY must not be set to zero !!!!
+See http://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html. */
+#define configMAX_SYSCALL_INTERRUPT_PRIORITY (configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY << (8 - configPRIO_BITS))
+
+/* Normal assert() semantics without relying on the provision of an assert.h
+header file. */
+#define configASSERT(x) if((x) == 0) {taskDISABLE_INTERRUPTS(); for(;;);}
+
+/* Definitions that map the FreeRTOS port interrupt handlers to their CMSIS
+standard names. */
+#define vPortSVCHandler SVC_Handler
+#define xPortPendSVHandler PendSV_Handler
+#define xPortSysTickHandler SysTick_Handler
+
+#endif /* FREERTOS_CONFIG_H */
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/CMakeLists.txt b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/CMakeLists.txt
new file mode 100644
index 0000000..19eeddc
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/CMakeLists.txt
@@ -0,0 +1,199 @@
+INCLUDE(CMakeForceCompiler)
+
+# CROSS COMPILER SETTING
+SET(CMAKE_SYSTEM_NAME Generic)
+CMAKE_MINIMUM_REQUIRED (VERSION 2.6)
+
+# THE VERSION NUMBER
+SET (Tutorial_VERSION_MAJOR 1)
+SET (Tutorial_VERSION_MINOR 0)
+
+# ENABLE ASM
+ENABLE_LANGUAGE(ASM)
+
+SET(CMAKE_STATIC_LIBRARY_PREFIX)
+SET(CMAKE_STATIC_LIBRARY_SUFFIX)
+
+SET(CMAKE_EXECUTABLE_LIBRARY_PREFIX)
+SET(CMAKE_EXECUTABLE_LIBRARY_SUFFIX)
+
+
+# CURRENT DIRECTORY
+SET(ProjDirPath ${CMAKE_CURRENT_SOURCE_DIR})
+
+# DEBUG LINK FILE
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -T${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm.ld -static")
+
+# RELEASE LINK FILE
+set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -T${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/linker/gcc/MCIMX7D_M4_tcm.ld -static")
+
+# DEBUG ASM FLAGS
+SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -g -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99")
+
+# DEBUG C FLAGS
+SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -O0 -fno-strict-aliasing -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb -MMD -MP -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99")
+
+# DEBUG LD FLAGS
+SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -g -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 --specs=nano.specs -lm -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -Os -mthumb -mapcs -Xlinker --gc-sections -Xlinker -static -Xlinker -z -Xlinker muldefs")
+
+# RELEASE ASM FLAGS
+SET(CMAKE_ASM_FLAGS_RELEASE "${CMAKE_ASM_FLAGS_RELEASE} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99")
+
+# RELEASE C FLAGS
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Os -fno-strict-aliasing -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mthumb -MMD -MP -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -mapcs -std=gnu99")
+
+# RELEASE LD FLAGS
+SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 --specs=nano.specs -lm -Wall -fno-common -ffunction-sections -fdata-sections -ffreestanding -fno-builtin -Os -mthumb -mapcs -Xlinker --gc-sections -Xlinker -static -Xlinker -z -Xlinker muldefs")
+
+# ASM MACRO
+SET(CMAKE_ASM_FLAGS_DEBUG "${CMAKE_ASM_FLAGS_DEBUG} -D__DEBUG")
+
+# C MACRO
+SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D__DEBUG")
+SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -DCPU_MCIMX7D_M4")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -D__NDEBUG")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DCPU_MCIMX7D_M4")
+
+# CXX MACRO
+
+# INCLUDE_DIRECTORIES
+IF(CMAKE_BUILD_TYPE MATCHES Debug)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/portable/GCC/ARM_CM4F)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/CMSIS/Include)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/devices)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/include)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/startup)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/drivers/inc)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/utilities/inc)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../middleware/multicore/open-amp)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/env/freertos)
+ELSEIF(CMAKE_BUILD_TYPE MATCHES Release)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/portable/GCC/ARM_CM4F)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/CMSIS/Include)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/devices)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/include)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/startup)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/drivers/inc)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../platform/utilities/inc)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../middleware/multicore/open-amp)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/..)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4)
+ INCLUDE_DIRECTORIES(${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/env/freertos)
+ENDIF()
+
+# ADD_EXECUTABLE
+ADD_EXECUTABLE(rpmsg_str_echo_freertos_example
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/portable/GCC/ARM_CM4F/portmacro.h"
+ "${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/startup/gcc/startup_MCIMX7D_M4.S"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/portable/MemMang/heap_2.c"
+ "${ProjDirPath}/../FreeRTOSConfig.h"
+ "${ProjDirPath}/../str_echo_freertos.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg_rtos.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4/platform.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4/rpmsg_platform_porting.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg_ext.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/common/hil/hil.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/common/llist/llist.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/common/shm/sh_mem.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/config/config.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/env/env.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg_core.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/virtio/virtio.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/virtio/virtio_ring.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/virtio/virtqueue.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/env/freertos/rpmsg_porting.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/croutine.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/event_groups.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/FreeRTOS.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/list.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/mpu_wrappers.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/portable.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/projdefs.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/queue.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/semphr.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/StackMacros.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/task.h"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include/timers.h"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/ccm_analog_imx7d.h"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/ccm_imx7d.h"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/lmem.h"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/rdc.h"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/rdc_defs_imx7d.h"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/wdog_imx.h"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg_rtos.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4/platform.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4/platform_info.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/common/hil/hil.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/common/llist/llist.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/common/shm/sh_mem.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/config/config.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/remote_device.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg_ext.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/rpmsg/rpmsg_core.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/virtio/virtio.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/virtio/virtqueue.c"
+ "${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/env/freertos/rpmsg_porting.c"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/croutine.c"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/event_groups.c"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/list.c"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/queue.c"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/tasks.c"
+ "${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/timers.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/src/ccm_analog_imx7d.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/src/ccm_imx7d.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/src/lmem.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/src/rdc.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/src/wdog_imx.c"
+ "${ProjDirPath}/../../../../../../platform/utilities/src/debug_console_imx.c"
+ "${ProjDirPath}/../../../../../../platform/utilities/inc/debug_console_imx.h"
+ "${ProjDirPath}/../../../../../../platform/utilities/src/print_scan.c"
+ "${ProjDirPath}/../../../../../../platform/utilities/src/print_scan.h"
+ "${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/startup/system_MCIMX7D_M4.c"
+ "${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/startup/system_MCIMX7D_M4.h"
+ "${ProjDirPath}/../../../../pin_mux.c"
+ "${ProjDirPath}/../../../../pin_mux.h"
+ "${ProjDirPath}/../../../../board.c"
+ "${ProjDirPath}/../../../../board.h"
+ "${ProjDirPath}/../../../../clock_freq.c"
+ "${ProjDirPath}/../../../../clock_freq.h"
+ "${ProjDirPath}/../hardware_init.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/src/uart_imx.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/uart_imx.h"
+ "${ProjDirPath}/../../../../../../platform/drivers/src/mu_imx.c"
+ "${ProjDirPath}/../../../../../../platform/drivers/inc/mu_imx.h"
+)
+SET_TARGET_PROPERTIES(rpmsg_str_echo_freertos_example PROPERTIES OUTPUT_NAME "rpmsg_str_echo_freertos_example.elf")
+
+TARGET_LINK_LIBRARIES(rpmsg_str_echo_freertos_example -Wl,--start-group)
+# LIBRARIES
+IF(CMAKE_BUILD_TYPE MATCHES Debug)
+ELSEIF(CMAKE_BUILD_TYPE MATCHES Release)
+ENDIF()
+
+# SYSTEM LIBRARIES
+TARGET_LINK_LIBRARIES(rpmsg_str_echo_freertos_example m)
+TARGET_LINK_LIBRARIES(rpmsg_str_echo_freertos_example c)
+TARGET_LINK_LIBRARIES(rpmsg_str_echo_freertos_example gcc)
+TARGET_LINK_LIBRARIES(rpmsg_str_echo_freertos_example nosys)
+TARGET_LINK_LIBRARIES(rpmsg_str_echo_freertos_example -Wl,--end-group)
+
+# MAP FILE
+SET(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} -Xlinker -Map=debug/rpmsg_str_echo_freertos_example.map")
+SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -Xlinker -Map=release/rpmsg_str_echo_freertos_example.map")
+
+# BIN AND HEX
+ADD_CUSTOM_COMMAND(TARGET rpmsg_str_echo_freertos_example POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Oihex ${EXECUTABLE_OUTPUT_PATH}/rpmsg_str_echo_freertos_example.elf ${EXECUTABLE_OUTPUT_PATH}/rpmsg_str_echo_freertos_example.hex)
+ADD_CUSTOM_COMMAND(TARGET rpmsg_str_echo_freertos_example POST_BUILD COMMAND ${CMAKE_OBJCOPY} -Obinary ${EXECUTABLE_OUTPUT_PATH}/rpmsg_str_echo_freertos_example.elf ${EXECUTABLE_OUTPUT_PATH}/rpmsg_str_echo_freertos_example.bin)
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.bat b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.bat
new file mode 100644
index 0000000..0cf721f
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.bat
@@ -0,0 +1,5 @@
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug .
+mingw32-make -j4
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release .
+mingw32-make -j4
+pause
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.sh b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.sh
new file mode 100755
index 0000000..3827529
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_all.sh
@@ -0,0 +1,5 @@
+#!/bin/sh
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug .
+make -j4
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .
+make -j4
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.bat b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.bat
new file mode 100644
index 0000000..e9ccfdd
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.bat
@@ -0,0 +1,3 @@
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Debug .
+mingw32-make -j4
+pause
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.sh b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.sh
new file mode 100755
index 0000000..effd076
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_debug.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug .
+make -j4
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.bat b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.bat
new file mode 100644
index 0000000..0759349
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.bat
@@ -0,0 +1,3 @@
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release .
+mingw32-make -j4
+pause
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.sh b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.sh
new file mode 100755
index 0000000..a12067d
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/build_release.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+cmake -DCMAKE_TOOLCHAIN_FILE="../../../../../../tools/cmake_toolchain_files/armgcc.cmake" -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release .
+make -j4
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.bat b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.bat
new file mode 100644
index 0000000..ffea088
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.bat
@@ -0,0 +1,3 @@
+RD /s /Q Debug Release CMakeFiles
+DEL /s /Q /F Makefile cmake_install.cmake CMakeCache.txt
+pause
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.sh b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.sh
new file mode 100755
index 0000000..795ad87
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/armgcc/clean.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+rm -rf debug release CMakeFiles
+rm -rf Makefile cmake_install.cmake CMakeCache.txt
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.cproject b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.cproject
new file mode 100644
index 0000000..3f36df1
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.cproject
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="com.arm.eclipse.build.config.baremetal.exe.debug.893051445.1002809623">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.arm.eclipse.build.config.baremetal.exe.debug.893051445.1002809623" moduleId="org.eclipse.cdt.core.settings" name="debug">
+ <externalSettings/>
+ <extensions>
+ <extension id="com.arm.eclipse.builder.armcc.error" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="axf" artifactName="${ProjName}" buildArtefactType="com.arm.eclipse.build.artefact.baremetal.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=com.arm.eclipse.build.artefact.baremetal.exe" cleanCommand="clean" description="" id="com.arm.eclipse.build.config.baremetal.exe.debug.893051445.1002809623" name="debug" parent="com.arm.eclipse.build.config.baremetal.exe.debug" postbuildStep="fromelf --bincombined --output=${ProjName}.bin ${ProjName}.axf">
+ <folderInfo id="com.arm.eclipse.build.config.baremetal.exe.debug.893051445.1002809623." name="/" resourcePath="">
+ <toolChain errorParsers="com.arm.eclipse.builder.armcc.error" id="com.arm.toolchain.baremetal.exe.debug.505048968" name="ARM Compiler" nonInternalBuilderId="com.arm.toolchain.baremetal.builder" superClass="com.arm.toolchain.baremetal.exe.debug">
+ <targetPlatform binaryParser="" id="com.arm.toolchain.baremetal.exe.debug.505048968.350348883" name=""/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/app/debug}" cleanBuildTarget="clean" id="org.eclipse.cdt.build.core.internal.builder.38020294" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="org.eclipse.cdt.build.core.internal.builder"/>
+ <tool command="armcc" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="" id="com.arm.tool.c.compiler.baremetal.exe.debug.1725848509" name="ARM C Compiler" superClass="com.arm.tool.c.compiler.baremetal.exe.debug">
+ <option id="com.arm.tool.c.compiler.option.incpath.349366493" name="Include path (-I)" superClass="com.arm.tool.c.compiler.option.incpath"><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/portable/RVDS/ARM_CM4F"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/CMSIS/Include"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/devices"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/include"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/startup"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/drivers/inc"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/utilities/inc"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../.."/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../middleware/multicore/open-amp"/><listOptionValue builtIn="false" value="${ProjDirPath}/.."/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/env/freertos"/></option>
+ <option id="com.arm.tool.c.compiler.option.defmac.1627388367" name="Define macro (-D)" superClass="com.arm.tool.c.compiler.option.defmac"><listOptionValue builtIn="false" value="__DEBUG"/><listOptionValue builtIn="false" value="CPU_MCIMX7D_M4"/></option>
+ <option id="com.arm.tool.c.compiler.option.targetcpu.1309268616" name="Target CPU (--cpu)" superClass="com.arm.tool.c.compiler.option.targetcpu" value="Cortex-M4" valueType="string"/>
+ <option id="com.arm.tool.c.compiler.option.targetfpu.1098489790" name="Target FPU (--fpu)" superClass="com.arm.tool.c.compiler.option.targetfpu" value="FPv4-SP" valueType="string"/>
+ <option id="com.arm.tool.c.compiler.option.fpmode.1539082142" name="Floating-point mode (--fpmode)" superClass="com.arm.tool.c.compiler.option.fpmode" value="com.arm.tool.c.compiler.option.fpmode.default" valueType="enumerated"/>
+ <option id="com.arm.tool.c.compiler.option.fppcs.928968199" name="Floating-point PCS (--apcs)" superClass="com.arm.tool.c.compiler.option.fppcs" value="com.arm.tool.c.compiler.option.fppcs.auto" valueType="enumerated"/>
+ <option id="com.arm.tool.c.compiler.option.flags.49715708" name="Other flags" superClass="com.arm.tool.c.compiler.option.flags" value="--c99 --split_sections " valueType="string"/>
+ <option id="com.arm.tool.c.compiler.options.debug.enabled.652416105" name="Enable debug (-g)" superClass="com.arm.tool.c.compiler.options.debug.enabled" value="true" valueType="boolean"/>
+ <option id="com.arm.tool.assembler.option.preproc.664063762" name="Preprocess input before assembling (--cpreproc)" superClass="com.arm.tool.assembler.option.preproc" value="false" valueType="boolean"/>
+ <option id="com.arm.tool.c.compiler.option.endian.2486374826" name="Byte order" superClass="com.arm.tool.c.compiler.option.endian" value="com.arm.tool.c.compiler.option.endian.auto" valueType="enumerated"/>
+ <inputType id="com.arm.tool.c.compiler.input.1814530651" superClass="com.arm.tool.c.compiler.input"/>
+ <inputType id="com.arm.tool.cpp.compiler.input.988841684" superClass="com.arm.tool.cpp.compiler.input"/>
+ <option id="com.arm.tool.c.compiler.option.gnu.1724562235" superClass="com.arm.tool.c.compiler.option.gnu" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.charsize.9851054374" superClass="com.arm.tool.c.compiler.option.charsize" valueType="enumerated" value="com.arm.tool.c.compiler.option.enum.auto"/><option id="com.arm.tool.c.compiler.baremetal.exe.debug.base.option.opt.3906072680" superClass="com.arm.tool.c.compiler.baremetal.exe.debug.base.option.opt" valueType="enumerated" value="com.arm.tool.c.compiler.option.optlevel.min"/><option id="com.arm.tool.c.compiler.option.optfor.336075658" superClass="com.arm.tool.c.compiler.option.optfor" valueType="enumerated" value="com.arm.tool.c.compiler.option.optfor.auto"/><option id="com.arm.tool.c.compile.option.lang.2962485490" superClass="com.arm.tool.c.compile.option.lang" valueType="enumerated" value="com.arm.tool.c.compile.option.lang.auto"/><option id="com.arm.tool.c.compiler.option.strict.8209854928" superClass="com.arm.tool.c.compiler.option.strict" valueType="enumerated" value="com.arm.tool.c.compiler.option.strict.auto"/><option id="com.arm.tool.c.compiler.option.suppress.9850592413" superClass="com.arm.tool.c.compiler.option.suppress" valueType="string" value="1296,66"/><option id="com.arm.tool.c.compiler.options.debug.format.1231279965" superClass="com.arm.tool.c.compiler.options.debug.format" valueType="enumerated" value="com.arm.tool.c.compiler.options.debug.format.auto"/><option id="com.arm.tool.c.compiler.option.inst.8595500130" superClass="com.arm.tool.c.compiler.option.inst" valueType="enumerated" value="com.arm.tool.c.compiler.option.inst.auto"/><option id="com.arm.tool.c.compiler.option.inter.9726526617" superClass="com.arm.tool.c.compiler.option.inter" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.unalign.645110078" superClass="com.arm.tool.c.compiler.option.unalign" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.vector.7770818284" superClass="com.arm.tool.c.compiler.option.vector" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.enum.8983244482" superClass="com.arm.tool.c.compiler.option.enum" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.suppresswarn.499409741" superClass="com.arm.tool.c.compiler.option.suppresswarn" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.warnaserr.3157635745" superClass="com.arm.tool.c.compiler.option.warnaserr" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.enablerem.2190809938" superClass="com.arm.tool.c.compiler.option.enablerem" valueType="boolean" value="false"/></tool>
+ <tool id="com.arm.tool.cpp.compiler.baremetal.exe.debug.1769458477" name="ARM C++ Compiler" superClass="com.arm.tool.cpp.compiler.baremetal.exe.debug">
+ <option id="com.arm.tool.c.compiler.option.flags.125692915" name="Other flags" superClass="com.arm.tool.c.compiler.option.flags" value="--c99 --split_sections " valueType="string"/>
+ </tool>
+ <tool command="armasm" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="" id="com.arm.tool.assembler.1155958963" name="ARM Assembler" superClass="com.arm.tool.assembler">
+ <option id="com.arm.tool.assembler.option.cpu.423475341" name="Target CPU (--cpu)" superClass="com.arm.tool.assembler.option.cpu" value="Cortex-M4" valueType="string"/>
+ <option id="com.arm.tool.assembler.option.fpu.560570852" name="Target FPU (--fpu)" superClass="com.arm.tool.assembler.option.fpu" value="FPv4-SP" valueType="string"/>
+ <option id="com.arm.tool.assembler.option.fpmode.2114797651" name="Floating-point mode (--fpmode)" superClass="com.arm.tool.assembler.option.fpmode" value="com.arm.tool.c.compiler.option.fpmode.default" valueType="enumerated"/>
+ <option id="com.arm.tool.assembler.option.fppcs.2043711002" name="Floating-point PCS (--apcs)" superClass="com.arm.tool.assembler.option.fppcs" value="com.arm.tool.c.compiler.option.fppcs.auto" valueType="enumerated"/>
+ <option id="com.arm.tool.assembler.option.flags.2068342579" name="Other flags" superClass="com.arm.tool.assembler.option.flags" value="-I&quot;${ProjDirPath}/../../../..&quot; -I&quot;${ProjDirPath}/..&quot; " valueType="string"/>
+ <option id="com.arm.tool.assembler.option.preproc.664063762" name="Preprocess input before assembling (--cpreproc)" superClass="com.arm.tool.assembler.option.preproc" value="true" valueType="boolean"/>
+ <option id="com.arm.tool.assembler.option.preprocflags.7539307256" superClass="com.arm.tool.assembler.option.preprocflags" valueType="string" value="-D__DEBUG"/><option id="com.arm.tool.assembler.option.unalign.4635627140" superClass="com.arm.tool.assembler.option.unalign" valueType="boolean" value="false"/><option id="com.arm.tool.assembler.option.inter.2397004050" superClass="com.arm.tool.assembler.option.inter" valueType="boolean" value="false"/><option id="com.arm.tool.assembler.option.inst.9796365286" superClass="com.arm.tool.assembler.option.inst" valueType="enumerated" value="com.arm.tool.c.compiler.option.inst.auto"/><option id="com.arm.tool.assembler.option.endian.4209370779" superClass="com.arm.tool.assembler.option.endian" valueType="enumerated" value="com.arm.tool.c.compiler.option.endian.little"/><option id="com.arm.tool.assembler.option.debug.format.7871082756" superClass="com.arm.tool.assembler.option.debug.format" valueType="enumerated" value="com.arm.tool.c.compiler.options.debug.format.auto"/><option id="com.arm.tool.assembler.option.sup.5514710509" superClass="com.arm.tool.assembler.option.sup" valueType="string" value="1296,66"/></tool>
+ <tool command="armlink" commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" errorParsers="" id="com.arm.tool.c.linker.1088675316" name="ARM Linker" superClass="com.arm.tool.c.linker">
+ <option id="com.arm.tool.c.linker.option.cpu.267638742" name="Target CPU (--cpu)" superClass="com.arm.tool.c.linker.option.cpu" value="Cortex-M4" valueType="string"/>
+ <option id="com.arm.tool.c.linker.option.scatter.1868789905" name="Scatter file (--scatter)" superClass="com.arm.tool.c.linker.option.scatter" value="${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/linker/arm/MCIMX7D_M4_tcm.scf" valueType="string"/>
+ <option id="com.arm.tool.c.linker.option.libs.1325797835" name="Libraries (--library)" superClass="com.arm.tool.c.linker.option.libs"/>
+ <option id="com.arm.tool.c.linker.option.libsearch.1542315655" name="Library search path (--userlibpath)" superClass="com.arm.tool.c.linker.option.libsearch"/>
+ <option id="com.arm.tool.c.linker.libs.491659161" name="Other library files" superClass="com.arm.tool.c.linker.libs"/>
+ <option id="com.arm.tool.c.linker.option.entry.1665317816" name="Image entry point (--entry)" superClass="com.arm.tool.c.linker.option.entry" value="Reset_Handler" valueType="string"/>
+ <option id="com.arm.tool.c.linker.option.imagemap.909474066" name="Generate image map (--map)" superClass="com.arm.tool.c.linker.option.imagemap" value="false" valueType="boolean"/>
+ <option id="com.arm.tool.c.linker.option.syslibs.948170747" name="Standard library search path (--libpath)" superClass="com.arm.tool.c.linker.option.syslibs"/>
+
+ <inputType id="com.arm.tool.c.linker.input.334720080" superClass="com.arm.tool.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ <option id="com.arm.tool.c.linker.option.fpu.8714726971" superClass="com.arm.tool.c.linker.option.fpu" valueType="string" value="FPv4-SP"/><option id="com.arm.tool.c.linker.option.sizes.8711453328" superClass="com.arm.tool.c.linker.option.sizes" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.totals.7483334764" superClass="com.arm.tool.c.linker.option.totals" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.compress.7301484486" superClass="com.arm.tool.c.linker.option.compress" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.stack.3926545965" superClass="com.arm.tool.c.linker.option.stack" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.inlineinfo.4585272579" superClass="com.arm.tool.c.linker.option.inlineinfo" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.elim.8540342433" superClass="com.arm.tool.c.linker.option.elim" valueType="boolean" value="false"/></tool>
+ <tool id="com.arm.tool.librarian.109887334" name="ARM Librarian" superClass="com.arm.tool.librarian"/>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="com.arm.eclipse.build.config.baremetal.exe.debug.2022285397.1552618666">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="com.arm.eclipse.build.config.baremetal.exe.debug.2022285397.1552618666" moduleId="org.eclipse.cdt.core.settings" name="release">
+ <externalSettings/>
+ <extensions>
+ <extension id="com.arm.eclipse.builder.armcc.error" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="axf" artifactName="${ProjName}" buildArtefactType="com.arm.eclipse.build.artefact.baremetal.exe" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=com.arm.eclipse.build.artefact.baremetal.exe" cleanCommand="clean" description="" id="com.arm.eclipse.build.config.baremetal.exe.debug.2022285397.1552618666" name="release" parent="com.arm.eclipse.build.config.baremetal.exe.debug" postbuildStep="fromelf --bincombined --output=${ProjName}.bin ${ProjName}.axf">
+ <folderInfo id="com.arm.eclipse.build.config.baremetal.exe.debug.2022285397.1552618666." name="/" resourcePath="">
+ <toolChain id="com.arm.toolchain.baremetal.exe.debug.1871020344" name="ARM Compiler" nonInternalBuilderId="com.arm.toolchain.baremetal.builder" superClass="com.arm.toolchain.baremetal.exe.debug">
+ <targetPlatform id="com.arm.toolchain.baremetal.exe.debug.1871020344.229212655" name=""/>
+ <builder autoBuildTarget="all" buildPath="${workspace_loc:/app/release}" cleanBuildTarget="clean" id="org.eclipse.cdt.build.core.internal.builder.1172218807" incrementalBuildTarget="all" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="CDT Internal Builder" superClass="org.eclipse.cdt.build.core.internal.builder"/>
+ <tool id="com.arm.tool.c.compiler.baremetal.exe.debug.724686906" name="ARM C Compiler" superClass="com.arm.tool.c.compiler.baremetal.exe.debug">
+ <option id="com.arm.tool.c.compiler.option.incpath.2126170575" name="Include path (-I)" superClass="com.arm.tool.c.compiler.option.incpath"><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/portable/RVDS/ARM_CM4F"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/CMSIS/Include"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/devices"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/include"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/startup"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/drivers/inc"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../rtos/FreeRTOS/Source/include"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../platform/utilities/inc"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../.."/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../middleware/multicore/open-amp"/><listOptionValue builtIn="false" value="${ProjDirPath}/.."/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/imx7d_m4"/><listOptionValue builtIn="false" value="${ProjDirPath}/../../../../../../middleware/multicore/open-amp/porting/env/freertos"/></option>
+ <option id="com.arm.tool.c.compiler.option.defmac.741292309" name="Define macro (-D)" superClass="com.arm.tool.c.compiler.option.defmac"><listOptionValue builtIn="false" value="__NDEBUG"/><listOptionValue builtIn="false" value="CPU_MCIMX7D_M4"/></option>
+ <option id="com.arm.tool.c.compiler.option.targetcpu.499083253" name="Target CPU (--cpu)" superClass="com.arm.tool.c.compiler.option.targetcpu" value="Cortex-M4" valueType="string"/>
+ <option id="com.arm.tool.c.compiler.option.targetfpu.747092604" name="Target FPU (--fpu)" superClass="com.arm.tool.c.compiler.option.targetfpu" value="FPv4-SP" valueType="string"/>
+ <option id="com.arm.tool.c.compiler.option.fpmode.885590841" name="Floating-point mode (--fpmode)" superClass="com.arm.tool.c.compiler.option.fpmode" value="com.arm.tool.c.compiler.option.fpmode.default" valueType="enumerated"/>
+ <option id="com.arm.tool.c.compiler.option.fppcs.1131381472" name="Floating-point PCS (--apcs)" superClass="com.arm.tool.c.compiler.option.fppcs" value="com.arm.tool.c.compiler.option.fppcs.auto" valueType="enumerated"/>
+ <option id="com.arm.tool.c.compiler.baremetal.exe.debug.option.opt.445197165" name="Optimization level" superClass="com.arm.tool.c.compiler.baremetal.exe.debug.option.opt" value="com.arm.tool.c.compiler.option.optlevel.max" valueType="enumerated"/>
+ <option id="com.arm.tool.c.compiler.option.flags.1769123778" name="Other flags" superClass="com.arm.tool.c.compiler.option.flags" value="--c99 --split_sections " valueType="string"/>
+ <inputType id="com.arm.tool.c.compiler.input.1270990193" superClass="com.arm.tool.c.compiler.input"/>
+ <inputType id="com.arm.tool.cpp.compiler.input.840085126" superClass="com.arm.tool.cpp.compiler.input"/>
+ <option id="com.arm.tool.c.compiler.option.gnu.7375673947" superClass="com.arm.tool.c.compiler.option.gnu" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.charsize.6021769663" superClass="com.arm.tool.c.compiler.option.charsize" valueType="enumerated" value="com.arm.tool.c.compiler.option.enum.auto"/><option id="com.arm.tool.c.compiler.baremetal.exe.debug.base.option.opt.5801142621" superClass="com.arm.tool.c.compiler.baremetal.exe.debug.base.option.opt" valueType="enumerated" value="com.arm.tool.c.compiler.option.optlevel.max"/><option id="com.arm.tool.c.compiler.option.optfor.1817013174" superClass="com.arm.tool.c.compiler.option.optfor" valueType="enumerated" value="com.arm.tool.c.compiler.option.optfor.auto"/><option id="com.arm.tool.c.compile.option.lang.6027464271" superClass="com.arm.tool.c.compile.option.lang" valueType="enumerated" value="com.arm.tool.c.compile.option.lang.auto"/><option id="com.arm.tool.c.compiler.option.strict.247636340" superClass="com.arm.tool.c.compiler.option.strict" valueType="enumerated" value="com.arm.tool.c.compiler.option.strict.auto"/><option id="com.arm.tool.c.compiler.options.debug.enabled.8004721288" superClass="com.arm.tool.c.compiler.options.debug.enabled" valueType="boolean" value="true"/><option id="com.arm.tool.c.compiler.option.suppress.7292239222" superClass="com.arm.tool.c.compiler.option.suppress" valueType="string" value="1296,66"/><option id="com.arm.tool.c.compiler.options.debug.format.4198908537" superClass="com.arm.tool.c.compiler.options.debug.format" valueType="enumerated" value="com.arm.tool.c.compiler.options.debug.format.auto"/><option id="com.arm.tool.c.compiler.option.inst.1293742296" superClass="com.arm.tool.c.compiler.option.inst" valueType="enumerated" value="com.arm.tool.c.compiler.option.inst.auto"/><option id="com.arm.tool.c.compiler.option.endian.8663565345" superClass="com.arm.tool.c.compiler.option.endian" valueType="enumerated" value="com.arm.tool.c.compiler.option.endian.auto"/><option id="com.arm.tool.c.compiler.option.inter.5715294920" superClass="com.arm.tool.c.compiler.option.inter" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.unalign.2107663714" superClass="com.arm.tool.c.compiler.option.unalign" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.vector.3725053006" superClass="com.arm.tool.c.compiler.option.vector" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.enum.6113924063" superClass="com.arm.tool.c.compiler.option.enum" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.suppresswarn.6688936106" superClass="com.arm.tool.c.compiler.option.suppresswarn" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.warnaserr.8305899788" superClass="com.arm.tool.c.compiler.option.warnaserr" valueType="boolean" value="false"/><option id="com.arm.tool.c.compiler.option.enablerem.5536302385" superClass="com.arm.tool.c.compiler.option.enablerem" valueType="boolean" value="false"/></tool>
+ <tool id="com.arm.tool.cpp.compiler.baremetal.exe.debug.1278927352" name="ARM C++ Compiler" superClass="com.arm.tool.cpp.compiler.baremetal.exe.debug">
+ <option id="com.arm.tool.c.compiler.option.flags.191883218" name="Other flags" superClass="com.arm.tool.c.compiler.option.flags" value="--c99 --split_sections " valueType="string"/>
+ </tool>
+ <tool id="com.arm.tool.assembler.782505281" name="ARM Assembler" superClass="com.arm.tool.assembler">
+ <option id="com.arm.tool.assembler.option.cpu.1791675215" name="Target CPU (--cpu)" superClass="com.arm.tool.assembler.option.cpu" value="Cortex-M4" valueType="string"/>
+ <option id="com.arm.tool.assembler.option.fpu.1669042968" name="Target FPU (--fpu)" superClass="com.arm.tool.assembler.option.fpu" value="FPv4-SP" valueType="string"/>
+ <option id="com.arm.tool.assembler.option.fpmode.150044025" name="Floating-point mode (--fpmode)" superClass="com.arm.tool.assembler.option.fpmode" value="com.arm.tool.c.compiler.option.fpmode.default" valueType="enumerated"/>
+ <option id="com.arm.tool.assembler.option.fppcs.1033303317" name="Floating-point PCS (--apcs)" superClass="com.arm.tool.assembler.option.fppcs" value="com.arm.tool.c.compiler.option.fppcs.auto" valueType="enumerated"/>
+ <option id="com.arm.tool.assembler.option.flags.1985199179" name="Other flags" superClass="com.arm.tool.assembler.option.flags" value="-I&quot;${ProjDirPath}/../../../..&quot; -I&quot;${ProjDirPath}/..&quot; " valueType="string"/>
+ <option id="com.arm.tool.assembler.option.preproc.664063763" name="Preprocess input before assembling (--cpreproc)" superClass="com.arm.tool.assembler.option.preproc" value="false" valueType="boolean"/>
+ <option id="com.arm.tool.assembler.option.preprocflags.6506062995" superClass="com.arm.tool.assembler.option.preprocflags" valueType="string" value=""/><option id="com.arm.tool.assembler.option.unalign.6481002303" superClass="com.arm.tool.assembler.option.unalign" valueType="boolean" value="false"/><option id="com.arm.tool.assembler.option.inter.6718828863" superClass="com.arm.tool.assembler.option.inter" valueType="boolean" value="false"/><option id="com.arm.tool.assembler.option.inst.69629554" superClass="com.arm.tool.assembler.option.inst" valueType="enumerated" value="com.arm.tool.c.compiler.option.inst.auto"/><option id="com.arm.tool.assembler.option.endian.4564624251" superClass="com.arm.tool.assembler.option.endian" valueType="enumerated" value="com.arm.tool.c.compiler.option.endian.little"/><option id="com.arm.tool.assembler.option.debug.format.7626385345" superClass="com.arm.tool.assembler.option.debug.format" valueType="enumerated" value="com.arm.tool.c.compiler.options.debug.format.auto"/><option id="com.arm.tool.assembler.option.sup.9249251220" superClass="com.arm.tool.assembler.option.sup" valueType="string" value="1296,66"/></tool>
+ <tool id="com.arm.tool.c.linker.1301355868" name="ARM Linker" superClass="com.arm.tool.c.linker">
+ <option id="com.arm.tool.c.linker.option.cpu.522518248" name="Target CPU (--cpu)" superClass="com.arm.tool.c.linker.option.cpu" value="Cortex-M4" valueType="string"/>
+ <option id="com.arm.tool.c.linker.option.scatter.208008498" name="Scatter file (--scatter)" superClass="com.arm.tool.c.linker.option.scatter" value="${ProjDirPath}/../../../../../../platform/devices/MCIMX7D/linker/arm/MCIMX7D_M4_tcm.scf" valueType="string"/>
+ <option id="com.arm.tool.c.linker.option.libs.1119897339" name="Libraries (--library)" superClass="com.arm.tool.c.linker.option.libs"/>
+ <option id="com.arm.tool.c.linker.option.libsearch.226638094" name="Library search path (--userlibpath)" superClass="com.arm.tool.c.linker.option.libsearch"/>
+ <option id="com.arm.tool.c.linker.libs.962860959" name="Other library files" superClass="com.arm.tool.c.linker.libs"/>
+ <option id="com.arm.tool.c.linker.option.entry.2139204104" name="Image entry point (--entry)" superClass="com.arm.tool.c.linker.option.entry" value="Reset_Handler" valueType="string"/>
+ <option id="com.arm.tool.c.linker.option.imagemap.754891612" name="Generate image map (--map)" superClass="com.arm.tool.c.linker.option.imagemap" value="false" valueType="boolean"/>
+ <option id="com.arm.tool.c.linker.option.syslibs.948170748" name="Standard library search path (--libpath)" superClass="com.arm.tool.c.linker.option.syslibs"/>
+
+ <inputType id="com.arm.tool.c.linker.input.2130990920" superClass="com.arm.tool.c.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ <option id="com.arm.tool.c.linker.option.fpu.8609917813" superClass="com.arm.tool.c.linker.option.fpu" valueType="string" value="FPv4-SP"/><option id="com.arm.tool.c.linker.option.sizes.5626240374" superClass="com.arm.tool.c.linker.option.sizes" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.totals.4979803538" superClass="com.arm.tool.c.linker.option.totals" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.compress.325415166" superClass="com.arm.tool.c.linker.option.compress" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.stack.704665070" superClass="com.arm.tool.c.linker.option.stack" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.inlineinfo.9785031249" superClass="com.arm.tool.c.linker.option.inlineinfo" valueType="boolean" value="false"/><option id="com.arm.tool.c.linker.option.elim.832002950" superClass="com.arm.tool.c.linker.option.elim" valueType="boolean" value="false"/></tool>
+ <tool id="com.arm.tool.librarian.2006874949" name="ARM Librarian" superClass="com.arm.tool.librarian"/>
+ </toolChain>
+ </folderInfo>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="com.arm.eclipse.build.project.baremetal.exe.1023008919" name="Bare-metal Executable" projectType="com.arm.eclipse.build.project.baremetal.exe"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="com.arm.eclipse.build.config.baremetal.exe.debug.893051445;com.arm.eclipse.build.config.baremetal.exe.debug.893051445.;com.arm.tool.c.compiler.baremetal.exe.debug.1501911384;com.arm.tool.c.compiler.input.905747706">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="com.arm.eclipse.builder.armcc.ARMCompilerDiscoveryProfile"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="refreshScope" versionNumber="1">
+ <resource resourceType="PROJECT" workspacePath="/app"/>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
+</cproject>
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.project b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.project
new file mode 100644
index 0000000..185ea11
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/ds5/.project
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>rpmsg_str_echo_freertos_example_imx7d_val_m4</name>
+ <comment/>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value/>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value/>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>make</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value/>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>false</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+ <linkedResources>
+ <link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/port.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/portable/RVDS/ARM_CM4F/port.c</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/portmacro.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/portable/RVDS/ARM_CM4F/portmacro.h</locationURI></link><link><name>startup</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>startup/startup_MCIMX7D_M4.s</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/devices/MCIMX7D/startup/arm/startup_MCIMX7D_M4.s</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/heap_2.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/portable/MemMang/heap_2.c</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/FreeRTOSConfig.h</name><type>1</type><locationURI>PARENT-1-PROJECT_LOC/FreeRTOSConfig.h</locationURI></link><link><name>source</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>source/str_echo_freertos.c</name><type>1</type><locationURI>PARENT-1-PROJECT_LOC/str_echo_freertos.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_rtos.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg_rtos.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/platform.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/imx7d_m4/platform.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_platform_porting.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/imx7d_m4/rpmsg_platform_porting.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_ext.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg_ext.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/hil.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/common/hil/hil.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/llist.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/common/llist/llist.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/sh_mem.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/common/shm/sh_mem.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/config.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/config/config.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/env.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/env/env.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_core.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg_core.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/virtio.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/virtio/virtio.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/virtio_ring.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/virtio/virtio_ring.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/virtqueue.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/virtio/virtqueue.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_porting.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/env/freertos/rpmsg_porting.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/croutine.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/croutine.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/event_groups.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/event_groups.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/FreeRTOS.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/FreeRTOS.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/list.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/list.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/mpu_wrappers.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/mpu_wrappers.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/portable.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/portable.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/projdefs.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/projdefs.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/queue.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/queue.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/semphr.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/semphr.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/StackMacros.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/StackMacros.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/task.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/task.h</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/timers.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/include/timers.h</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/ccm_analog_imx7d.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/ccm_analog_imx7d.h</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/ccm_imx7d.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/ccm_imx7d.h</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/lmem.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/lmem.h</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/rdc.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/rdc.h</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/rdc_defs_imx7d.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/rdc_defs_imx7d.h</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/wdog_imx.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/wdog_imx.h</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_rtos.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg_rtos.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/platform.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/imx7d_m4/platform.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/platform_info.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/imx7d_m4/platform_info.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/hil.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/common/hil/hil.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/llist.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/common/llist/llist.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/sh_mem.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/common/shm/sh_mem.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/config.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/config/config.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/remote_device.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/remote_device.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_ext.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg_ext.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_core.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/rpmsg/rpmsg_core.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/virtio.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/virtio/virtio.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/virtqueue.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/virtio/virtqueue.c</locationURI></link><link><name>rpmsg</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>rpmsg/rpmsg_porting.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/middleware/multicore/open-amp/porting/env/freertos/rpmsg_porting.c</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/croutine.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/croutine.c</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/event_groups.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/event_groups.c</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/list.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/list.c</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/queue.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/queue.c</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/tasks.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/tasks.c</locationURI></link><link><name>freertos</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>freertos/timers.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/rtos/FreeRTOS/Source/timers.c</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/ccm_analog_imx7d.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/src/ccm_analog_imx7d.c</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/ccm_imx7d.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/src/ccm_imx7d.c</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/lmem.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/src/lmem.c</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/rdc.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/src/rdc.c</locationURI></link><link><name>system</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>system/wdog_imx.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/src/wdog_imx.c</locationURI></link><link><name>utilities</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>utilities/debug_console_imx.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/utilities/src/debug_console_imx.c</locationURI></link><link><name>utilities</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>utilities/debug_console_imx.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/utilities/inc/debug_console_imx.h</locationURI></link><link><name>utilities</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>utilities/print_scan.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/utilities/src/print_scan.c</locationURI></link><link><name>utilities</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>utilities/print_scan.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/utilities/src/print_scan.h</locationURI></link><link><name>startup</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>startup/system_MCIMX7D_M4.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/devices/MCIMX7D/startup/system_MCIMX7D_M4.c</locationURI></link><link><name>startup</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>startup/system_MCIMX7D_M4.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/devices/MCIMX7D/startup/system_MCIMX7D_M4.h</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/pin_mux.c</name><type>1</type><locationURI>PARENT-4-PROJECT_LOC/pin_mux.c</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/pin_mux.h</name><type>1</type><locationURI>PARENT-4-PROJECT_LOC/pin_mux.h</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/board.c</name><type>1</type><locationURI>PARENT-4-PROJECT_LOC/board.c</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/board.h</name><type>1</type><locationURI>PARENT-4-PROJECT_LOC/board.h</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/clock_freq.c</name><type>1</type><locationURI>PARENT-4-PROJECT_LOC/clock_freq.c</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/clock_freq.h</name><type>1</type><locationURI>PARENT-4-PROJECT_LOC/clock_freq.h</locationURI></link><link><name>board</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>board/hardware_init.c</name><type>1</type><locationURI>PARENT-1-PROJECT_LOC/hardware_init.c</locationURI></link><link><name>driver</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>driver/uart_imx.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/src/uart_imx.c</locationURI></link><link><name>driver</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>driver/uart_imx.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/uart_imx.h</locationURI></link><link><name>driver</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>driver/mu_imx.c</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/src/mu_imx.c</locationURI></link><link><name>driver</name><type>2</type><locationURI>virtual:/virtual</locationURI></link><link><name>driver/mu_imx.h</name><type>1</type><locationURI>PARENT-6-PROJECT_LOC/platform/drivers/inc/mu_imx.h</locationURI></link></linkedResources>
+ <variableList>
+ </variableList>
+</projectDescription>
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/hardware_init.c b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/hardware_init.c
new file mode 100644
index 0000000..aa69475
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/hardware_init.c
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2015, Freescale Semiconductor, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * o Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * o Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "board.h"
+#include "pin_mux.h"
+
+void hardware_init(void)
+{
+ /* Board specific RDC settings */
+ BOARD_RdcInit();
+
+ /* Board specific clock settings */
+ BOARD_ClockInit();
+
+ /* initialize debug uart */
+ dbg_uart_init();
+
+ /* RDC MU*/
+ RDC_SetPdapAccess(RDC, BOARD_MU_RDC_PDAP, 3 << (BOARD_DOMAIN_ID * 2), false, false);
+
+ /* Enable clock gate for MU*/
+ CCM_ControlGate(CCM, BOARD_MU_CCM_CCGR, ccmClockNeededRun);
+}
+
+/*******************************************************************************
+ * EOF
+ ******************************************************************************/
diff --git a/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c
new file mode 100644
index 0000000..b34b3d7
--- /dev/null
+++ b/examples/imx7d_val_m4/demo_apps/rpmsg/str_echo_freertos/str_echo_freertos.c
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2015, Freescale Semiconductor, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ *
+ * o Redistributions of source code must retain the above copyright notice, this list
+ * of conditions and the following disclaimer.
+ *
+ * o Redistributions in binary form must reproduce the above copyright notice, this
+ * list of conditions and the following disclaimer in the documentation and/or
+ * other materials provided with the distribution.
+ *
+ * o Neither the name of Freescale Semiconductor, Inc. nor the names of its
+ * contributors may be used to endorse or promote products derived from this
+ * software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "rpmsg/rpmsg_rtos.h"
+#include "FreeRTOS.h"
+#include "task.h"
+#include "semphr.h"
+#include "string.h"
+#include "board.h"
+#include "mu_imx.h"
+#include "debug_console_imx.h"
+
+////////////////////////////////////////////////////////////////////////////////
+// Definitions
+////////////////////////////////////////////////////////////////////////////////
+#define APP_TASK_STACK_SIZE 256
+
+/*
+ * APP decided interrupt priority
+ */
+#define APP_MU_IRQ_PRIORITY 3
+
+/* Globals */
+static char app_buf[512]; /* Each RPMSG buffer can carry less than 512 payload */
+
+/*!
+ * @brief A basic RPMSG task
+ */
+static void StrEchoTask(void *pvParameters)
+{
+ int result;
+ struct remote_device *rdev = NULL;
+ struct rpmsg_channel *app_chnl = NULL;
+ void *rx_buf;
+ int len;
+ unsigned long src;
+ void *tx_buf;
+ unsigned long size;
+
+ /* Print the initial banner */
+ PRINTF("\r\nRPMSG String Echo FreeRTOS RTOS API Demo...\r\n");
+
+ /* RPMSG Init as REMOTE */
+ PRINTF("RPMSG Init as Remote\r\n");
+ result = rpmsg_rtos_init(0 /*REMOTE_CPU_ID*/, &rdev, RPMSG_MASTER, &app_chnl);
+ assert(result == 0);
+
+ PRINTF("Name service handshake is done, M4 has setup a rpmsg channel [%d ---> %d]\r\n", app_chnl->src, app_chnl->dst);
+
+ /*
+ * str_echo demo loop
+ */
+ for (;;)
+ {
+ /* Get RPMsg rx buffer with message */
+ result = rpmsg_rtos_recv_nocopy(app_chnl->rp_ept, &rx_buf, &len, &src, 0xFFFFFFFF);
+ assert(result == 0);
+
+ /* Copy string from RPMsg rx buffer */
+ assert(len < sizeof(app_buf));
+ memcpy(app_buf, rx_buf, len);
+ app_buf[len] = 0; /* End string by '\0' */
+
+ if ((len == 2) && (app_buf[0] == 0xd) && (app_buf[1] == 0xa))
+ PRINTF("Get New Line From Master Side\r\n");
+ else
+ PRINTF("Get Message From Master Side : \"%s\" [len : %d]\r\n", app_buf, len);
+
+ /* Get tx buffer from RPMsg */
+ tx_buf = rpmsg_rtos_alloc_tx_buffer(app_chnl->rp_ept, &size);
+ assert(tx_buf);
+ /* Copy string to RPMsg tx buffer */
+ memcpy(tx_buf, app_buf, len);
+ /* Echo back received message with nocopy send */
+ result = rpmsg_rtos_send_nocopy(app_chnl->rp_ept, tx_buf, len, src);
+ assert(result == 0);
+
+ /* Release held RPMsg rx buffer */
+ result = rpmsg_rtos_recv_nocopy_free(app_chnl->rp_ept, rx_buf);
+ assert(result == 0);
+ }
+}
+
+/*
+ * MU Interrrupt ISR
+ */
+void BOARD_MU_HANDLER(void)
+{
+ /*
+ * calls into rpmsg_handler provided by middleware
+ */
+ rpmsg_handler();
+}
+
+int main(void)
+{
+ hardware_init();
+
+ /*
+ * Prepare for the MU Interrupt
+ * MU must be initialized before rpmsg init is called
+ */
+ MU_Init(BOARD_MU_BASE_ADDR);
+ NVIC_SetPriority(BOARD_MU_IRQ_NUM, APP_MU_IRQ_PRIORITY);
+ NVIC_EnableIRQ(BOARD_MU_IRQ_NUM);
+
+ /* Create a demo task. */
+ xTaskCreate(StrEchoTask, "String Echo Task", APP_TASK_STACK_SIZE,
+ NULL, tskIDLE_PRIORITY+1, NULL);
+
+ /* Start FreeRTOS scheduler. */
+ vTaskStartScheduler();
+
+ /* Should never reach this point. */
+ while (true);
+}
+/*******************************************************************************
+ * EOF
+ ******************************************************************************/