diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.cproject b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.cproject index 1842ba9b8..d6e270d13 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.cproject +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.cproject @@ -1,8 +1,8 @@ - - + + @@ -14,134 +14,74 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + @@ -149,20 +89,20 @@ - + - + - + - + - + diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.project b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.project index d2866c629..0aaabce4a 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.project +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/.project @@ -1,7 +1,7 @@ RTOSDemo_A53 - Created by SDK v2016.1. RTOSDemo_A53_bsp - psu_cortexa53_0 + Created by SDK v2018.1. RTOSDemo_A53_bsp - psu_cortexa53_0 RTOSDemo_A53_bsp @@ -27,31 +27,102 @@ src/FreeRTOS_Source 2 - FREERTOS_ROOT/FreeRTOS/Source + FREERTOS_ROOT/Source src/Full_Demo/Standard_Demo_Tasks 2 - FREERTOS_ROOT/FreeRTOS/Demo/Common/Minimal + virtual:/virtual + + + src/FreeRTOS_Source/portable/MemMang + 2 + FREERTOS_ROOT/Source/portable/MemMang + + + src/Full_Demo/Standard_Demo_Tasks/AbortDelay.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/AbortDelay.c + + + src/Full_Demo/Standard_Demo_Tasks/EventGroupsDemo.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/EventGroupsDemo.c + + + src/Full_Demo/Standard_Demo_Tasks/GenQTest.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/GenQTest.c + + + src/Full_Demo/Standard_Demo_Tasks/IntQueue.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/IntQueue.c + + + src/Full_Demo/Standard_Demo_Tasks/IntSemTest.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/IntSemTest.c + + + src/Full_Demo/Standard_Demo_Tasks/QueueOverwrite.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/QueueOverwrite.c + + + src/Full_Demo/Standard_Demo_Tasks/StaticAllocation.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/StaticAllocation.c + + + src/Full_Demo/Standard_Demo_Tasks/TaskNotify.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/TaskNotify.c + + + src/Full_Demo/Standard_Demo_Tasks/TimerDemo.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/TimerDemo.c + + + src/Full_Demo/Standard_Demo_Tasks/blocktim.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/blocktim.c + + + src/Full_Demo/Standard_Demo_Tasks/countsem.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/countsem.c + + + src/Full_Demo/Standard_Demo_Tasks/dynamic.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/dynamic.c + + + src/Full_Demo/Standard_Demo_Tasks/flop.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/flop.c src/Full_Demo/Standard_Demo_Tasks/include 2 - FREERTOS_ROOT/FreeRTOS/Demo/Common/include + FREERTOS_ROOT/Demo/Common/include + + + src/Full_Demo/Standard_Demo_Tasks/recmutex.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/recmutex.c + + + src/Full_Demo/Standard_Demo_Tasks/semtest.c + 1 + PARENT-2-PROJECT_LOC/Common/Minimal/semtest.c - 1461847194341 - src/FreeRTOS_Source - 6 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-croutine.c - - - - 1461847221751 + 1525371948640 src/FreeRTOS_Source/portable 9 @@ -60,151 +131,7 @@ - 1461847221761 - src/FreeRTOS_Source/portable - 9 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-MemMang - - - - 1462537732456 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-IntQueue.c - - - - 1462537732456 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-dynamic.c - - - - 1462537732466 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-blocktim.c - - - - 1462537732466 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-countsem.c - - - - 1462537732476 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-GenQTest.c - - - - 1462537732486 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-recmutex.c - - - - 1462537732486 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-semtest.c - - - - 1462537732496 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-flop.c - - - - 1462537732506 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-EventGroupsDemo.c - - - - 1462537732506 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-TaskNotify.c - - - - 1462537732516 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-IntSemTest.c - - - - 1462537732516 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-StaticAllocation.c - - - - 1462537732526 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-AbortDelay.c - - - - 1462537732536 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-QueueOverwrite.c - - - - 1462537732546 - src/Full_Demo/Standard_Demo_Tasks - 5 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-TimerDemo.c - - - - 1461847264041 + 1525371973682 src/FreeRTOS_Source/portable/GCC 9 @@ -213,7 +140,7 @@ - 1461847244679 + 1525374723054 src/FreeRTOS_Source/portable/MemMang 5 @@ -225,7 +152,7 @@ FREERTOS_ROOT - $%7BPARENT-4-PROJECT_LOC%7D + $%7BPARENT-3-PROJECT_LOC%7D diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/FreeRTOS_asm_vectors.S b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/FreeRTOS_asm_vectors.S index 0e5b7a637..597614937 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/FreeRTOS_asm_vectors.S +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/FreeRTOS_asm_vectors.S @@ -53,21 +53,85 @@ +.org 0 +.text + +.globl _boot +.globl _vector_table .globl _freertos_vector_table + .globl FIQInterrupt .globl IRQInterrupt .globl SErrorInterrupt .globl SynchronousInterrupt +.org 0 + +.section .vectors, "a" + +_vector_table: + +.set VBAR, _vector_table + +.org VBAR + b _boot + +.org (VBAR + 0x80) + b . + +.org (VBAR + 0x100) + b . + +.org (VBAR + 0x180) + b . + + +.org (VBAR + 0x200) + b . + +.org (VBAR + 0x280) + b . + +.org (VBAR + 0x300) + b . + +.org (VBAR + 0x380) + b . + + + +.org (VBAR + 0x400) + b . + +.org (VBAR + 0x480) + b . + +.org (VBAR + 0x500) + b . + +.org (VBAR + 0x580) + b . + +.org (VBAR + 0x600) + b . + +.org (VBAR + 0x680) + b . + +.org (VBAR + 0x700) + b . + +.org (VBAR + 0x780) + b . + + /****************************************************************************** * Vector table to use when FreeRTOS is running. *****************************************************************************/ -.text -.section .freertos_vectors -.align 8 -.set FREERTOS_VBAR, . +.set FREERTOS_VBAR, (VBAR+0x1000) + .org(FREERTOS_VBAR) _freertos_vector_table: b FreeRTOS_SWI_Handler @@ -121,7 +185,7 @@ _freertos_vector_table: - +#if 0 SynchronousInterruptHandler: stp X0,X1, [sp,#-0x10]! stp X2,X3, [sp,#-0x10]! @@ -239,5 +303,6 @@ SErrorInterruptHandler: ldp X0,X1, [sp], #0x10 eret +#endif .end diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/lscript.ld b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/lscript.ld index 0ff6bab67..891165a0d 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/lscript.ld +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/lscript.ld @@ -4,7 +4,7 @@ /* */ /* Version: */ /* */ -/* Copyright (c) 2010 Xilinx, Inc. All rights reserved. */ +/* Copyright (c) 2010-2016 Xilinx, Inc. All rights reserved. */ /* */ /* Description : Cortex-A53 Linker Script */ /* */ @@ -21,13 +21,10 @@ _EL2_STACK_SIZE = DEFINED(_EL2_STACK_SIZE) ? _EL2_STACK_SIZE : 1024; MEMORY { - psu_bbram_0_S_AXI_BASEADDR : ORIGIN = 0xFFCD0000, LENGTH = 0x10000 - psu_ddr_0_S_AXI_BASEADDR : ORIGIN = 0x0, LENGTH = 0x80000000 - psu_ocm_ram_0_S_AXI_BASEADDR : ORIGIN = 0xFFFC0000, LENGTH = 0x30000 - psu_ocm_ram_1_S_AXI_BASEADDR : ORIGIN = 0xFFFF0000, LENGTH = 0x10000 - psu_ocm_xmpu_cfg_S_AXI_BASEADDR : ORIGIN = 0xFFA70000, LENGTH = 0x10000 - psu_pmu_ram_S_AXI_BASEADDR : ORIGIN = 0xFFDC0000, LENGTH = 0x20000 - psu_qspi_linear_0_S_AXI_BASEADDR : ORIGIN = 0xC0000000, LENGTH = 0x20000000 + psu_ddr_0_MEM_0 : ORIGIN = 0x0, LENGTH = 0x7FF00000 + psu_ddr_1_MEM_0 : ORIGIN = 0x800000000, LENGTH = 0x80000000 + psu_ocm_ram_0_MEM_0 : ORIGIN = 0xFFFC0000, LENGTH = 0x40000 + psu_qspi_linear_0_MEM_0 : ORIGIN = 0xC0000000, LENGTH = 0x20000000 } /* Specify the default entry point to the program */ @@ -40,7 +37,6 @@ SECTIONS { .text : { KEEP (*(.vectors)) - KEEP (*(.freertos_vectors)) *(.boot) *(.text) *(.text.*) @@ -52,23 +48,23 @@ SECTIONS *(.glue_7t) *(.ARM.extab) *(.gnu.linkonce.armextab.*) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .init (ALIGN(64)) : { KEEP (*(.init)) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .fini (ALIGN(64)) : { KEEP (*(.fini)) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .interp : { KEEP (*(.interp)) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .note-ABI-tag : { KEEP (*(.note-ABI-tag)) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .rodata : { . = ALIGN(64); @@ -77,7 +73,7 @@ SECTIONS *(.rodata.*) *(.gnu.linkonce.r.*) __rodata_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .rodata1 : { . = ALIGN(64); @@ -85,7 +81,7 @@ SECTIONS *(.rodata1) *(.rodata1.*) __rodata1_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .sdata2 : { . = ALIGN(64); @@ -94,7 +90,7 @@ SECTIONS *(.sdata2.*) *(.gnu.linkonce.s2.*) __sdata2_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .sbss2 : { . = ALIGN(64); @@ -103,7 +99,7 @@ SECTIONS *(.sbss2.*) *(.gnu.linkonce.sb2.*) __sbss2_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .data : { . = ALIGN(64); @@ -115,7 +111,7 @@ SECTIONS *(.got) *(.got.plt) __data_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .data1 : { . = ALIGN(64); @@ -123,19 +119,19 @@ SECTIONS *(.data1) *(.data1.*) __data1_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .got : { *(.got) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .got1 : { *(.got1) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .got2 : { *(.got2) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .ctors : { . = ALIGN(64); @@ -147,7 +143,7 @@ SECTIONS KEEP (*(.ctors)) __CTOR_END__ = .; ___CTORS_END___ = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .dtors : { . = ALIGN(64); @@ -159,52 +155,52 @@ SECTIONS KEEP (*(.dtors)) __DTOR_END__ = .; ___DTORS_END___ = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .fixup : { __fixup_start = .; *(.fixup) __fixup_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .eh_frame : { *(.eh_frame) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .eh_framehdr : { __eh_framehdr_start = .; *(.eh_framehdr) __eh_framehdr_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .gcc_except_table : { *(.gcc_except_table) -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .mmu_tbl0 (ALIGN(4096)) : { __mmu_tbl0_start = .; *(.mmu_tbl0) __mmu_tbl0_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .mmu_tbl1 (ALIGN(4096)) : { __mmu_tbl1_start = .; *(.mmu_tbl1) __mmu_tbl1_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .mmu_tbl2 (ALIGN(4096)) : { __mmu_tbl2_start = .; *(.mmu_tbl2) __mmu_tbl2_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .ARM.exidx : { __exidx_start = .; *(.ARM.exidx*) *(.gnu.linkonce.armexidix.*.*) __exidx_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .preinit_array : { . = ALIGN(64); @@ -212,7 +208,7 @@ SECTIONS KEEP (*(SORT(.preinit_array.*))) KEEP (*(.preinit_array)) __preinit_array_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .init_array : { . = ALIGN(64); @@ -220,7 +216,7 @@ SECTIONS KEEP (*(SORT(.init_array.*))) KEEP (*(.init_array)) __init_array_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .fini_array : { . = ALIGN(64); @@ -228,13 +224,13 @@ SECTIONS KEEP (*(SORT(.fini_array.*))) KEEP (*(.fini_array)) __fini_array_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .ARM.attributes : { __ARM.attributes_start = .; *(.ARM.attributes) __ARM.attributes_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .sdata : { . = ALIGN(64); @@ -243,7 +239,7 @@ SECTIONS *(.sdata.*) *(.gnu.linkonce.s.*) __sdata_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .sbss (NOLOAD) : { . = ALIGN(64); @@ -253,7 +249,7 @@ SECTIONS *(.gnu.linkonce.sb.*) . = ALIGN(64); __sbss_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .tdata : { . = ALIGN(64); @@ -262,7 +258,7 @@ SECTIONS *(.tdata.*) *(.gnu.linkonce.td.*) __tdata_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .tbss : { . = ALIGN(64); @@ -271,7 +267,7 @@ SECTIONS *(.tbss.*) *(.gnu.linkonce.tb.*) __tbss_end = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .bss (NOLOAD) : { . = ALIGN(64); @@ -282,7 +278,7 @@ SECTIONS *(COMMON) . = ALIGN(64); __bss_end__ = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 _SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 ); @@ -298,7 +294,7 @@ _SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 ); . += _HEAP_SIZE; _heap_end = .; HeapLimit = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 .stack (NOLOAD) : { . = ALIGN(64); @@ -317,7 +313,7 @@ _SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 ); . += _EL0_STACK_SIZE; . = ALIGN(64); __el0_stack = .; -} > psu_ddr_0_S_AXI_BASEADDR +} > psu_ddr_0_MEM_0 _end = .; } diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/main.c b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/main.c index 7fb7f4d1d..add2deb49 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/main.c +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/main.c @@ -26,6 +26,10 @@ */ /****************************************************************************** + * + * See http://www.FreeRTOS.org/RTOS-Xilinx-UltraScale_MPSoC_64-bit.html for + * additional information on this demo. + * * NOTE 1: This project provides two demo applications. A simple blinky * style project, and a more comprehensive test and demo application. The * mainSELECTED_APPLICATION setting in main.c is used to select between the two. @@ -34,6 +38,12 @@ * NOTE 2: This file only contains the source code that is not specific to * either the simply blinky or full demos - this includes initialisation code * and callback functions. + * + * NOTE 3: This project builds the FreeRTOS source code, so is expecting the + * BSP project to be configured as a 'standalone' bsp project rather than a + * 'FreeRTOS' bsp project. However the BSP project MUST still be build with + * the FREERTOS_BSP symbol defined (-DFREERTOS_BSP must be added to the + * command line in the BSP configuration). */ /* Standard includes. */ @@ -95,6 +105,9 @@ XScuGic xInterruptController; int main( void ) { + /* See http://www.FreeRTOS.org/RTOS-Xilinx-UltraScale_MPSoC_64-bit.html for + additional information on this demo. */ + /* Configure the hardware ready to run the demo. */ prvSetupHardware(); @@ -253,3 +266,15 @@ void vMainAssertCalled( const char *pcFileName, uint32_t ulLineNumber ) for( ;; ); } +void *____memset(void *str, int c, size_t n) +{ +size_t x; +uint8_t *puc = ( uint8_t * ) str; + + for( x = 0; x < c; x++ ) + { + puc[ x ] = ( uint8_t ) c; + } + + return str; +} diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/platform.c b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/platform.c index 315dcb0ce..0ee2dcbaf 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/platform.c +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53/src/platform.c @@ -68,8 +68,14 @@ enable_caches() void disable_caches() { +#ifdef __MICROBLAZE__ +#ifdef XPAR_MICROBLAZE_USE_DCACHE Xil_DCacheDisable(); +#endif +#ifdef XPAR_MICROBLAZE_USE_ICACHE Xil_ICacheDisable(); +#endif +#endif } void diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/.cproject b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/.cproject index 6f2169939..5e63ed68c 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/.cproject +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/.cproject @@ -1,8 +1,8 @@ - - + + diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/Makefile b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/Makefile index e6a3e6c6b..96a550547 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/Makefile +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/Makefile @@ -23,11 +23,11 @@ $(PROCESSOR)/lib/libxil.a: $(PROCESSOR)/lib/libxil_init.a %/make.include: $(if $(wildcard $(PROCESSOR)/lib/libxil_init.a),$(PROCESSOR)/lib/libxil.a,) @echo "Running Make include in $(subst /make.include,,$@)" - $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=aarch64-none-elf-gcc" "ARCHIVER=aarch64-none-elf-ar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g -Wall -Wextra" + $(MAKE) -C $(subst /make.include,,$@) -s include "SHELL=$(SHELL)" "COMPILER=aarch64-none-elf-gcc" "ARCHIVER=aarch64-none-elf-ar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g -Wall -Wextra -DFREERTOS_BSP" %/make.libs: include @echo "Running Make libs in $(subst /make.libs,,$@)" - $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=aarch64-none-elf-gcc" "ARCHIVER=aarch64-none-elf-ar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g -Wall -Wextra" + $(MAKE) -C $(subst /make.libs,,$@) -s libs "SHELL=$(SHELL)" "COMPILER=aarch64-none-elf-gcc" "ARCHIVER=aarch64-none-elf-ar" "COMPILER_FLAGS= -O2 -c" "EXTRA_COMPILER_FLAGS=-g -Wall -Wextra -DFREERTOS_BSP" %/make.clean: $(MAKE) -C $(subst /make.clean,,$@) -s clean diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/system.mss b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/system.mss index 7b11cbdd3..e147f8ed7 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/system.mss +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/RTOSDemo_A53_bsp/system.mss @@ -15,6 +15,7 @@ BEGIN PROCESSOR PARAMETER DRIVER_NAME = cpu_cortexa53 PARAMETER DRIVER_VER = 1.5 PARAMETER HW_INSTANCE = psu_cortexa53_0 + PARAMETER extra_compiler_flags = -g -Wall -Wextra -DFREERTOS_BSP END diff --git a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/ZynqMP_ZCU102_hw_platform/.project b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/ZynqMP_ZCU102_hw_platform/.project index 97855f6fd..3e4be512b 100644 --- a/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/ZynqMP_ZCU102_hw_platform/.project +++ b/FreeRTOS/Demo/CORTEX_A53_64-bit_UltraScale_MPSoC/ZynqMP_ZCU102_hw_platform/.project @@ -1,7 +1,7 @@ ZynqMP_ZCU102_hw_platform - Created by SDK v2016.4 + Created by SDK v2018.1 @@ -11,7 +11,7 @@ - 1484841836970 + 1525357889050 6 @@ -20,7 +20,7 @@ - 1484841836972 + 1525357889050 6 @@ -29,7 +29,7 @@ - 1484841836978 + 1525357889065 6