From: rtel Date: Wed, 1 Jan 2020 22:38:23 +0000 (+0000) Subject: Renamed RISC-V_RV32_SiFive_HiFive1_IAR directory to RISC-V_RV32_SiFive_HiFive1-RevB_I... X-Git-Tag: V10.3.0~31 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f546c79c86d4a920b148ed7b0ea05ec0f512e517;p=freertos Renamed RISC-V_RV32_SiFive_HiFive1_IAR directory to RISC-V_RV32_SiFive_HiFive1-RevB_IAR as it targets the RevB hardware. git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2792 1d2547de-c912-0410-9cb9-b8ca96c0e9e2 --- diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/FreeRTOSConfig.h b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/FreeRTOSConfig.h new file mode 100644 index 000000000..c1be60059 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/FreeRTOSConfig.h @@ -0,0 +1,101 @@ +/* + * FreeRTOS Kernel V10.2.1 + * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 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. + *----------------------------------------------------------*/ + +#define configISR_STACK_SIZE_WORDS ( 200 ) +#define configCLINT_BASE_ADDRESS 0x2000000 + +#define configUSE_PREEMPTION 1 +#define configUSE_IDLE_HOOK 0 +#define configUSE_TICK_HOOK 1 +#define configCPU_CLOCK_HZ ( ( uint32_t ) ( 32768 ) ) +#define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) +#define configMAX_PRIORITIES ( 7 ) +#define configMINIMAL_STACK_SIZE ( ( uint32_t ) 100 ) /* Can be as low as 60 but some of the demo tasks that use this constant require it to be higher. */ +#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 12 * 1024 ) ) +#define configMAX_TASK_NAME_LEN ( 16 ) +#define configUSE_TRACE_FACILITY 0 +#define configUSE_16_BIT_TICKS 0 +#define configIDLE_SHOULD_YIELD 0 +#define configUSE_MUTEXES 1 +#define configQUEUE_REGISTRY_SIZE 8 +#define configCHECK_FOR_STACK_OVERFLOW 2 +#define configUSE_RECURSIVE_MUTEXES 1 +#define configUSE_MALLOC_FAILED_HOOK 1 +#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 1 +#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) +#define configTIMER_QUEUE_LENGTH 4 +#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE ) + +/* Task priorities. Allow these to be overridden. */ +#ifndef uartPRIMARY_PRIORITY + #define uartPRIMARY_PRIORITY ( configMAX_PRIORITIES - 3 ) +#endif + +/* Set the following definitions to 1 to include the API function, or zero +to exclude the API function. */ +#define INCLUDE_vTaskPrioritySet 1 +#define INCLUDE_uxTaskPriorityGet 1 +#define INCLUDE_vTaskDelete 1 +#define INCLUDE_vTaskCleanUpResources 1 +#define INCLUDE_vTaskSuspend 1 +#define INCLUDE_vTaskDelayUntil 1 +#define INCLUDE_vTaskDelay 1 +#define INCLUDE_eTaskGetState 1 +#define INCLUDE_xTimerPendFunctionCall 1 +#define INCLUDE_xTaskAbortDelay 1 +#define INCLUDE_xTaskGetHandle 1 +#define INCLUDE_xSemaphoreGetMutexHolder 1 + +/* Normal assert() semantics without relying on the provision of an assert.h +header file. */ +#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); __asm volatile( "ebreak" ); for( ;; ); } + +#endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd new file mode 100644 index 000000000..ea20f8c84 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewd @@ -0,0 +1,632 @@ + + + 3 + + Debug + + RISCV + + 1 + + C-SPY + 1 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IJETRISCV + 2 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SIMRISCV + 1 + + 0 + 1 + 1 + + + + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 1 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + + Release + + RISCV + + 0 + + C-SPY + 1 + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IJETRISCV + 2 + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + SIMRISCV + 1 + + 0 + 1 + 0 + + + + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp new file mode 100644 index 000000000..acf0b7093 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewp @@ -0,0 +1,1844 @@ + + + 3 + + Debug + + RISCV + + 1 + + General + 1 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCRISCV + 1 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IASMRISCV + 1 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 1 + + 0 + 1 + 1 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 1 + + 0 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 1 + + 0 + 1 + 1 + + + + + + + BILINK + 0 + + + + + Release + + RISCV + + 0 + + General + 1 + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ICCRISCV + 1 + + 6 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IASMRISCV + 1 + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OBJCOPY + 1 + + 0 + 1 + 0 + + + + + + + + + CUSTOM + 3 + + + + 0 + + + + BICOMP + 0 + + + + BUILDACTION + 1 + + + + + + + ILINK + 1 + + 0 + 1 + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + IARCHIVE + 1 + + 0 + 1 + 0 + + + + + + + BILINK + 0 + + + + + blinky_demo + + $PROJ_DIR$\blinky_demo\main_blinky.c + + + + FreeRTOS_source + + include + + $PROJ_DIR$\..\..\Source\include\event_groups.h + + + $PROJ_DIR$\..\..\Source\include\message_buffer.h + + + $PROJ_DIR$\..\..\Source\include\queue.h + + + $PROJ_DIR$\..\..\Source\include\semphr.h + + + $PROJ_DIR$\..\..\Source\include\stream_buffer.h + + + $PROJ_DIR$\..\..\Source\include\task.h + + + $PROJ_DIR$\..\..\Source\include\timers.h + + + + portable + + memmang + + $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c + + + + $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\port.c + + + $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\portASM.s + + + + $PROJ_DIR$\..\..\Source\event_groups.c + + + $PROJ_DIR$\..\..\Source\list.c + + + $PROJ_DIR$\..\..\Source\queue.c + + + $PROJ_DIR$\..\..\Source\stream_buffer.c + + + $PROJ_DIR$\..\..\Source\tasks.c + + + $PROJ_DIR$\..\..\Source\timers.c + + + + full_demo + + common + + $PROJ_DIR$\..\Common\Minimal\blocktim.c + + + $PROJ_DIR$\..\Common\Minimal\dynamic.c + + + $PROJ_DIR$\..\Common\Minimal\TaskNotify.c + + + $PROJ_DIR$\..\Common\Minimal\TimerDemo.c + + + + $PROJ_DIR$\full_demo\main_full.c + + + $PROJ_DIR$\full_demo\RegTest.s + + + + $PROJ_DIR$\FreeRTOSConfig.h + + + $PROJ_DIR$\main.c + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewt new file mode 100644 index 000000000..55e854e38 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.ewt @@ -0,0 +1,2252 @@ + + + 3 + + Debug + + RISCV + + 1 + + C-STAT + 261 + + 261 + + 0 + + 1 + 600 + 1 + 2 + 0 + 1 + 100 + + + 1.5.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Release + + RISCV + + 0 + + C-STAT + 261 + + 261 + + 0 + + 1 + 600 + 1 + 2 + 0 + 1 + 100 + + + 1.5.5 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + blinky_demo + + $PROJ_DIR$\blinky_demo\main_blinky.c + + + + FreeRTOS_source + + include + + $PROJ_DIR$\..\..\Source\include\event_groups.h + + + $PROJ_DIR$\..\..\Source\include\message_buffer.h + + + $PROJ_DIR$\..\..\Source\include\queue.h + + + $PROJ_DIR$\..\..\Source\include\semphr.h + + + $PROJ_DIR$\..\..\Source\include\stream_buffer.h + + + $PROJ_DIR$\..\..\Source\include\task.h + + + $PROJ_DIR$\..\..\Source\include\timers.h + + + + portable + + memmang + + $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c + + + + $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\port.c + + + $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\portASM.s + + + + $PROJ_DIR$\..\..\Source\event_groups.c + + + $PROJ_DIR$\..\..\Source\list.c + + + $PROJ_DIR$\..\..\Source\queue.c + + + $PROJ_DIR$\..\..\Source\stream_buffer.c + + + $PROJ_DIR$\..\..\Source\tasks.c + + + $PROJ_DIR$\..\..\Source\timers.c + + + + full_demo + + common + + $PROJ_DIR$\..\Common\Minimal\blocktim.c + + + $PROJ_DIR$\..\Common\Minimal\dynamic.c + + + $PROJ_DIR$\..\Common\Minimal\TaskNotify.c + + + $PROJ_DIR$\..\Common\Minimal\TimerDemo.c + + + + $PROJ_DIR$\full_demo\main_full.c + + + $PROJ_DIR$\full_demo\RegTest.s + + + + $PROJ_DIR$\FreeRTOSConfig.h + + + $PROJ_DIR$\main.c + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.eww b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.eww new file mode 100644 index 000000000..92414519a --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/RTOSDemo.eww @@ -0,0 +1,7 @@ + + + + $WS_DIR$\RTOSDemo.ewp + + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/blinky_demo/main_blinky.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/blinky_demo/main_blinky.c new file mode 100644 index 000000000..a1d1edb0b --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/blinky_demo/main_blinky.c @@ -0,0 +1,205 @@ +/* + * FreeRTOS Kernel V10.2.1 + * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/****************************************************************************** + * NOTE 1: This project provides two demo applications. A simple blinky + * style project, and a more comprehensive test and demo application. The + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select + * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY + * in main.c. This file implements the simply blinky style version. + * + * NOTE 2: This file only contains the source code that is specific to the + * basic demo. Generic functions, such FreeRTOS hook functions, and functions + * required to configure the hardware are defined in main.c. + ****************************************************************************** + * + * main_blinky() creates one queue, and two tasks. It then starts the + * scheduler. + * + * The Queue Send Task: + * The queue send task is implemented by the prvQueueSendTask() function in + * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly + * block for 1000 milliseconds, before sending the value 100 to the queue that + * was created within main_blinky(). Once the value is sent, the task loops + * back around to block for another 1000 milliseconds...and so on. + * + * The Queue Receive Task: + * The queue receive task is implemented by the prvQueueReceiveTask() function + * in this file. prvQueueReceiveTask() sits in a loop where it repeatedly + * blocks on attempts to read data from the queue that was created within + * main_blinky(). When data is received, the task checks the value of the + * data, and if the value equals the expected 100, writes 'Blink' to the UART + * (the UART is used in place of the LED to allow easy execution in QEMU). The + * 'block time' parameter passed to the queue receive function specifies that + * the task should be held in the Blocked state indefinitely to wait for data to + * be available on the queue. The queue receive task will only leave the + * Blocked state when the queue send task writes to the queue. As the queue + * send task writes to the queue every 1000 milliseconds, the queue receive + * task leaves the Blocked state every 1000 milliseconds, and therefore toggles + * the LED every 200 milliseconds. + */ + +/* Standard includes. */ +#include +#include + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "queue.h" + +/* Priorities used by the tasks. */ +#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) +#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) + +/* The rate at which data is sent to the queue. The 200ms value is converted +to ticks using the pdMS_TO_TICKS() macro. */ +#define mainQUEUE_SEND_FREQUENCY_MS pdMS_TO_TICKS( 1000 ) + +/* The maximum number items the queue can hold. The priority of the receiving +task is above the priority of the sending task, so the receiving task will +preempt the sending task and remove the queue items each time the sending task +writes to the queue. Therefore the queue will never have more than one item in +it at any time, and even with a queue length of 1, the sending task will never +find the queue full. */ +#define mainQUEUE_LENGTH ( 1 ) + +/*-----------------------------------------------------------*/ + +/* + * Called by main when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1 in + * main.c. + */ +void main_blinky( void ); + +/* + * The tasks as described in the comments at the top of this file. + */ +static void prvQueueReceiveTask( void *pvParameters ); +static void prvQueueSendTask( void *pvParameters ); + +/*-----------------------------------------------------------*/ + +/* The queue used by both tasks. */ +static QueueHandle_t xQueue = NULL; + +/*-----------------------------------------------------------*/ + +void main_blinky( void ) +{ + /* Create the queue. */ + xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( uint32_t ) ); + + if( xQueue != NULL ) + { + /* Start the two tasks as described in the comments at the top of this + file. */ + xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */ + "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */ + configMINIMAL_STACK_SIZE * 2U, /* The size of the stack to allocate to the task. */ + NULL, /* The parameter passed to the task - not used in this case. */ + mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */ + NULL ); /* The task handle is not required, so NULL is passed. */ + + xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE * 2U, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL ); + + /* Start the tasks and timer running. */ + vTaskStartScheduler(); + } + + /* If all is well, the scheduler will now be running, and the following + line will never be reached. If the following line does execute, then + there was insufficient FreeRTOS heap memory available for the Idle and/or + timer tasks to be created. See the memory management section on the + FreeRTOS web site for more details on the FreeRTOS heap + http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvQueueSendTask( void *pvParameters ) +{ +TickType_t xNextWakeTime; +const unsigned long ulValueToSend = 100UL; +BaseType_t xReturned; + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + /* Initialise xNextWakeTime - this only needs to be done once. */ + xNextWakeTime = xTaskGetTickCount(); + + for( ;; ) + { + /* Place this task in the blocked state until it is time to run again. */ + vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS ); + + /* Send to the queue - causing the queue receive task to unblock and + toggle the LED. 0 is used as the block time so the sending operation + will not block - it shouldn't need to block as the queue should always + be empty at this point in the code. */ + xReturned = xQueueSend( xQueue, &ulValueToSend, 0U ); + configASSERT( xReturned == pdPASS ); + } +} +/*-----------------------------------------------------------*/ + +static void prvQueueReceiveTask( void *pvParameters ) +{ +unsigned long ulReceivedValue; +const unsigned long ulExpectedValue = 100UL; +const char * const pcPassMessage = "Blink\r\n"; +const char * const pcFailMessage = "Unexpected value received\r\n"; +extern void vSendString( const char * const pcString ); +extern void vToggleLED( void ); + + /* Remove compiler warning about unused parameter. */ + ( void ) pvParameters; + + for( ;; ) + { + /* Wait until something arrives in the queue - this task will block + indefinitely provided INCLUDE_vTaskSuspend is set to 1 in + FreeRTOSConfig.h. */ + xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY ); + + /* To get here something must have been received from the queue, but + is it the expected value? If it is, toggle the LED. */ + if( ulReceivedValue == ulExpectedValue ) + { + vSendString( pcPassMessage ); + vToggleLED(); + ulReceivedValue = 0U; + } + else + { + vSendString( pcFailMessage ); + } + } +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/full_demo/RegTest.s b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/full_demo/RegTest.s new file mode 100644 index 000000000..7b13c8ab1 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/full_demo/RegTest.s @@ -0,0 +1,266 @@ +/* + * FreeRTOS Kernel V10.2.1 + * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + + EXTERN pulRegTest1LoopCounter + EXTERN pulRegTest2LoopCounter + + PUBLIC vRegTest1Implementation + PUBLIC vRegTest2Implementation + +/*-----------------------------------------------------------*/ + + SECTION `.text`:CODE:NOROOT(2) + CODE + +/* + * The register check tasks are described in the comments at the top of + * main_full.c. + */ + + ALIGN 8 +vRegTest1Implementation: + + /* Fill the core registers with known values. */ + li x5, 0x5 + li x6, 0x6 + li x7, 0x7 + li x8, 0x8 + li x9, 0x9 + li x10, 0xa + li x11, 0xb + li x12, 0xc + li x13, 0xd + li x14, 0xe + li x15, 0xf + li x16, 0x10 + li x17, 0x11 + li x18, 0x12 + li x19, 0x13 + li x20, 0x14 + li x21, 0x15 + li x22, 0x16 + li x23, 0x17 + li x24, 0x18 + li x25, 0x19 + li x26, 0x1a + li x27, 0x1b + li x28, 0x1c + li x29, 0x1d + li x30, 0x1e + +reg1_loop: + + /* Check each register still contains the expected known value. + vRegTest1Implementation uses x31 as the temporary, vRegTest2Implementation + uses x5 as the temporary. */ + li x31, 0x5 + bne x31, x5, reg1_error_loop + li x31, 0x6 + bne x31, x6, reg1_error_loop + li x31, 0x7 + bne x31, x7, reg1_error_loop + li x31, 0x8 + bne x31, x8, reg1_error_loop + li x31, 0x9 + bne x31, x9, reg1_error_loop + li x31, 0xa + bne x31, x10, reg1_error_loop + li x31, 0xb + bne x31, x11, reg1_error_loop + li x31, 0xc + bne x31, x12, reg1_error_loop + li x31, 0xd + bne x31, x13, reg1_error_loop + li x31, 0xe + bne x31, x14, reg1_error_loop + li x31, 0xf + bne x31, x15, reg1_error_loop + li x31, 0x10 + bne x31, x16, reg1_error_loop + li x31, 0x11 + bne x31, x17, reg1_error_loop + li x31, 0x12 + bne x31, x18, reg1_error_loop + li x31, 0x13 + bne x31, x19, reg1_error_loop + li x31, 0x14 + bne x31, x20, reg1_error_loop + li x31, 0x15 + bne x31, x21, reg1_error_loop + li x31, 0x16 + bne x31, x22, reg1_error_loop + li x31, 0x17 + bne x31, x23, reg1_error_loop + li x31, 0x18 + bne x31, x24, reg1_error_loop + li x31, 0x19 + bne x31, x25, reg1_error_loop + li x31, 0x1a + bne x31, x26, reg1_error_loop + li x31, 0x1b + bne x31, x27, reg1_error_loop + li x31, 0x1c + bne x31, x28, reg1_error_loop + li x31, 0x1d + bne x31, x29, reg1_error_loop + li x31, 0x1e + bne x31, x30, reg1_error_loop + + /* Everything passed, increment the loop counter. */ + lw x31, pulRegTest1LoopCounter + lw x30, 0(x31) + addi x30, x30, 1 + sw x30, 0(x31) + + /* Restore clobbered register reading for next loop. */ + li x30, 0x1e + + /* Yield to increase code coverage. */ + ecall + + /* Start again. */ + jal reg1_loop + +reg1_error_loop: + /* Jump here if a register contains an uxpected value. This stops the loop + counter being incremented so the check task knows an error was found. */ + ebreak + jal reg1_error_loop + +/*-----------------------------------------------------------*/ + + ALIGN 8 +vRegTest2Implementation: + + /* Fill the core registers with known values. */ + li x6, 0x61 + li x7, 0x71 + li x8, 0x81 + li x9, 0x91 + li x10, 0xa1 + li x11, 0xb1 + li x12, 0xc1 + li x13, 0xd1 + li x14, 0xe1 + li x15, 0xf1 + li x16, 0x20 + li x17, 0x21 + li x18, 0x22 + li x19, 0x23 + li x20, 0x24 + li x21, 0x25 + li x22, 0x26 + li x23, 0x27 + li x24, 0x28 + li x25, 0x29 + li x26, 0x2a + li x27, 0x2b + li x28, 0x2c + li x29, 0x2d + li x30, 0x2e + li x31, 0x2f + +Reg2_loop: + + /* Check each register still contains the expected known value. + vRegTest2Implementation uses x5 as the temporary, vRegTest1Implementation + uses x31 as the temporary. */ + li x5, 0x61 + bne x5, x6, reg2_error_loop + li x5, 0x71 + bne x5, x7, reg2_error_loop + li x5, 0x81 + bne x5, x8, reg2_error_loop + li x5, 0x91 + bne x5, x9, reg2_error_loop + li x5, 0xa1 + bne x5, x10, reg2_error_loop + li x5, 0xb1 + bne x5, x11, reg2_error_loop + li x5, 0xc1 + bne x5, x12, reg2_error_loop + li x5, 0xd1 + bne x5, x13, reg2_error_loop + li x5, 0xe1 + bne x5, x14, reg2_error_loop + li x5, 0xf1 + bne x5, x15, reg2_error_loop + li x5, 0x20 + bne x5, x16, reg2_error_loop + li x5, 0x21 + bne x5, x17, reg2_error_loop + li x5, 0x22 + bne x5, x18, reg2_error_loop + li x5, 0x23 + bne x5, x19, reg2_error_loop + li x5, 0x24 + bne x5, x20, reg2_error_loop + li x5, 0x25 + bne x5, x21, reg2_error_loop + li x5, 0x26 + bne x5, x22, reg2_error_loop + li x5, 0x27 + bne x5, x23, reg2_error_loop + li x5, 0x28 + bne x5, x24, reg2_error_loop + li x5, 0x29 + bne x5, x25, reg2_error_loop + li x5, 0x2a + bne x5, x26, reg2_error_loop + li x5, 0x2b + bne x5, x27, reg2_error_loop + li x5, 0x2c + bne x5, x28, reg2_error_loop + li x5, 0x2d + bne x5, x29, reg2_error_loop + li x5, 0x2e + bne x5, x30, reg2_error_loop + li x5, 0x2f + bne x5, x31, reg2_error_loop + + /* Everything passed, increment the loop counter. */ + lw x5, pulRegTest2LoopCounter + lw x6, 0(x5) + addi x6, x6, 1 + sw x6, 0(x5) + + /* Restore clobbered register reading for next loop. */ + li x6, 0x61 + + /* Start again. */ + jal Reg2_loop + +reg2_error_loop: + /* Jump here if a register contains an uxpected value. This stops the loop + counter being incremented so the check task knows an error was found. */ + ebreak + jal reg2_error_loop + +/*-----------------------------------------------------------*/ + + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/full_demo/main_full.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/full_demo/main_full.c new file mode 100644 index 000000000..4591e6118 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/full_demo/main_full.c @@ -0,0 +1,305 @@ +/* + * FreeRTOS Kernel V10.2.1 + * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/****************************************************************************** + * NOTE 1: This project provides two demo applications. A simple blinky style + * project, and a more comprehensive test and demo application. The + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select + * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY + * in main.c. This file implements the comprehensive test and demo version. + * + * NOTE 2: This file only contains the source code that is specific to the + * full demo. Generic functions, such FreeRTOS hook functions, and functions + * required to configure the hardware, are defined in main.c. + * + ****************************************************************************** + * + * main_full() creates all the demo application tasks and software timers, then + * starts the scheduler. The web documentation provides more details of the + * standard demo application tasks, which provide no particular functionality, + * but do provide a good example of how to use the FreeRTOS API. + * + * In addition to the standard demo tasks, the following tasks and tests are + * defined and/or created within this file: + * + * "Reg test" tasks - These fill both the core registers with known values, then + * check that each register maintains its expected value for the lifetime of the + * task. Each task uses a different set of values. The reg test tasks execute + * with a very low priority, so get preempted very frequently. A register + * containing an unexpected value is indicative of an error in the context + * switching mechanism. + * + * "Check" task - The check executes every three seconds. It checks that all + * the standard demo tasks, and the register check tasks, are not only still + * executing, but are executing without reporting any errors. The check task + * toggles the LED every three seconds if all the standard demo tasks are + * executing as expected, or every 500ms if a potential error is discovered in + * any task. + */ + +/* Standard includes. */ +#include +#include + +/* Kernel includes. */ +#include "FreeRTOS.h" +#include "task.h" +#include "timers.h" +#include "semphr.h" + +/* Standard demo application includes. */ +#include "dynamic.h" +#include "blocktim.h" +#include "TimerDemo.h" +#include "TaskNotify.h" + +/* Priorities for the demo application tasks. */ +#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) + +/* The period of the check task, in ms, converted to ticks using the +pdMS_TO_TICKS() macro. mainNO_ERROR_CHECK_TASK_PERIOD is used if no errors have +been found, mainERROR_CHECK_TASK_PERIOD is used if an error has been found. */ +#define mainNO_ERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 3000UL ) +#define mainERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 500UL ) + +/* Parameters that are passed into the register check tasks solely for the +purpose of ensuring parameters are passed into tasks correctly. */ +#define mainREG_TEST_TASK_1_PARAMETER ( ( void * ) 0x12345678 ) +#define mainREG_TEST_TASK_2_PARAMETER ( ( void * ) 0x87654321 ) + +/* The base period used by the timer test tasks. */ +#define mainTIMER_TEST_PERIOD ( 50 ) + +/* The size of the stack allocated to the check task (as described in the +comments at the top of this file. */ +#define mainCHECK_TASK_STACK_SIZE_WORDS 100 + +/* Size of the stacks to allocated for the register check tasks. */ +#define mainREG_TEST_STACK_SIZE_WORDS 70 + +/*-----------------------------------------------------------*/ + +/* + * Called by main() to run the full demo (as opposed to the blinky demo) when + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. + */ +void main_full( void ); + +/* + * The check task, as described at the top of this file. + */ +static void prvCheckTask( void *pvParameters ); + +/* + * Register check tasks as described at the top of this file. The nature of + * these files necessitates that they are written in an assembly file, but the + * entry points are kept in the C file for the convenience of checking the task + * parameter. + */ +static void prvRegTestTaskEntry1( void *pvParameters ); +extern void vRegTest1Implementation( void ); +static void prvRegTestTaskEntry2( void *pvParameters ); +extern void vRegTest2Implementation( void ); + +/* + * Tick hook used by the full demo, which includes code that interacts with + * some of the tests. + */ +void vFullDemoTickHook( void ); + +/*-----------------------------------------------------------*/ + +/* The following two variables are used to communicate the status of the +register check tasks to the check task. If the variables keep incrementing, +then the register check tasks have not discovered any errors. If a variable +stops incrementing, then an error has been found. */ +uint32_t ulRegTest1LoopCounter = 0UL, ulRegTest2LoopCounter = 0UL; +volatile uint32_t *pulRegTest1LoopCounter = &ulRegTest1LoopCounter; +volatile uint32_t *pulRegTest2LoopCounter = &ulRegTest2LoopCounter; +/*-----------------------------------------------------------*/ + +void main_full( void ) +{ + /* Start all the other standard demo/test tasks. They have no particular + functionality, but do demonstrate how to use the FreeRTOS API and test the + kernel port. */ + vCreateBlockTimeTasks(); + vStartTimerDemoTask( mainTIMER_TEST_PERIOD ); + vStartDynamicPriorityTasks(); + vStartTaskNotifyTask(); + + /* Create the register check tasks, as described at the top of this file. + Use xTaskCreateStatic() to create a task using only statically allocated + memory. */ + xTaskCreate( prvRegTestTaskEntry1, /* The function that implements the task. */ + "Reg1", /* The name of the task. */ + mainREG_TEST_STACK_SIZE_WORDS, /* Size of stack to allocate for the task - in words not bytes!. */ + mainREG_TEST_TASK_1_PARAMETER, /* Parameter passed into the task. */ + tskIDLE_PRIORITY, /* Priority of the task. */ + NULL ); /* Can be used to pass out a handle to the created task. */ + xTaskCreate( prvRegTestTaskEntry2, "Reg2", mainREG_TEST_STACK_SIZE_WORDS, mainREG_TEST_TASK_2_PARAMETER, tskIDLE_PRIORITY, NULL ); + + /* Create the task that performs the 'check' functionality, as described at + the top of this file. */ + xTaskCreate( prvCheckTask, "Check", mainCHECK_TASK_STACK_SIZE_WORDS, NULL, mainCHECK_TASK_PRIORITY, NULL ); + + /* Start the scheduler. */ + vTaskStartScheduler(); + + /* If all is well, the scheduler will now be running, and the following + line will never be reached. If the following line does execute, then + there was insufficient FreeRTOS heap memory available for the Idle and/or + timer tasks to be created. See the memory management section on the + FreeRTOS web site for more details on the FreeRTOS heap + http://www.freertos.org/a00111.html. */ + for( ;; ); +} +/*-----------------------------------------------------------*/ + +static void prvCheckTask( void *pvParameters ) +{ +TickType_t xDelayPeriod = mainNO_ERROR_CHECK_TASK_PERIOD; +TickType_t xLastExecutionTime; +uint32_t ulLastRegTest1Value = 0, ulLastRegTest2Value = 0; +char * const pcPassMessage = "."; +char * pcStatusMessage = pcPassMessage; +extern void vToggleLED( void ); + + /* Just to stop compiler warnings. */ + ( void ) pvParameters; + + /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil() + works correctly. */ + xLastExecutionTime = xTaskGetTickCount(); + + /* Cycle for ever, delaying then checking all the other tasks are still + operating without error. The onboard LED is toggled on each iteration. + If an error is detected then the delay period is decreased from + mainNO_ERROR_CHECK_TASK_PERIOD to mainERROR_CHECK_TASK_PERIOD. This has the + effect of increasing the rate at which the onboard LED toggles, and in so + doing gives visual feedback of the system status. */ + for( ;; ) + { + /* Delay until it is time to execute again. */ + vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod ); + + /* Check all the demo tasks (other than the flash tasks) to ensure + that they are all still running, and that none have detected an error. */ + if( xAreDynamicPriorityTasksStillRunning() == pdFALSE ) + { + pcStatusMessage = "ERROR: Dynamic priority demo/tests.\r\n"; + } + + if( xAreBlockTimeTestTasksStillRunning() == pdFALSE ) + { + pcStatusMessage = "ERROR: Block time demo/tests.\r\n"; + } + + if( xAreTimerDemoTasksStillRunning( ( TickType_t ) xDelayPeriod ) == pdFALSE ) + { + pcStatusMessage = "ERROR: Timer demo/tests.\r\n"; + } + + if( xAreTaskNotificationTasksStillRunning() == pdFALSE ) + { + pcStatusMessage = "ERROR: Task notification demo/tests.\r\n"; + } + + /* Check that the register test 1 task is still running. */ + if( ulLastRegTest1Value == ulRegTest1LoopCounter ) + { + pcStatusMessage = "ERROR: Register test 1.\r\n"; + } + ulLastRegTest1Value = ulRegTest1LoopCounter; + + /* Check that the register test 2 task is still running. */ + if( ulLastRegTest2Value == ulRegTest2LoopCounter ) + { + pcStatusMessage = "ERROR: Register test 2.\r\n"; + } + ulLastRegTest2Value = ulRegTest2LoopCounter; + + /* Write the status message to the UART and toggle the LED to show the + system status if the UART is not connected. */ + vToggleLED(); + + /* If an error has been found then increase the LED toggle rate by + increasing the cycle frequency. */ + if( pcStatusMessage != pcPassMessage ) + { + xDelayPeriod = mainERROR_CHECK_TASK_PERIOD; + } + } +} +/*-----------------------------------------------------------*/ + +static void prvRegTestTaskEntry1( void *pvParameters ) +{ + /* Although the regtest task is written in assembler, its entry point is + written in C for convenience of checking the task parameter is being passed + in correctly. */ + if( pvParameters == mainREG_TEST_TASK_1_PARAMETER ) + { + /* Start the part of the test that is written in assembler. */ + vRegTest1Implementation(); + } + + /* The following line will only execute if the task parameter is found to + be incorrect. The check task will detect that the regtest loop counter is + not being incremented and flag an error. */ + vTaskDelete( NULL ); +} +/*-----------------------------------------------------------*/ + +static void prvRegTestTaskEntry2( void *pvParameters ) +{ + /* Although the regtest task is written in assembler, its entry point is + written in C for convenience of checking the task parameter is being passed + in correctly. */ + if( pvParameters == mainREG_TEST_TASK_2_PARAMETER ) + { + /* Start the part of the test that is written in assembler. */ + vRegTest2Implementation(); + } + + /* The following line will only execute if the task parameter is found to + be incorrect. The check task will detect that the regtest loop counter is + not being incremented and flag an error. */ + vTaskDelete( NULL ); +} +/*-----------------------------------------------------------*/ + +void vFullDemoTickHook( void ) +{ + /* Called from vApplicationTickHook() when the project is configured to + build the full test/demo applications. */ + + /* Use task notifications from an interrupt. */ + xNotifyTaskFromISR(); +} +/*-----------------------------------------------------------*/ + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c new file mode 100644 index 000000000..f7adaedee --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/main.c @@ -0,0 +1,302 @@ +/* + * FreeRTOS Kernel V10.2.1 + * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + * the Software, and to permit persons to whom the Software is furnished to do so, + * subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * + * http://www.FreeRTOS.org + * http://aws.amazon.com/freertos + * + * 1 tab == 4 spaces! + */ + +/****************************************************************************** + * This project provides two demo applications. A simple blinky style project, + * and a more comprehensive test and demo application. The + * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to + * select between the two. The simply blinky demo is implemented and described + * in main_blinky.c. The more comprehensive test and demo application is + * implemented and described in main_full.c. + * + * This file implements the code that is not demo specific, including the + * hardware setup and standard FreeRTOS hook functions. + * + * When running on the HiFive Rev B hardware: + * When executing correctly the red LED will toggle every three seconds. If + * the red LED toggles every 500ms then one of the self-monitoring test tasks + * discovered a potential issue. If the red led stops toggling then a hardware + * exception occurred or an assert was hit. + * + * ENSURE TO READ THE DOCUMENTATION PAGE FOR THIS PORT AND DEMO APPLICATION ON + * THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO + * APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT! + * + */ + +/* FreeRTOS kernel includes. */ +#include +#include + +/* Standard includes. */ +#include + +/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo, +or 0 to run the more comprehensive test and demo application. */ +#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 0 + +/* UART hardware constants. */ +#define mainUART_BASE_ADDRESS ( *( volatile uint32_t * ) 0x20000000UL ) +#define mainUART_TX_DATA 0x00 +#define mainUART_TX_CTRL 0x08 +#define mainUART_RX_CTRL 0x0c +#define mainUART_CLOCK_DIV 0x18 +#define mainUART_TX_ENABLE_BIT (1UL << 0UL) +#define mainUART_RX_ENABLE_BIT (1UL << 0UL) +#define mainUART_TX_FULL_BIT (1UL << 31UL) +#define mainUART_REGISTER( offset ) ( ( mainUART_BASE_ADDRESS + offset ) ) +#define mainUART_REGISTER_WORD( offset ) ( *( ( uint32_t * ) mainUART_REGISTER( offset ) ) ) + +/* Hardware LED specifics. */ +#define mainRED_LED_PIN ( 1UL << 0x16UL ) +#define mainLED_IO_BASE_ADDRESS ( 0x10012000UL ) +#define mainRED_LED_INPUT_ENABLE_REG ( * ( uint32_t * ) ( mainLED_IO_BASE_ADDRESS + 4UL ) ) +#define mainRED_LED_OUTPUT_ENABLE_REG ( * ( uint32_t * ) ( mainLED_IO_BASE_ADDRESS + 8UL ) ) + +/* Hardware LED specifics. */ +#define mainUART_PINMUX_BASE_ADDRESS ( 0x10012000 ) +#define mainUART0_BASE_ADDRESS 0x10013000UL +#define mainUART_CLOCK_RATE 16000000UL +#define mainUART_BAUD_RATE 115200UL +#define mainUART0_TX_DATA_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 0UL ) ) +#define mainUART0_TX_DATA_BYTE_REG ( * ( uint8_t * ) ( mainUART0_BASE_ADDRESS + 0UL ) ) +#define mainUART0_DIV_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 24UL ) ) +#define mainUART0_TXCTRL_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 8UL ) ) +#define mainUART0_RXCTRL_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 12UL ) ) +#define mainUART0_GPIO_SEL_REG ( * ( uint32_t * ) ( mainUART_PINMUX_BASE_ADDRESS + 60UL ) ) +#define mainUART0_GPIO_SEL_EN ( * ( uint32_t * ) ( mainUART_PINMUX_BASE_ADDRESS + 56UL ) ) +#define mainUART_TXEN_BIT ( 1UL ) +#define mainUART0_PIN ( 0x30000UL ) + +/* Registers used to initialise the PLIC. */ +#define mainPLIC_PENDING_0 ( * ( ( volatile uint32_t * ) 0x0C001000UL ) ) +#define mainPLIC_PENDING_1 ( * ( ( volatile uint32_t * ) 0x0C001004UL ) ) +#define mainPLIC_ENABLE_0 ( * ( ( volatile uint32_t * ) 0x0C002000UL ) ) +#define mainPLIC_ENABLE_1 ( * ( ( volatile uint32_t * ) 0x0C002004UL ) ) + +/*-----------------------------------------------------------*/ + +/* + * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1. + * main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. + */ +#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 + extern void main_blinky( void ); +#else + extern void main_full( void ); +#endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */ + +/* + * Prototypes for the standard FreeRTOS callback/hook functions implemented + * within this file. See https://www.freertos.org/a00016.html + */ +void vApplicationMallocFailedHook( void ); +void vApplicationIdleHook( void ); +void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ); +void vApplicationTickHook( void ); + +/* + * Setup the hardware to run this demo. + */ +static void prvSetupHardware( void ); + +/* Simple polling UART send function. */ +void vSendString( const char * const pcString ); + +/* Toggle the red LED. */ +void vTogglelED( void ); + +/*-----------------------------------------------------------*/ + +int main( void ) +{ + prvSetupHardware(); + + /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top + of this file. */ + #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 ) + { + main_blinky(); + } + #else + { + main_full(); + } + #endif +} +/*-----------------------------------------------------------*/ + +static void prvSetupHardware( void ) +{ + /* Set all interrupt enable bits to 0. */ + mainPLIC_ENABLE_0 = 0UL; + mainPLIC_ENABLE_1 = 0UL; + + /* Clear all pending interrupts. */ + mainPLIC_PENDING_0 = 0UL; + mainPLIC_PENDING_1 = 0UL; + + /* Disable Red LED input. */ + mainRED_LED_INPUT_ENABLE_REG &= ~mainRED_LED_PIN; + + /* Enable Red LED output. */ + mainRED_LED_OUTPUT_ENABLE_REG |= mainRED_LED_PIN; + + /* Set UART baud rate. */ + mainUART0_DIV_REG = ( mainUART_CLOCK_RATE / mainUART_BAUD_RATE ) - 1; + + /* Enable UART Tx. */ + mainUART0_TXCTRL_REG |= mainUART_TXEN_BIT; + mainUART0_GPIO_SEL_REG &= mainUART0_PIN; + mainUART0_GPIO_SEL_EN |= mainUART0_PIN; +} +/*-----------------------------------------------------------*/ + +void vToggleLED( void ) +{ +static uint32_t ulLEDState = 0; + + if( ulLEDState == 0 ) + { + mainRED_LED_OUTPUT_ENABLE_REG |= mainRED_LED_PIN; + } + else + { + mainRED_LED_OUTPUT_ENABLE_REG &= ~mainRED_LED_PIN; + } + ulLEDState = !ulLEDState; +} +/*-----------------------------------------------------------*/ + +void vSendString( const char * const pcString ) +{ +uint32_t ulIndex = 0; + + /* Crude polling UART Tx. */ + while( pcString[ ulIndex ] != 0x00 ) + { + while( ( mainUART0_TX_DATA_REG & mainUART_TX_FULL_BIT ) != 0UL ); + mainUART0_TX_DATA_BYTE_REG = pcString[ ulIndex ]; + ulIndex++; + } +} +/*-----------------------------------------------------------*/ + +void vApplicationMallocFailedHook( void ) +{ + /* vApplicationMallocFailedHook() will only be called if + configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook + function that will get called if a call to pvPortMalloc() fails. + pvPortMalloc() is called internally by the kernel whenever a task, queue, + timer or semaphore is created. It is also called by various parts of the + demo application. If heap_1.c or heap_2.c are used, then the size of the + heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE in + FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used + to query the size of free heap space that remains (although it does not + provide information on how the remaining heap might be fragmented). */ + taskDISABLE_INTERRUPTS(); + __asm volatile( "ebreak" ); + for( ;; ); +} +/*-----------------------------------------------------------*/ + +void vApplicationIdleHook( void ) +{ + /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set + to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle + task. It is essential that code added to this hook function never attempts + to block in any way (for example, call xQueueReceive() with a block time + specified, or call vTaskDelay()). If the application makes use of the + vTaskDelete() API function (as this demo application does) then it is also + important that vApplicationIdleHook() is permitted to return to its calling + function, because it is the responsibility of the idle task to clean up + memory allocated by the kernel to any task that has since been deleted. */ +} +/*-----------------------------------------------------------*/ + +void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ) +{ + ( void ) pcTaskName; + ( void ) pxTask; + + /* Run time stack overflow checking is performed if + configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook + function is called if a stack overflow is detected. */ + taskDISABLE_INTERRUPTS(); + __asm volatile( "ebreak" ); + for( ;; ); +} +/*-----------------------------------------------------------*/ + +void vApplicationTickHook( void ) +{ + /* The tests in the full demo expect some interaction with interrupts. */ + #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY != 1 ) + { + extern void vFullDemoTickHook( void ); + vFullDemoTickHook(); + } + #endif +} +/*-----------------------------------------------------------*/ + +/* Called from the kernel's port layer to handle device specific external +interrupts. */ +void vApplicationHandleTrap( uint32_t mcause ) +{ +char pcCause[ 20 ]; + + /* Not implemented yet. */ + sprintf( pcCause, "%u", mcause ); + vSendString( pcCause ); + configASSERT( mcause == 0 ); +#warning vApplicationHandleTrap not implemented. +#if 0 +uint32_t ulInterruptNumber; +typedef void ( * irq_handler_t )( void ); +extern const irq_handler_t isrTable[]; + + ulInterruptNumber = PLIC->TARGET[ 0 ].CLAIM_COMPLETE; + + /* Read handler from table. */ + /* Call handler. */ + + PLIC->TARGET[ 0 ].CLAIM_COMPLETE = ulInterruptNumber; +#endif +} + +/*-----------------------------------------------------------*/ + +void *malloc( size_t xSize ) +{ + /* The linker script does not define a heap so artificially force an assert() + if something unexpectedly uses the C library heap. See + https://www.freertos.org/a00111.html for more information. */ + configASSERT( xTaskGetTickCount() == 0x00 ); + return NULL; +} +/*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.cspy.bat b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.cspy.bat new file mode 100644 index 000000000..1f0173f74 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.cspy.bat @@ -0,0 +1,40 @@ +@REM This batch file has been generated by the IAR Embedded Workbench +@REM C-SPY Debugger, as an aid to preparing a command line for running +@REM the cspybat command line utility using the appropriate settings. +@REM +@REM Note that this file is generated every time a new debug session +@REM is initialized, so you may want to move or rename the file before +@REM making changes. +@REM +@REM You can launch cspybat by typing the name of this batch file followed +@REM by the name of the debug file (usually an ELF/DWARF or UBROF file). +@REM +@REM Read about available command line parameters in the C-SPY Debugging +@REM Guide. Hints about additional command line parameters that may be +@REM useful in specific cases: +@REM --download_only Downloads a code image without starting a debug +@REM session afterwards. +@REM --silent Omits the sign-on message. +@REM --timeout Limits the maximum allowed execution time. +@REM + + +@echo off + +if not "%~1" == "" goto debugFile + +@echo on + +"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" + +@echo off +goto end + +:debugFile + +@echo on + +"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%~1" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" + +@echo off +:end \ No newline at end of file diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.cspy.ps1 b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.cspy.ps1 new file mode 100644 index 000000000..f19491e25 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.cspy.ps1 @@ -0,0 +1,31 @@ +param([String]$debugfile = ""); + +# This powershell file has been generated by the IAR Embedded Workbench +# C - SPY Debugger, as an aid to preparing a command line for running +# the cspybat command line utility using the appropriate settings. +# +# Note that this file is generated every time a new debug session +# is initialized, so you may want to move or rename the file before +# making changes. +# +# You can launch cspybat by typing Powershell.exe -File followed by the name of this batch file, followed +# by the name of the debug file (usually an ELF / DWARF or UBROF file). +# +# Read about available command line parameters in the C - SPY Debugging +# Guide. Hints about additional command line parameters that may be +# useful in specific cases : +# --download_only Downloads a code image without starting a debug +# session afterwards. +# --silent Omits the sign - on message. +# --timeout Limits the maximum allowed execution time. +# + + +if ($debugfile -eq "") +{ +& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" +} +else +{ +& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --debug_file=$debugfile --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" +} diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.driver.xcl b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.driver.xcl new file mode 100644 index 000000000..8d9029480 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.driver.xcl @@ -0,0 +1,21 @@ +"--core=RV32IMAC" + +"-p" + +"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\hifive1.ddf" + +"--drv_verify_download" + +"--jet_standard_reset=2,300,1500" + +"--reset_style=\"0,-,0,Disabled__no_reset_\"" + +"--reset_style=\"1,-,0,Software\"" + +"--reset_style=\"2,-,1,Hardware\"" + +"--jet_emu_param=cJtagOpt=Fmt:OScan1" + + + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.general.xcl b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.general.xcl new file mode 100644 index 000000000..a586b63ed --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.Debug.general.xcl @@ -0,0 +1,13 @@ +"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvproc.dll" + +"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvijet.dll" + +"C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\Debug\Exe\RTOSDemo.out" + +--plugin="C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvbat.dll" + +--flash_loader="C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\flashloader\SiFive\hifive1.board" + + + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.dbgdt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.dbgdt new file mode 100644 index 000000000..98e13554e --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.dbgdt @@ -0,0 +1,1240 @@ + + + + + 34048 + 34049 + 34050 + 34051 + 34052 + 34053 + 34054 + 34055 + 34056 + 34057 + 34058 + 34059 + 34060 + 34061 + 34062 + 34063 + 34064 + 34065 + 34066 + 34067 + 34068 + 34069 + 34070 + 34071 + 34072 + 34073 + 34074 + 34075 + 34076 + 34077 + 34078 + 34079 + 34080 + 34081 + 34082 + 34083 + 34084 + 34085 + 34086 + 34087 + 34088 + 34089 + 34090 + 34091 + 34092 + 34093 + 34094 + 34095 + 34096 + 34097 + 34098 + 34099 + 34100 + 34101 + 34102 + 34103 + 34104 + 34105 + 34106 + 34107 + 34108 + 34109 + 34110 + 34111 + 34112 + 34113 + 34114 + 34115 + + + + + 34390 + 34323 + 34398 + 34400 + 34397 + 34320 + 34321 + 34324 + 0 + + + + + 57600 + 57601 + 57603 + 33024 + 0 + 57607 + 0 + 57635 + 57634 + 57637 + 0 + 57643 + 57644 + 0 + 33090 + 33057 + 57636 + 57640 + 57641 + 33026 + 33065 + 33063 + 33064 + 33053 + 33054 + 0 + 33035 + 33036 + 34399 + 0 + 33055 + 33056 + 33094 + 0 + + + + + Disassembly + _I0 + + + 500 + 20 + + + 1 + 1 + + + 14 + 22 + + + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 9E02000033005984000001000000259600000100000040E100000100000010860000BD00000000DA000001000000268100000100000056840000010000001F9600000100000029E10000040000000181000002000000009000000100000007DE00000100000020810000010000000F81000003000000C58600000100000026DE0000010000000C810000010000000D800000020000001D81000003000000018600000100000056860000010000002496000001000000808C00000100000014810000010000005584000003000000008100000400000003E10000010000001A860000030000005E8600001100000028DE0000010000000E810000B5000000C48600000100000041E1000001000000148600000A000000558600000100000023960000010000001186000023000000058100000800000016810000010000000284000001000000008600000100000046810000C80000002481000001000000DC840000010000000BDE000001000000D98400000100000000B00000010000000D8100000300000008860000040000000A810000010000000784000001000000 + + + 5D00D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000E0840000E1840000E2840000E384000024810000FFFFFFFF74860000439200001E920000289200002992000024960000259600001F96000008800000098000000A8000000B8000000C800000158000000A81000001E800000C84000033840000788400001184000000880000018800000288000003880000048800000588000002DE00000BDE00002492000007DE00007784000007840000808C000044D5000083860000588600000D8400000F8400000884000054840000328100001C810000098400001C8F00001E8F00001F8F0000208F0000218F00002AE10000118F000000B0000001B0000008D6000006D60000548600005986000004B0000005B00000008200001C82000001820000678600002281000023810000BE860000BF860000378700001B8600001C8600001D8600001E8600005A8600005B86000053860000A4860000A386000078860000 + 57005786000019000000048400007A000000138600002D00000002860000100000002CE1000071000000048100004A00000059920000250000007686000037000000108600002B000000268100005D000000018100004800000029E100006F0000002392000000000000318400008100000084860000380000000D860000160000005F860000620000000A8600002900000020810000590000000F8100005100000000900000850000003F8100005F00000023E100006B0000000C8100004E0000001D920000120000001982000043000000068400007C000000098100004C00000016820000410000004A810000750000009A8600001700000003840000790000005686000031000000018600000F0000002BE10000700000000084000076000000259200001D00000028E100006E0000000E8400007E000000308400008000000044920000230000000C860000150000002F8200004400000025E100006D00000009860000280000001A860000300000001F810000580000000E810000500000001F920000200000005E860000330000008E860000390000000B8100004D0000002D9200002200000022E100006A0000002B8000004600000018820000420000006986000036000000D18400001C000000058400007B000000148600002E0000000386000011000000498100007400000055860000070000000284000078000000058100004B0000002396000088000000118600002C000000008600000E0000000E86000018000000108400007F00000032840000820000004681000060000000218100005A0000000B8600002A000000608600003500000024E100006C0000000886000027000000C386000003000000A18600003A0000000A8400007D0000000D8100004F00000035E100007200000002E10000650000005D86000032000000168600002F000000C08600000B0000002C92000021000000 + + + 0 + 0A0000000A0000006E0000006E000000 + 0000000057050000000A00006A050000 + 4096 + 0 + 0 + 32767 + 0 + + + 1 + + + 34050 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34051 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 4294967295 + 4702000081020000000A0000B9040000 + 470200006A020000000A0000A2040000 + 4096 + 0 + 0 + 32767 + 0 + + + 0 + + + 34052 + 000000001700000022010000C8000000 + 04000000BE040000FC0900003D050000 + 32768 + 0 + 0 + 32767 + 0 + + + 1 + + + 34062 + 000000001700000022010000C8000000 + 04000000BE040000FC0900003D050000 + 32768 + 0 + 0 + 32767 + 0 + + + 1 + + + 34064 + 000000001700000022010000C8000000 + 04000000BE040000FC0900003D050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34065 + 000000001700000022010000C8000000 + 04000000BE040000FC0900003D050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34066 + 000000001700000022010000C8000000 + 04000000BE040000FC0900003D050000 + 32768 + 0 + 0 + 32767 + 0 + + + 1 + + + 34087 + 000000001700000022010000C8000000 + 04000000BE040000FC0900003D050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34098 + 000000001700000022010000C8000000 + 04000000BE040000FC0900003D050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34053 + 000000001700000080020000A8000000 + 00000000000000008002000091000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34054 + 00000000170000000601000078010000 + 000000003200000006010000A2040000 + 4096 + 0 + 0 + 32767 + 0 + + + 1 + + + + Frame + _I0 + + + 3500 + 20 + + + + 34055 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34056 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 8192 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34057 + 000000001700000022010000C8000000 + 0A010000F2030000700D0000A3040000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34058 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34059 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34060 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34061 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34063 + 00000000170000000601000078010000 + EF05000032000000000A0000A2040000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + 34067 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34068 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34069 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 8192 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34070 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34071 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34072 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34073 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34074 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34075 + 7FFFFFFFAC020000D007000090050000 + 470200007E020000000A0000A2040000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 0x80000810 + 0x800005b0 + 0x8000005b0 + 0x80000000 + 0x800007d0 + 0x80000740 + + 0 + 2147485712 + 2147485712 + 4 + 0 + 0 + 0 + 0 + 0 + 0 + 134217830 + + + 34076 + 7FFFFFFFAC020000D007000090050000 + 4B02000082020000FC09000088040000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 0x80000c40 + + 0 + 2147486800 + 2147486801 + 1 + 0 + 0 + 0 + 0 + 0 + 0 + 134217906 + + + 34077 + 7FFFFFFFAC020000D007000090050000 + 4B02000082020000FC09000088040000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34078 + 7FFFFFFFAC020000D007000090050000 + 4B02000082020000FC09000088040000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34079 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34080 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34081 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34082 + 00000000170000000601000078010000 + AA03000032000000EB050000A2040000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + Access + Name + Value + + + 180 + 180 + 180 + + + 0 + + + 34083 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34084 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34085 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34086 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34088 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34089 + 000000001700000080020000A8000000 + 00000000000000008002000091000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34090 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 4096 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34091 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 4096 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34092 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34093 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34094 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 8192 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34095 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34096 + 0000000017000000AE010000D8000000 + 0000000000000000AE010000C1000000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34097 + 0000000017000000AE010000D8000000 + 0000000000000000AE010000C1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34099 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34100 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + 34101 + 000000001700000022010000C8000000 + 00000000F20300009C0B0000A3040000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + 34102 + 000000001700000022010000C8000000 + 000000003D0300009C0B0000EE030000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + 34103 + 000000001700000022010000C8000000 + 00000000880200009C0B000039030000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + ID + Interrupt + Next Time + Status + Timing [cycles] + Type + + + 40 + 120 + 80 + 100 + 120 + 120 + + + + 34104 + 00000000170000000601000078010000 + E202000032000000D203000063020000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + xTickCount + ulclock + ulCheckTaskCycles + + + + Expression + Location + Type + Value + + + 164 + 150 + 100 + 100 + + + + 34105 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34106 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34107 + 00000000170000000601000078010000 + 00000000000000000601000061010000 + 16384 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34108 + 00000000170000000601000078010000 + 0A0100003200000043020000A2040000 + 4096 + 0 + 0 + 32767 + 0 + + + 1 + + + 000000004A000000000000000080000000000000FFFFFFFFFFFFFFFF4702000066020000000A00006A02000000000000010000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF040000001B8500001C8500001D8500001E850000FFFF02000B004354616262656450616E6500800000000000004702000081020000000A0000B9040000470200006A020000000A0000A2040000000000004080004604000000FFFEFF084D0065006D006F007200790020003100000000001B85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003200000000001C85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003300000000001D85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003400000000001E85000001000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFF1B85000001000000FFFFFFFF1B850000000000000010000001000000FFFFFFFFFFFFFFFF430200003200000047020000A20400000100000002000010040000000100000001000000610500003C85000000000000000000000000000000000000010000003C850000010000003C850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000003B85000000000000000000000000000000000000010000003B850000010000003B850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000003A85000000000000000000000000000000000000010000003A850000010000003A850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000398500000000000000000000000000000000000001000000398500000100000039850000000000000040000000000000FFFFFFFFFFFFFFFFDE02000032000000E20200006302000000000000020000000400000001000000A2FAFFFFB0000000388500000000000000000000000000000000000001000000388500000100000038850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000308500000000000000000000000000000000000001000000308500000100000030850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002F85000000000000000000000000000000000000010000002F850000010000002F850000000000000020000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000002E85000000000000000000000000000000000000010000002E850000010000002E850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002C85000000000000000000000000000000000000010000002C850000010000002C850000000000000010000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002B85000000000000000000000000000000000000010000002B850000010000002B850000000000000010000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002A85000000000000000000000000000000000000010000002A850000010000002A850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000298500000000000000000000000000000000000001000000298500000100000029850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000288500000000000000000000000000000000000001000000288500000100000028850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000268500000000000000000000000000000000000001000000268500000100000026850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000258500000000000000000000000000000000000001000000258500000100000025850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000248500000000000000000000000000000000000001000000248500000100000024850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000238500000000000000000000000000000000000001000000238500000100000023850000000000000040000000000000FFFFFFFFFFFFFFFFA603000032000000AA030000A20400000000000002000000040000000100000047F9FFFF00000000228500000000000000000000000000000000000001000000228500000100000022850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000218500000000000000000000000000000000000001000000218500000100000021850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000001F85000000000000000000000000000000000000010000001F850000010000001F850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000001A85000000000000000000000000000000000000010000001A850000010000001A850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000198500000000000000000000000000000000000001000000198500000100000019850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000188500000000000000000000000000000000000001000000188500000100000018850000000000000020000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000158500000000000000000000000000000000000001000000158500000100000015850000000000000040000000000000FFFFFFFFFFFFFFFFEB05000032000000EF050000A204000000000000020000000400000001000000F2F8FFFFC10300000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000A85000000000000000000000000000000000000010000000A850000010000000A850000000000000080000000000000FFFFFFFFFFFFFFFF0A010000EE030000700D0000F2030000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000020000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000088500000000000000000000000000000000000001000000088500000100000008850000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000A2040000010000000200001004000000010000000000000000000000068500000000000000000000000000000000000001000000068500000100000006850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000001000000FFFFFFFFFFFFFFFF00000000A2040000000A0000A6040000010000000100001004000000010000000000000000000000FFFFFFFF07000000048500000E85000010850000118500001285000027850000328500000180008000000100000000000000BD040000000A00006E05000000000000A6040000000A000057050000000000004080005607000000FFFEFF054200750069006C006400010000000485000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000E85000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000001085000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000001185000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300010000001285000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000002785000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000003285000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFF0485000001000000FFFFFFFF04850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED030000700D0000F103000000000000010000000400000001000000A4FBFFFF4F000000408500000000000000000000000000000000000001000000408500000100000040850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000003F85000000000000000000000000000000000000010000003F850000010000003F85000001000000FFFF02001200434D756C746950616E654672616D65576E6400010084010000002600000019010000DD010000000000000000000002000000000000003E85000000000000000000000000000000000000010000003E8500000000000000000000 + + + Debug + 00200000010000000800FFFF01001100434D4643546F6F6C426172427574746F6E568600000000040031000000FFFEFF000000000000000000000000000100000001000000018013860000000004002D000000FFFEFF00000000000000000000000000010000000100000001805E8600000000040033000000FFFEFF0000000000000000000000000001000000010000000180608600000000040035000000FFFEFF00000000000000000000000000010000000100000001805D8600000000040032000000FFFEFF000000000000000000000000000100000001000000018010860000000004002B000000FFFEFF000000000000000000000000000100000001000000018011860000000000002C000000FFFEFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E14860000000000002E000000FFFEFF205200650073006500740020007400680065002000640065006200750067006700650064002000700072006F006700720061006D000A00520065007300650074000000000000000000000000000100000001000000000000000000000001000000050009802087000000000000FFFFFFFFFFFEFF13440069007300610062006C0065006400200028006E006F0020007200650073006500740029000100000000000000000000000100000001000000000000000000000001000000000009802187000000000000FFFFFFFFFFFEFF0853006F006600740077006100720065000100000000000000000000000100000001000000000000000000000001000000000009802287000000000000FFFFFFFFFFFEFF08480061007200640077006100720065000100000000000000000000000100000001000000000000000000000001000000000009800000000000000400FFFFFFFFFFFEFF000000000000000000000000000100000001000000000000000000000001000000000009801986000000000000FFFFFFFFFFFEFF000100000000000000000000000100000001000000000000000000000001000000000000000000FFFEFF05440065006200750067006A000000 + + + 34048 + 0A0000000A0000006E0000006E000000 + 1703000000000000F30300001A000000 + 8192 + 0 + 0 + 106 + 0 + + + 1 + + + Main + 00200000010000002100FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000063000000FFFEFF000000000000000000000000000100000001000000018001E100000000000064000000FFFEFF000000000000000000000000000100000001000000018003E100000000000066000000FFFEFF0000000000000000000000000001000000010000000180008100000000000047000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000000069000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004006B000000FFFEFF000000000000000000000000000100000001000000018022E10000000004006A000000FFFEFF000000000000000000000000000100000001000000018025E10000000000006D000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040070000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040071000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0001000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000D00FFFEFF0A78005400690063006B0043006F0075006E007400FFFEFF0D73006500740075007000740069006D006500720069006E007400FFFEFF0C70007200760043006800650063006B005400610073006B00FFFEFF076300610074006300680075007000FFFEFF05740069006D0065007200FFFEFF1078004500720072006F0072004F00630063007500720072006500640020003D00FFFEFF086E006F006E0062006C006B0074007800FFFEFF086E006F00740069006600690065006400FFFEFF1770006F00720074004900530052005F0053005400410043004B005F00460049004C004C005F004200590054004500FFFEFF1370006F007200740043004800450043004B005F004900530052005F0053005400410043004B00FFFEFF066D0065006D00730065007400FFFEFF066D0061006C006C006F006300FFFEFF0C63006F006E0066006900670041005300530045005200540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018021810000000000005A000000FFFEFF000000000000000000000000000100000001000000018024E10000000000006C000000FFFEFF000000000000000000000000000100000001000000018028E10000000000006E000000FFFEFF000000000000000000000000000100000001000000018029E10000000000006F000000FFFEFF0000000000000000000000000001000000010000000180028100000000000049000000FFFEFF000000000000000000000000000100000001000000018029810000000000005E000000FFFEFF000000000000000000000000000100000001000000018027810000000000005C000000FFFEFF000000000000000000000000000100000001000000018028810000000000005D000000FFFEFF00000000000000000000000000010000000100000001801D8100000000040056000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040057000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000000004D000000FFFEFF00000000000000000000000000010000000100000001800C810000000000004E000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000062000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001801F8100000000000058000000FFFEFF0000000000000000000000000001000000010000000180208100000000000059000000FFFEFF0000000000000000000000000001000000010000000180468100000000020060000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00FF020000 + + + 34049 + 0A0000000A0000006E0000006E000000 + 0000000000000000150300001A000000 + 8192 + 0 + 0 + 767 + 0 + + + 1 + + + + 34001 + 0 + + + + CMSIS-Pack + 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED1840000000000001C000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 + + + 34109 + 0A0000000A0000006E0000006E000000 + F703000000000000250400001A000000 + 8192 + 0 + 0 + 24 + 0 + + + 1 + + + 34110 + 010000002600000019010000DD010000 + 000000000000000018010000B7010000 + 16384 + 0 + 1 + 32767 + 0 + + + 0 + + + + 200 + 100 + 100 + 100 + 100 + 100 + 100 + 150 + + + 34111 + 000000001700000022010000D8000000 + 000000000000000022010000C1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34112 + 000000001700000022010000D8000000 + 00000000F1030000700D000058050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 34113 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 8192 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34114 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 8192 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34115 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 8192 + 0 + 0 + 32767 + 0 + + + 0 + + + + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.dnx b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.dnx new file mode 100644 index 000000000..1f16e8434 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.dnx @@ -0,0 +1,119 @@ + + + + 0 + 1 + 90 + 1 + 1 + 1 + main + 0 + 50 + + + 2321671989 + + + 0 + 1 + + + 0 + 0 + 0 + + + 0 + + + 1 + 1 + + + 73866 + + Hardware + Software + 0 + 1 + 0 + + + 0 + C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\hifive1.ddf + + + 1 + + + 0 + 1 + + + 0 + 1 + 0 + 0 + + + 0 + + + 1 + + + 0 + 0 + 1 + 0 + 1 + 0 + + + 0 + 0 + 1 + 0 + 1 + + + 1 + + + 1 + 0 + 1 + 0 + 1 + + + 50000000 + 0 + 1 + + + 1 1 + 4 0 + + + _ 0 + _ "" + + + _ 0 + _ "" + _ 0 + + + _ 0 "EMUL_CODE" "{$PROJ_DIR$\..\Common\Minimal\MessageBufferDemo.c}.813.21" 0 0 1 "" 0 "" 0 + _ 0 "EMUL_CODE" "0x200129EE" 0 0 1 "" 0 "" 0 + _ 0 "EMUL_CODE" "{$PROJ_DIR$\..\Common\Minimal\MessageBufferDemo.c}.813.21" 0 0 1 "" 0 "" 0 + _ 0 "EMUL_CODE" "0x200126BE" 0 0 1 "" 0 "" 0 + 4 + + + 0 + 0 + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.reggroups b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.reggroups new file mode 100644 index 000000000..5f282702b --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.reggroups @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.wsdt new file mode 100644 index 000000000..038dfe810 --- /dev/null +++ b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1-RevB_IAR/settings/RTOSDemo.wsdt @@ -0,0 +1,508 @@ + + + + + RTOSDemo/Debug + + + + + 34048 + 34049 + 34050 + 34051 + 34052 + 34053 + 34054 + 34055 + 34056 + 34057 + 34058 + 34059 + 34060 + 34061 + 34062 + 34063 + 34064 + 34065 + + + + + 57600 + 57601 + 57603 + 33024 + 0 + 57607 + 0 + 57635 + 57634 + 57637 + 0 + 57643 + 57644 + 0 + 33090 + 33057 + 57636 + 57640 + 57641 + 33026 + 33065 + 33063 + 33064 + 33053 + 33054 + 0 + 33035 + 33037 + 34399 + 0 + 33038 + 33039 + 0 + + + + + 405 + 30 + 30 + 30 + + + RTOSDemo + RTOSDemo/FreeRTOS_source + RTOSDemo/FreeRTOS_source/portable + RTOSDemo/FreeRTOS_source/portable/memmang + RTOSDemo/SiFive_code + RTOSDemo/blinky_demo + + + + 14 + 23 + + + 1 + 1 + 0 + 0 + 1 + 1 + 1 + DF01000033005984000001000000259600000100000040E1000001000000108600000300000000DA000001000000268100000100000056840000020000001F9600000100000029E10000080000000181000002000000009000000200000007DE00000200000020810000010000000F8100001D000000C58600000100000026DE0000010000000C810000010000000D800000020000001D81000003000000018600000100000056860000010000002496000001000000808C00000100000014810000010000005584000012000000008100000400000003E10000010000001A860000010000005E8600000200000028DE0000010000000E8100007C010000C48600000100000041E10000010000001486000001000000558600000100000023960000010000001186000001000000058100000A00000016810000010000000284000001000000008600000100000046810000010000002481000002000000DC840000010000000BDE000001000000D98400000100000000B00000010000000D8100000300000008860000010000000A810000020000000784000001000000 + + + 8000FFFFFFFF0D8400000F8400000884000054840000328100001C8100000984000053840000D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000248100002AE10000008200001C820000018200006786000014820000158200001A8200001B820000228100002381000040E100000C840000338400007884000008800000098000000A8000000B8000000C800000158000000A81000001E80000479C0000439200001E92000028920000299200002592000024960000259600001F9600001D920000E880000020F1000010F0000000F0000020F0000030F0000060F00000008800000188000002880000038800000488000005880000EA840000EB840000EC840000ED840000EE840000EF840000F0840000F1840000F2840000F3840000F4840000F5840000F6840000F7840000118400007784000007840000808C000044D5000002DE00000BDE00002492000007DE000010E1000011E1000012E1000013E1000014E1000015E1000016E1000017E1000018E1000019E100001AE100001BE100001CE100001DE100001EE100001FE100001C8F00001E8F00001F8F0000208F0000218F0000118F0000818400007D84000082840000838400008484000039810000178200005584000056840000598400003284000002840000038400001084000005840000318400000A840000 + 3C00048400004C00000059920000110000002CE1000043000000268100002D0000001581000025000000048100001C0000002392000000000000018100001A00000029E100004100000007E100003B00000000900000420000005F8600003400000004E10000390000000F8100001F00000020810000270000003F8100003100000023E100003D0000000D8000001700000001E10000360000000C8100001C0000001982000015000000098100001E000000068400004E00000016820000130000004A81000047000000178100002700000000840000480000002BE10000420000001481000024000000449200000F00000028E100004000000000810000190000000E8400005000000030840000520000002F820000160000001F9200000C00000025E100003F00000003E10000380000000E8100001E0000001F810000260000002D9200000E00000022E100003C00000000E10000350000000B8100001F000000D18400000C00000018820000140000002B8000001800000041E1000045000000498100004600000023960000420000001681000026000000058100001D000000218100002C000000518400005600000005E100003A00000035E100004400000024E100003E00000002E10000370000000D810000210000002C9200000D000000 + + + 0 + 0A0000000A0000006E0000006E000000 + 0000000058050000700D00006B050000 + 4096 + 0 + 0 + 32767 + 0 + + + 1 + + + 4294967295 + 000000004A020000000600002F030000 + 0000000073040000700D000058050000 + 4096 + 0 + 0 + 32767 + 0 + + + 1 + + + 34049 + 210100008A03000098080000F0040000 + 040000008B0400006C0D00003E050000 + 32768 + 0 + 0 + 32767 + 0 + + + 1 + + + 21 + 2548 + 679 + 169 + 2 + C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_simulator_IAR\BuildLog.log + 0 + -1 + + + 34052 + 210100008A03000098080000F0040000 + 040000008B040000FC0500003E050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 1198 + 171 + 2054 + 2 + + 0 + -1 + + + 34053 + 210100008A03000098080000F0040000 + 040000008B040000FC0500003E050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 1198 + 171 + 2054 + 2 + + 0 + -1 + + + 34054 + 210100008A03000098080000F0040000 + 040000008B040000FC0500003E050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 763 + 127 + 1144 + 508 + 2 + + 0 + -1 + + + 34055 + 210100008A03000098080000F0040000 + 040000008B040000FC0500003E050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 532 + 76 + 912 + 2 + + 0 + -1 + + + 34058 + 210100008A03000098080000F0040000 + 040000008B040000FC0500003E050000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + 2 + + 0 + -1 + + + 34050 + 000000001700000080020000A8000000 + 00000000000000008002000091000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34051 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34056 + 000000001700000022010000C8000000 + 040000008B0400006C0D00003E050000 + 32768 + 0 + 0 + 32767 + 0 + + + 1 + + + 2 + $WS_DIR/SourceBrowseLog.log + 0 + -1 + + + 34057 + 000000001700000080020000A8000000 + 00000000000000008002000091000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34059 + 00000000170000000601000078010000 + 0000000032000000DD0100006F040000 + 4096 + 0 + 0 + 32767 + 0 + + + 1 + + + 0000000010000000000000000010000001000000FFFFFFFFFFFFFFFFDD01000032000000E10100006F040000010000000200001004000000010000000AFFFFFFD70500000B85000000000000000000000000000000000000010000000B850000010000000B850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000080000001000000FFFFFFFFFFFFFFFF000000006F040000700D000073040000010000000100001004000000010000009DFEFFFF38010000FFFFFFFF070000000885000001850000048500000585000006850000078500000A850000FFFF02000B004354616262656450616E650080000001000000000000004A020000000600002F0300000000000073040000700D000058050000000000004080005607000000FFFEFF1153006F0075007200630065002000420072006F0077007300650020004C006F006700010000000885000001000000FFFFFFFFFFFFFFFFFFFEFF054200750069006C006400010000000185000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000585000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000685000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000A85000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFF0885000001000000FFFFFFFF08850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000C85000000000000000000000000000000000000010000000C850000010000000C850000000000000080000000000000FFFFFFFFFFFFFFFF00000000A3040000700D0000A7040000000000000100000004000000010000000000000000000000FFFFFFFF010000000E85000001800080000000000000000000007E020000000600002F03000000000000A7040000700D000058050000000000004080004601000000FFFEFF094400650062007500670020004C006F006700000000000E85000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF0E85000001000000FFFFFFFF0E850000000000000000000000000000 + + + Main + 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000035000000FFFEFF000000000000000000000000000100000001000000018001E100000000000036000000FFFEFF000000000000000000000000000100000001000000018003E100000000000038000000FFFEFF0000000000000000000000000001000000010000000180008100000000000019000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000000003B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004003D000000FFFEFF000000000000000000000000000100000001000000018022E10000000004003C000000FFFEFF000000000000000000000000000100000001000000018025E10000000000003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000000042000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040043000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000004800FFFEFF042E0065006E006400FFFEFF0C70007800430075007200720065006E007400540043004200FFFEFF076D00730074006100740075007300FFFEFF046D00650070006300FFFEFF066D0063006100750073006500FFFEFF095F005F00610072006D00200076006F006C00FFFEFF0D5F005F00610072006D00200076006F006C00610069006C006500FFFEFF0E5F005F00610073006D00200076006F006C006100740069006C006500FFFEFF056D007400760065006300FFFEFF1278005400610073006B0049006E006300720065006D0065006E0074005400690063006B00FFFEFF0870006F0072007400480041004E004400FFFEFF0470006F0072007400FFFEFF0363006C007A00FFFEFF095500530045005F0050004F00520054005F00FFFEFF1F700075006C006C004D0061006300680069006E006500540069006D006500720043006F006D00700061007200650052006500670069007300740065007200FFFEFF055F005F00610073006D00FFFEFF0C780049005300520053007400610063006B0054006F007000FFFEFF1A63006F006E006600690067004900530052005F0053005400410043004B005F00530049005A0045005F0057004F00520044005300FFFEFF1B75007800540069006D006500720049006E006300720065006D0065006E007400730046006F0072004F006E0065005400690063006B00FFFEFF107000720076005300650074007500700048006100720064007700610072006500FFFEFF0955004100520054005F005200450047005700FFFEFF0B55004100520054005F0054005800460055004C004C00FFFEFF164D004500540041004C005F005300490046004900560045005F00550041005200540030005F00440049005600FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F00540058004300540052004C00FFFEFF0F7400610073006B00520045005300450054005F0052004500410044005900FFFEFF0855004100520054005F00520045004700FFFEFF18700072007600530065007400750070005000650072006900700068006500720061006C00540069006D00650072007300FFFEFF06650062007200650061006B00FFFEFF0C63006F006E00660069006700410053005300450052005400FFFEFF095400490043004B005F0048004F004F004B00FFFEFF0575006C00520065006700FFFEFF16700075006C00520065006700540065007300740031004C006F006F00700043006F0075006E00740065007200FFFEFF1575006C00520065006700540065007300740032004C006F006F00700043006F0075006E00740065007200FFFEFF087400690063006B0068006F006F006B00FFFEFF0A73006500740075007000740069006D0065007200FFFEFF0C70007200760043006800650063006B005400610073006B00FFFEFF116D00610069006E0055004100520054005F0052004500470049005300540045005200FFFEFF0873007400610072007400730063006800FFFEFF1175006C0043006800650063006B005400610073006B004300790063006C0065007300FFFEFF1078004500720072006F0072004F00630063007500720072006500640020003D00FFFEFF0974006F00670067006C0065006C0065006400FFFEFF156D00610069006E005200450044005F004C00450044005F004700500049004F005F0050004F0052005400FFFEFF146D00610069006E0055004100520054005F00540058005F00460055004C004C005F00420049005400FFFEFF156D00610069006E00550041005200540030005F00540058005F0044004100540041005F00520045004700FFFEFF204D004500540041004C005F005300490046004900560045005F00550041005200540030005F00310030003000310033003000300030005F00530049005A004500FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F0030005F00530049005A004500FFFEFF124D004500540041004C005F005300490046004900560045005F0055004100520054003000FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F00540058004400410054004100FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F00520058004400410054004100FFFEFF0674006F00670067006C006500FFFEFF1178004500720072006F0072004F00630063007500720072006500640020003D002000FFFEFF1270007200760042006100730069006300440065006C006100790054006500730074007300FFFEFF0E78005000720069006D006100720079004300790063006C0065007300FFFEFF1976005000720069006D0061007200790042006C006F0063006B00540069006D00650054006500730074005400610073006B00FFFEFF0F5400610073006B005000720069006F007200690074007900530065007400FFFEFF12700072007600530069006E0067006C0065005400610073006B0054006500730074007300FFFEFF187000720076004E006F006E0042006C006F0063006B0069006E006700530065006E006400650072005400610073006B00FFFEFF0B6E006F006E0062006C006F0063006B0069006E006700FFFEFF0D7000720076004500630068006F00530065007200760065007200FFFEFF1F63006F006E0066006900670053005500500050004F00520054005F005300540041005400490043005F0041004C004C004F0043004100540049004F004E00FFFEFF0D7000720076004500630068006F0043006C00690065006E007400FFFEFF2F730074006100740069006300200076006F006900640020007000720076004500630068006F0043006C00690065006E0074002800200076006F006900640020002A007000760050006100720061006D006500740065007200730020002900FFFEFF0770006F00720074005F006F007000FFFEFF0E76005400610073006B00440065006C00610079002800200070006F00FFFEFF0A53005400410043004B005F004F00560045005200FFFEFF09780049005300520053007400610063006B00FFFEFF0F730074006100720074007300630068006500640075006C00650072006500FFFEFF066D0065006D00730065007400FFFEFF1770006F00720074004900530052005F0053005400410043004B005F00460049004C004C005F004200590054004500FFFEFF0773007400610063006B005F007600FFFEFF0A73007400610063006B005F006F00760065007200FFFEFF062E0061006C00690067006E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018021810000000000002C000000FFFEFF000000000000000000000000000100000001000000018024E10000000000003E000000FFFEFF000000000000000000000000000100000001000000018028E100000000000040000000FFFEFF000000000000000000000000000100000001000000018029E100000000000041000000FFFEFF000000000000000000000000000100000001000000018002810000000000001B000000FFFEFF0000000000000000000000000001000000010000000180298100000000000030000000FFFEFF000000000000000000000000000100000001000000018027810000000000002E000000FFFEFF000000000000000000000000000100000001000000018028810000000000002F000000FFFEFF00000000000000000000000000010000000100000001801D8100000000000028000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040029000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000004001F000000FFFEFF00000000000000000000000000010000000100000001800D8100000000000021000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000034000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000000000022000000FFFEFF00000000000000000000000000010000000100000001800F8100000000000023000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00E8020000 + + + 34048 + 0A0000000A0000006E0000006E000000 + 0000000000000000FE0200001A000000 + 8192 + 0 + 0 + 744 + 0 + + + 1 + + + 21 + 3394 + 2 + + 0 + -1 + + + 34062 + 000000001700000022010000C8000000 + 00000000BB040000700D000058050000 + 4096 + 0 + 0 + 32767 + 0 + + + 0 + + + 34060 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + 34061 + 000000001700000022010000C8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 0 + 32767 + 0 + + + 0 + + + + Access + Address + Name + Size + Zone + _I0 + + + 120 + 150 + 150 + 50 + 120 + 20 + + + + 34063 + 000000002700000022010000D8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + Description + Interrupt + + + 250 + 150 + + + + 34064 + 000000002700000022010000D8000000 + 000000000000000022010000B1000000 + 32768 + 0 + 1 + 32767 + 0 + + + 0 + + + + Description + First Activation + Hold Time + Id + Interrupt + Probability (%) + Repeat Interval + Type + Variance (%) + + + 150 + 70 + 70 + 40 + 100 + 70 + 70 + 100 + 70 + + + + + 34001 + 0 + + + + CMSIS-Pack + 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED1840000000000000C000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 + + + 34065 + 0A0000000A0000006E0000006E000000 + 0303000000000000310300001A000000 + 8192 + 0 + 0 + 24 + 0 + + + 1 + + + + + 010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000040000000200000001000000FFFEFF0F2400570053005F0044004900520024005C006D00610069006E002E00630001000000FFFF010014004966436F6E74656E7453746F72616765496D706CFFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003200340033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00310030003500360031003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00310030003500360031003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF302400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C0070006F0072007400610062006C0065005C004900410052005C0052004900530043002D0056005C0070006F00720074002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00350037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0034003500320038003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0034003500350038003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0670006F00720074002E00630000000000FFFFFFFFFFFFFFFFFFFEFF192400570053005F0044004900520024005C004600720065006500520054004F00530043006F006E006600690067002E006800010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320035003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003600350039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003600350039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF104600720065006500520054004F00530043006F006E006600690067002E00680000000000FFFFFFFFFFFFFFFFFFFEFF332400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C0070006F0072007400610062006C0065005C004900410052005C0052004900530043002D0056005C0070006F0072007400410053004D002E007300010000000180FFFEFF00FFFEFFFF28013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100330032003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0036003000370030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0036003100300032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0970006F0072007400410053004D002E00730000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000100000002000000E101000049000000700D000086040000 + + + + diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/FreeRTOSConfig.h b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/FreeRTOSConfig.h deleted file mode 100644 index c1be60059..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/FreeRTOSConfig.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 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. - *----------------------------------------------------------*/ - -#define configISR_STACK_SIZE_WORDS ( 200 ) -#define configCLINT_BASE_ADDRESS 0x2000000 - -#define configUSE_PREEMPTION 1 -#define configUSE_IDLE_HOOK 0 -#define configUSE_TICK_HOOK 1 -#define configCPU_CLOCK_HZ ( ( uint32_t ) ( 32768 ) ) -#define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) -#define configMAX_PRIORITIES ( 7 ) -#define configMINIMAL_STACK_SIZE ( ( uint32_t ) 100 ) /* Can be as low as 60 but some of the demo tasks that use this constant require it to be higher. */ -#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 12 * 1024 ) ) -#define configMAX_TASK_NAME_LEN ( 16 ) -#define configUSE_TRACE_FACILITY 0 -#define configUSE_16_BIT_TICKS 0 -#define configIDLE_SHOULD_YIELD 0 -#define configUSE_MUTEXES 1 -#define configQUEUE_REGISTRY_SIZE 8 -#define configCHECK_FOR_STACK_OVERFLOW 2 -#define configUSE_RECURSIVE_MUTEXES 1 -#define configUSE_MALLOC_FAILED_HOOK 1 -#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 1 -#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) -#define configTIMER_QUEUE_LENGTH 4 -#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE ) - -/* Task priorities. Allow these to be overridden. */ -#ifndef uartPRIMARY_PRIORITY - #define uartPRIMARY_PRIORITY ( configMAX_PRIORITIES - 3 ) -#endif - -/* Set the following definitions to 1 to include the API function, or zero -to exclude the API function. */ -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_vTaskCleanUpResources 1 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_eTaskGetState 1 -#define INCLUDE_xTimerPendFunctionCall 1 -#define INCLUDE_xTaskAbortDelay 1 -#define INCLUDE_xTaskGetHandle 1 -#define INCLUDE_xSemaphoreGetMutexHolder 1 - -/* Normal assert() semantics without relying on the provision of an assert.h -header file. */ -#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); __asm volatile( "ebreak" ); for( ;; ); } - -#endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewd deleted file mode 100644 index ea20f8c84..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewd +++ /dev/null @@ -1,632 +0,0 @@ - - - 3 - - Debug - - RISCV - - 1 - - C-SPY - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IJETRISCV - 2 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SIMRISCV - 1 - - 0 - 1 - 1 - - - - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 1 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - - - Release - - RISCV - - 0 - - C-SPY - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IJETRISCV - 2 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SIMRISCV - 1 - - 0 - 1 - 0 - - - - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewp deleted file mode 100644 index acf0b7093..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewp +++ /dev/null @@ -1,1844 +0,0 @@ - - - 3 - - Debug - - RISCV - - 1 - - General - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCRISCV - 1 - - 6 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IASMRISCV - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 1 - - 0 - 1 - 1 - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 1 - - 0 - 1 - 1 - - - - - - - BILINK - 0 - - - - - Release - - RISCV - - 0 - - General - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCRISCV - 1 - - 6 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IASMRISCV - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 1 - - 0 - 1 - 0 - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 1 - - 0 - 1 - 0 - - - - - - - BILINK - 0 - - - - - blinky_demo - - $PROJ_DIR$\blinky_demo\main_blinky.c - - - - FreeRTOS_source - - include - - $PROJ_DIR$\..\..\Source\include\event_groups.h - - - $PROJ_DIR$\..\..\Source\include\message_buffer.h - - - $PROJ_DIR$\..\..\Source\include\queue.h - - - $PROJ_DIR$\..\..\Source\include\semphr.h - - - $PROJ_DIR$\..\..\Source\include\stream_buffer.h - - - $PROJ_DIR$\..\..\Source\include\task.h - - - $PROJ_DIR$\..\..\Source\include\timers.h - - - - portable - - memmang - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c - - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\port.c - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\portASM.s - - - - $PROJ_DIR$\..\..\Source\event_groups.c - - - $PROJ_DIR$\..\..\Source\list.c - - - $PROJ_DIR$\..\..\Source\queue.c - - - $PROJ_DIR$\..\..\Source\stream_buffer.c - - - $PROJ_DIR$\..\..\Source\tasks.c - - - $PROJ_DIR$\..\..\Source\timers.c - - - - full_demo - - common - - $PROJ_DIR$\..\Common\Minimal\blocktim.c - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - $PROJ_DIR$\..\Common\Minimal\TaskNotify.c - - - $PROJ_DIR$\..\Common\Minimal\TimerDemo.c - - - - $PROJ_DIR$\full_demo\main_full.c - - - $PROJ_DIR$\full_demo\RegTest.s - - - - $PROJ_DIR$\FreeRTOSConfig.h - - - $PROJ_DIR$\main.c - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewt deleted file mode 100644 index 55e854e38..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.ewt +++ /dev/null @@ -1,2252 +0,0 @@ - - - 3 - - Debug - - RISCV - - 1 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Release - - RISCV - - 0 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - blinky_demo - - $PROJ_DIR$\blinky_demo\main_blinky.c - - - - FreeRTOS_source - - include - - $PROJ_DIR$\..\..\Source\include\event_groups.h - - - $PROJ_DIR$\..\..\Source\include\message_buffer.h - - - $PROJ_DIR$\..\..\Source\include\queue.h - - - $PROJ_DIR$\..\..\Source\include\semphr.h - - - $PROJ_DIR$\..\..\Source\include\stream_buffer.h - - - $PROJ_DIR$\..\..\Source\include\task.h - - - $PROJ_DIR$\..\..\Source\include\timers.h - - - - portable - - memmang - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c - - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\port.c - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\portASM.s - - - - $PROJ_DIR$\..\..\Source\event_groups.c - - - $PROJ_DIR$\..\..\Source\list.c - - - $PROJ_DIR$\..\..\Source\queue.c - - - $PROJ_DIR$\..\..\Source\stream_buffer.c - - - $PROJ_DIR$\..\..\Source\tasks.c - - - $PROJ_DIR$\..\..\Source\timers.c - - - - full_demo - - common - - $PROJ_DIR$\..\Common\Minimal\blocktim.c - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - $PROJ_DIR$\..\Common\Minimal\TaskNotify.c - - - $PROJ_DIR$\..\Common\Minimal\TimerDemo.c - - - - $PROJ_DIR$\full_demo\main_full.c - - - $PROJ_DIR$\full_demo\RegTest.s - - - - $PROJ_DIR$\FreeRTOSConfig.h - - - $PROJ_DIR$\main.c - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.eww b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.eww deleted file mode 100644 index 92414519a..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/RTOSDemo.eww +++ /dev/null @@ -1,7 +0,0 @@ - - - - $WS_DIR$\RTOSDemo.ewp - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/blinky_demo/main_blinky.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/blinky_demo/main_blinky.c deleted file mode 100644 index a1d1edb0b..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/blinky_demo/main_blinky.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -/****************************************************************************** - * NOTE 1: This project provides two demo applications. A simple blinky - * style project, and a more comprehensive test and demo application. The - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select - * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY - * in main.c. This file implements the simply blinky style version. - * - * NOTE 2: This file only contains the source code that is specific to the - * basic demo. Generic functions, such FreeRTOS hook functions, and functions - * required to configure the hardware are defined in main.c. - ****************************************************************************** - * - * main_blinky() creates one queue, and two tasks. It then starts the - * scheduler. - * - * The Queue Send Task: - * The queue send task is implemented by the prvQueueSendTask() function in - * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly - * block for 1000 milliseconds, before sending the value 100 to the queue that - * was created within main_blinky(). Once the value is sent, the task loops - * back around to block for another 1000 milliseconds...and so on. - * - * The Queue Receive Task: - * The queue receive task is implemented by the prvQueueReceiveTask() function - * in this file. prvQueueReceiveTask() sits in a loop where it repeatedly - * blocks on attempts to read data from the queue that was created within - * main_blinky(). When data is received, the task checks the value of the - * data, and if the value equals the expected 100, writes 'Blink' to the UART - * (the UART is used in place of the LED to allow easy execution in QEMU). The - * 'block time' parameter passed to the queue receive function specifies that - * the task should be held in the Blocked state indefinitely to wait for data to - * be available on the queue. The queue receive task will only leave the - * Blocked state when the queue send task writes to the queue. As the queue - * send task writes to the queue every 1000 milliseconds, the queue receive - * task leaves the Blocked state every 1000 milliseconds, and therefore toggles - * the LED every 200 milliseconds. - */ - -/* Standard includes. */ -#include -#include - -/* Kernel includes. */ -#include "FreeRTOS.h" -#include "task.h" -#include "queue.h" - -/* Priorities used by the tasks. */ -#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) -#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) - -/* The rate at which data is sent to the queue. The 200ms value is converted -to ticks using the pdMS_TO_TICKS() macro. */ -#define mainQUEUE_SEND_FREQUENCY_MS pdMS_TO_TICKS( 1000 ) - -/* The maximum number items the queue can hold. The priority of the receiving -task is above the priority of the sending task, so the receiving task will -preempt the sending task and remove the queue items each time the sending task -writes to the queue. Therefore the queue will never have more than one item in -it at any time, and even with a queue length of 1, the sending task will never -find the queue full. */ -#define mainQUEUE_LENGTH ( 1 ) - -/*-----------------------------------------------------------*/ - -/* - * Called by main when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1 in - * main.c. - */ -void main_blinky( void ); - -/* - * The tasks as described in the comments at the top of this file. - */ -static void prvQueueReceiveTask( void *pvParameters ); -static void prvQueueSendTask( void *pvParameters ); - -/*-----------------------------------------------------------*/ - -/* The queue used by both tasks. */ -static QueueHandle_t xQueue = NULL; - -/*-----------------------------------------------------------*/ - -void main_blinky( void ) -{ - /* Create the queue. */ - xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( uint32_t ) ); - - if( xQueue != NULL ) - { - /* Start the two tasks as described in the comments at the top of this - file. */ - xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */ - "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */ - configMINIMAL_STACK_SIZE * 2U, /* The size of the stack to allocate to the task. */ - NULL, /* The parameter passed to the task - not used in this case. */ - mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */ - NULL ); /* The task handle is not required, so NULL is passed. */ - - xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE * 2U, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL ); - - /* Start the tasks and timer running. */ - vTaskStartScheduler(); - } - - /* If all is well, the scheduler will now be running, and the following - line will never be reached. If the following line does execute, then - there was insufficient FreeRTOS heap memory available for the Idle and/or - timer tasks to be created. See the memory management section on the - FreeRTOS web site for more details on the FreeRTOS heap - http://www.freertos.org/a00111.html. */ - for( ;; ); -} -/*-----------------------------------------------------------*/ - -static void prvQueueSendTask( void *pvParameters ) -{ -TickType_t xNextWakeTime; -const unsigned long ulValueToSend = 100UL; -BaseType_t xReturned; - - /* Remove compiler warning about unused parameter. */ - ( void ) pvParameters; - - /* Initialise xNextWakeTime - this only needs to be done once. */ - xNextWakeTime = xTaskGetTickCount(); - - for( ;; ) - { - /* Place this task in the blocked state until it is time to run again. */ - vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS ); - - /* Send to the queue - causing the queue receive task to unblock and - toggle the LED. 0 is used as the block time so the sending operation - will not block - it shouldn't need to block as the queue should always - be empty at this point in the code. */ - xReturned = xQueueSend( xQueue, &ulValueToSend, 0U ); - configASSERT( xReturned == pdPASS ); - } -} -/*-----------------------------------------------------------*/ - -static void prvQueueReceiveTask( void *pvParameters ) -{ -unsigned long ulReceivedValue; -const unsigned long ulExpectedValue = 100UL; -const char * const pcPassMessage = "Blink\r\n"; -const char * const pcFailMessage = "Unexpected value received\r\n"; -extern void vSendString( const char * const pcString ); -extern void vToggleLED( void ); - - /* Remove compiler warning about unused parameter. */ - ( void ) pvParameters; - - for( ;; ) - { - /* Wait until something arrives in the queue - this task will block - indefinitely provided INCLUDE_vTaskSuspend is set to 1 in - FreeRTOSConfig.h. */ - xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY ); - - /* To get here something must have been received from the queue, but - is it the expected value? If it is, toggle the LED. */ - if( ulReceivedValue == ulExpectedValue ) - { - vSendString( pcPassMessage ); - vToggleLED(); - ulReceivedValue = 0U; - } - else - { - vSendString( pcFailMessage ); - } - } -} -/*-----------------------------------------------------------*/ - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/full_demo/RegTest.s b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/full_demo/RegTest.s deleted file mode 100644 index 7b13c8ab1..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/full_demo/RegTest.s +++ /dev/null @@ -1,266 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - - EXTERN pulRegTest1LoopCounter - EXTERN pulRegTest2LoopCounter - - PUBLIC vRegTest1Implementation - PUBLIC vRegTest2Implementation - -/*-----------------------------------------------------------*/ - - SECTION `.text`:CODE:NOROOT(2) - CODE - -/* - * The register check tasks are described in the comments at the top of - * main_full.c. - */ - - ALIGN 8 -vRegTest1Implementation: - - /* Fill the core registers with known values. */ - li x5, 0x5 - li x6, 0x6 - li x7, 0x7 - li x8, 0x8 - li x9, 0x9 - li x10, 0xa - li x11, 0xb - li x12, 0xc - li x13, 0xd - li x14, 0xe - li x15, 0xf - li x16, 0x10 - li x17, 0x11 - li x18, 0x12 - li x19, 0x13 - li x20, 0x14 - li x21, 0x15 - li x22, 0x16 - li x23, 0x17 - li x24, 0x18 - li x25, 0x19 - li x26, 0x1a - li x27, 0x1b - li x28, 0x1c - li x29, 0x1d - li x30, 0x1e - -reg1_loop: - - /* Check each register still contains the expected known value. - vRegTest1Implementation uses x31 as the temporary, vRegTest2Implementation - uses x5 as the temporary. */ - li x31, 0x5 - bne x31, x5, reg1_error_loop - li x31, 0x6 - bne x31, x6, reg1_error_loop - li x31, 0x7 - bne x31, x7, reg1_error_loop - li x31, 0x8 - bne x31, x8, reg1_error_loop - li x31, 0x9 - bne x31, x9, reg1_error_loop - li x31, 0xa - bne x31, x10, reg1_error_loop - li x31, 0xb - bne x31, x11, reg1_error_loop - li x31, 0xc - bne x31, x12, reg1_error_loop - li x31, 0xd - bne x31, x13, reg1_error_loop - li x31, 0xe - bne x31, x14, reg1_error_loop - li x31, 0xf - bne x31, x15, reg1_error_loop - li x31, 0x10 - bne x31, x16, reg1_error_loop - li x31, 0x11 - bne x31, x17, reg1_error_loop - li x31, 0x12 - bne x31, x18, reg1_error_loop - li x31, 0x13 - bne x31, x19, reg1_error_loop - li x31, 0x14 - bne x31, x20, reg1_error_loop - li x31, 0x15 - bne x31, x21, reg1_error_loop - li x31, 0x16 - bne x31, x22, reg1_error_loop - li x31, 0x17 - bne x31, x23, reg1_error_loop - li x31, 0x18 - bne x31, x24, reg1_error_loop - li x31, 0x19 - bne x31, x25, reg1_error_loop - li x31, 0x1a - bne x31, x26, reg1_error_loop - li x31, 0x1b - bne x31, x27, reg1_error_loop - li x31, 0x1c - bne x31, x28, reg1_error_loop - li x31, 0x1d - bne x31, x29, reg1_error_loop - li x31, 0x1e - bne x31, x30, reg1_error_loop - - /* Everything passed, increment the loop counter. */ - lw x31, pulRegTest1LoopCounter - lw x30, 0(x31) - addi x30, x30, 1 - sw x30, 0(x31) - - /* Restore clobbered register reading for next loop. */ - li x30, 0x1e - - /* Yield to increase code coverage. */ - ecall - - /* Start again. */ - jal reg1_loop - -reg1_error_loop: - /* Jump here if a register contains an uxpected value. This stops the loop - counter being incremented so the check task knows an error was found. */ - ebreak - jal reg1_error_loop - -/*-----------------------------------------------------------*/ - - ALIGN 8 -vRegTest2Implementation: - - /* Fill the core registers with known values. */ - li x6, 0x61 - li x7, 0x71 - li x8, 0x81 - li x9, 0x91 - li x10, 0xa1 - li x11, 0xb1 - li x12, 0xc1 - li x13, 0xd1 - li x14, 0xe1 - li x15, 0xf1 - li x16, 0x20 - li x17, 0x21 - li x18, 0x22 - li x19, 0x23 - li x20, 0x24 - li x21, 0x25 - li x22, 0x26 - li x23, 0x27 - li x24, 0x28 - li x25, 0x29 - li x26, 0x2a - li x27, 0x2b - li x28, 0x2c - li x29, 0x2d - li x30, 0x2e - li x31, 0x2f - -Reg2_loop: - - /* Check each register still contains the expected known value. - vRegTest2Implementation uses x5 as the temporary, vRegTest1Implementation - uses x31 as the temporary. */ - li x5, 0x61 - bne x5, x6, reg2_error_loop - li x5, 0x71 - bne x5, x7, reg2_error_loop - li x5, 0x81 - bne x5, x8, reg2_error_loop - li x5, 0x91 - bne x5, x9, reg2_error_loop - li x5, 0xa1 - bne x5, x10, reg2_error_loop - li x5, 0xb1 - bne x5, x11, reg2_error_loop - li x5, 0xc1 - bne x5, x12, reg2_error_loop - li x5, 0xd1 - bne x5, x13, reg2_error_loop - li x5, 0xe1 - bne x5, x14, reg2_error_loop - li x5, 0xf1 - bne x5, x15, reg2_error_loop - li x5, 0x20 - bne x5, x16, reg2_error_loop - li x5, 0x21 - bne x5, x17, reg2_error_loop - li x5, 0x22 - bne x5, x18, reg2_error_loop - li x5, 0x23 - bne x5, x19, reg2_error_loop - li x5, 0x24 - bne x5, x20, reg2_error_loop - li x5, 0x25 - bne x5, x21, reg2_error_loop - li x5, 0x26 - bne x5, x22, reg2_error_loop - li x5, 0x27 - bne x5, x23, reg2_error_loop - li x5, 0x28 - bne x5, x24, reg2_error_loop - li x5, 0x29 - bne x5, x25, reg2_error_loop - li x5, 0x2a - bne x5, x26, reg2_error_loop - li x5, 0x2b - bne x5, x27, reg2_error_loop - li x5, 0x2c - bne x5, x28, reg2_error_loop - li x5, 0x2d - bne x5, x29, reg2_error_loop - li x5, 0x2e - bne x5, x30, reg2_error_loop - li x5, 0x2f - bne x5, x31, reg2_error_loop - - /* Everything passed, increment the loop counter. */ - lw x5, pulRegTest2LoopCounter - lw x6, 0(x5) - addi x6, x6, 1 - sw x6, 0(x5) - - /* Restore clobbered register reading for next loop. */ - li x6, 0x61 - - /* Start again. */ - jal Reg2_loop - -reg2_error_loop: - /* Jump here if a register contains an uxpected value. This stops the loop - counter being incremented so the check task knows an error was found. */ - ebreak - jal reg2_error_loop - -/*-----------------------------------------------------------*/ - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/full_demo/main_full.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/full_demo/main_full.c deleted file mode 100644 index 4591e6118..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/full_demo/main_full.c +++ /dev/null @@ -1,305 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -/****************************************************************************** - * NOTE 1: This project provides two demo applications. A simple blinky style - * project, and a more comprehensive test and demo application. The - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select - * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY - * in main.c. This file implements the comprehensive test and demo version. - * - * NOTE 2: This file only contains the source code that is specific to the - * full demo. Generic functions, such FreeRTOS hook functions, and functions - * required to configure the hardware, are defined in main.c. - * - ****************************************************************************** - * - * main_full() creates all the demo application tasks and software timers, then - * starts the scheduler. The web documentation provides more details of the - * standard demo application tasks, which provide no particular functionality, - * but do provide a good example of how to use the FreeRTOS API. - * - * In addition to the standard demo tasks, the following tasks and tests are - * defined and/or created within this file: - * - * "Reg test" tasks - These fill both the core registers with known values, then - * check that each register maintains its expected value for the lifetime of the - * task. Each task uses a different set of values. The reg test tasks execute - * with a very low priority, so get preempted very frequently. A register - * containing an unexpected value is indicative of an error in the context - * switching mechanism. - * - * "Check" task - The check executes every three seconds. It checks that all - * the standard demo tasks, and the register check tasks, are not only still - * executing, but are executing without reporting any errors. The check task - * toggles the LED every three seconds if all the standard demo tasks are - * executing as expected, or every 500ms if a potential error is discovered in - * any task. - */ - -/* Standard includes. */ -#include -#include - -/* Kernel includes. */ -#include "FreeRTOS.h" -#include "task.h" -#include "timers.h" -#include "semphr.h" - -/* Standard demo application includes. */ -#include "dynamic.h" -#include "blocktim.h" -#include "TimerDemo.h" -#include "TaskNotify.h" - -/* Priorities for the demo application tasks. */ -#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) - -/* The period of the check task, in ms, converted to ticks using the -pdMS_TO_TICKS() macro. mainNO_ERROR_CHECK_TASK_PERIOD is used if no errors have -been found, mainERROR_CHECK_TASK_PERIOD is used if an error has been found. */ -#define mainNO_ERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 3000UL ) -#define mainERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 500UL ) - -/* Parameters that are passed into the register check tasks solely for the -purpose of ensuring parameters are passed into tasks correctly. */ -#define mainREG_TEST_TASK_1_PARAMETER ( ( void * ) 0x12345678 ) -#define mainREG_TEST_TASK_2_PARAMETER ( ( void * ) 0x87654321 ) - -/* The base period used by the timer test tasks. */ -#define mainTIMER_TEST_PERIOD ( 50 ) - -/* The size of the stack allocated to the check task (as described in the -comments at the top of this file. */ -#define mainCHECK_TASK_STACK_SIZE_WORDS 100 - -/* Size of the stacks to allocated for the register check tasks. */ -#define mainREG_TEST_STACK_SIZE_WORDS 70 - -/*-----------------------------------------------------------*/ - -/* - * Called by main() to run the full demo (as opposed to the blinky demo) when - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. - */ -void main_full( void ); - -/* - * The check task, as described at the top of this file. - */ -static void prvCheckTask( void *pvParameters ); - -/* - * Register check tasks as described at the top of this file. The nature of - * these files necessitates that they are written in an assembly file, but the - * entry points are kept in the C file for the convenience of checking the task - * parameter. - */ -static void prvRegTestTaskEntry1( void *pvParameters ); -extern void vRegTest1Implementation( void ); -static void prvRegTestTaskEntry2( void *pvParameters ); -extern void vRegTest2Implementation( void ); - -/* - * Tick hook used by the full demo, which includes code that interacts with - * some of the tests. - */ -void vFullDemoTickHook( void ); - -/*-----------------------------------------------------------*/ - -/* The following two variables are used to communicate the status of the -register check tasks to the check task. If the variables keep incrementing, -then the register check tasks have not discovered any errors. If a variable -stops incrementing, then an error has been found. */ -uint32_t ulRegTest1LoopCounter = 0UL, ulRegTest2LoopCounter = 0UL; -volatile uint32_t *pulRegTest1LoopCounter = &ulRegTest1LoopCounter; -volatile uint32_t *pulRegTest2LoopCounter = &ulRegTest2LoopCounter; -/*-----------------------------------------------------------*/ - -void main_full( void ) -{ - /* Start all the other standard demo/test tasks. They have no particular - functionality, but do demonstrate how to use the FreeRTOS API and test the - kernel port. */ - vCreateBlockTimeTasks(); - vStartTimerDemoTask( mainTIMER_TEST_PERIOD ); - vStartDynamicPriorityTasks(); - vStartTaskNotifyTask(); - - /* Create the register check tasks, as described at the top of this file. - Use xTaskCreateStatic() to create a task using only statically allocated - memory. */ - xTaskCreate( prvRegTestTaskEntry1, /* The function that implements the task. */ - "Reg1", /* The name of the task. */ - mainREG_TEST_STACK_SIZE_WORDS, /* Size of stack to allocate for the task - in words not bytes!. */ - mainREG_TEST_TASK_1_PARAMETER, /* Parameter passed into the task. */ - tskIDLE_PRIORITY, /* Priority of the task. */ - NULL ); /* Can be used to pass out a handle to the created task. */ - xTaskCreate( prvRegTestTaskEntry2, "Reg2", mainREG_TEST_STACK_SIZE_WORDS, mainREG_TEST_TASK_2_PARAMETER, tskIDLE_PRIORITY, NULL ); - - /* Create the task that performs the 'check' functionality, as described at - the top of this file. */ - xTaskCreate( prvCheckTask, "Check", mainCHECK_TASK_STACK_SIZE_WORDS, NULL, mainCHECK_TASK_PRIORITY, NULL ); - - /* Start the scheduler. */ - vTaskStartScheduler(); - - /* If all is well, the scheduler will now be running, and the following - line will never be reached. If the following line does execute, then - there was insufficient FreeRTOS heap memory available for the Idle and/or - timer tasks to be created. See the memory management section on the - FreeRTOS web site for more details on the FreeRTOS heap - http://www.freertos.org/a00111.html. */ - for( ;; ); -} -/*-----------------------------------------------------------*/ - -static void prvCheckTask( void *pvParameters ) -{ -TickType_t xDelayPeriod = mainNO_ERROR_CHECK_TASK_PERIOD; -TickType_t xLastExecutionTime; -uint32_t ulLastRegTest1Value = 0, ulLastRegTest2Value = 0; -char * const pcPassMessage = "."; -char * pcStatusMessage = pcPassMessage; -extern void vToggleLED( void ); - - /* Just to stop compiler warnings. */ - ( void ) pvParameters; - - /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil() - works correctly. */ - xLastExecutionTime = xTaskGetTickCount(); - - /* Cycle for ever, delaying then checking all the other tasks are still - operating without error. The onboard LED is toggled on each iteration. - If an error is detected then the delay period is decreased from - mainNO_ERROR_CHECK_TASK_PERIOD to mainERROR_CHECK_TASK_PERIOD. This has the - effect of increasing the rate at which the onboard LED toggles, and in so - doing gives visual feedback of the system status. */ - for( ;; ) - { - /* Delay until it is time to execute again. */ - vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod ); - - /* Check all the demo tasks (other than the flash tasks) to ensure - that they are all still running, and that none have detected an error. */ - if( xAreDynamicPriorityTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Dynamic priority demo/tests.\r\n"; - } - - if( xAreBlockTimeTestTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Block time demo/tests.\r\n"; - } - - if( xAreTimerDemoTasksStillRunning( ( TickType_t ) xDelayPeriod ) == pdFALSE ) - { - pcStatusMessage = "ERROR: Timer demo/tests.\r\n"; - } - - if( xAreTaskNotificationTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Task notification demo/tests.\r\n"; - } - - /* Check that the register test 1 task is still running. */ - if( ulLastRegTest1Value == ulRegTest1LoopCounter ) - { - pcStatusMessage = "ERROR: Register test 1.\r\n"; - } - ulLastRegTest1Value = ulRegTest1LoopCounter; - - /* Check that the register test 2 task is still running. */ - if( ulLastRegTest2Value == ulRegTest2LoopCounter ) - { - pcStatusMessage = "ERROR: Register test 2.\r\n"; - } - ulLastRegTest2Value = ulRegTest2LoopCounter; - - /* Write the status message to the UART and toggle the LED to show the - system status if the UART is not connected. */ - vToggleLED(); - - /* If an error has been found then increase the LED toggle rate by - increasing the cycle frequency. */ - if( pcStatusMessage != pcPassMessage ) - { - xDelayPeriod = mainERROR_CHECK_TASK_PERIOD; - } - } -} -/*-----------------------------------------------------------*/ - -static void prvRegTestTaskEntry1( void *pvParameters ) -{ - /* Although the regtest task is written in assembler, its entry point is - written in C for convenience of checking the task parameter is being passed - in correctly. */ - if( pvParameters == mainREG_TEST_TASK_1_PARAMETER ) - { - /* Start the part of the test that is written in assembler. */ - vRegTest1Implementation(); - } - - /* The following line will only execute if the task parameter is found to - be incorrect. The check task will detect that the regtest loop counter is - not being incremented and flag an error. */ - vTaskDelete( NULL ); -} -/*-----------------------------------------------------------*/ - -static void prvRegTestTaskEntry2( void *pvParameters ) -{ - /* Although the regtest task is written in assembler, its entry point is - written in C for convenience of checking the task parameter is being passed - in correctly. */ - if( pvParameters == mainREG_TEST_TASK_2_PARAMETER ) - { - /* Start the part of the test that is written in assembler. */ - vRegTest2Implementation(); - } - - /* The following line will only execute if the task parameter is found to - be incorrect. The check task will detect that the regtest loop counter is - not being incremented and flag an error. */ - vTaskDelete( NULL ); -} -/*-----------------------------------------------------------*/ - -void vFullDemoTickHook( void ) -{ - /* Called from vApplicationTickHook() when the project is configured to - build the full test/demo applications. */ - - /* Use task notifications from an interrupt. */ - xNotifyTaskFromISR(); -} -/*-----------------------------------------------------------*/ - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/main.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/main.c deleted file mode 100644 index f7adaedee..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/main.c +++ /dev/null @@ -1,302 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -/****************************************************************************** - * This project provides two demo applications. A simple blinky style project, - * and a more comprehensive test and demo application. The - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to - * select between the two. The simply blinky demo is implemented and described - * in main_blinky.c. The more comprehensive test and demo application is - * implemented and described in main_full.c. - * - * This file implements the code that is not demo specific, including the - * hardware setup and standard FreeRTOS hook functions. - * - * When running on the HiFive Rev B hardware: - * When executing correctly the red LED will toggle every three seconds. If - * the red LED toggles every 500ms then one of the self-monitoring test tasks - * discovered a potential issue. If the red led stops toggling then a hardware - * exception occurred or an assert was hit. - * - * ENSURE TO READ THE DOCUMENTATION PAGE FOR THIS PORT AND DEMO APPLICATION ON - * THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO - * APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT! - * - */ - -/* FreeRTOS kernel includes. */ -#include -#include - -/* Standard includes. */ -#include - -/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo, -or 0 to run the more comprehensive test and demo application. */ -#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 0 - -/* UART hardware constants. */ -#define mainUART_BASE_ADDRESS ( *( volatile uint32_t * ) 0x20000000UL ) -#define mainUART_TX_DATA 0x00 -#define mainUART_TX_CTRL 0x08 -#define mainUART_RX_CTRL 0x0c -#define mainUART_CLOCK_DIV 0x18 -#define mainUART_TX_ENABLE_BIT (1UL << 0UL) -#define mainUART_RX_ENABLE_BIT (1UL << 0UL) -#define mainUART_TX_FULL_BIT (1UL << 31UL) -#define mainUART_REGISTER( offset ) ( ( mainUART_BASE_ADDRESS + offset ) ) -#define mainUART_REGISTER_WORD( offset ) ( *( ( uint32_t * ) mainUART_REGISTER( offset ) ) ) - -/* Hardware LED specifics. */ -#define mainRED_LED_PIN ( 1UL << 0x16UL ) -#define mainLED_IO_BASE_ADDRESS ( 0x10012000UL ) -#define mainRED_LED_INPUT_ENABLE_REG ( * ( uint32_t * ) ( mainLED_IO_BASE_ADDRESS + 4UL ) ) -#define mainRED_LED_OUTPUT_ENABLE_REG ( * ( uint32_t * ) ( mainLED_IO_BASE_ADDRESS + 8UL ) ) - -/* Hardware LED specifics. */ -#define mainUART_PINMUX_BASE_ADDRESS ( 0x10012000 ) -#define mainUART0_BASE_ADDRESS 0x10013000UL -#define mainUART_CLOCK_RATE 16000000UL -#define mainUART_BAUD_RATE 115200UL -#define mainUART0_TX_DATA_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 0UL ) ) -#define mainUART0_TX_DATA_BYTE_REG ( * ( uint8_t * ) ( mainUART0_BASE_ADDRESS + 0UL ) ) -#define mainUART0_DIV_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 24UL ) ) -#define mainUART0_TXCTRL_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 8UL ) ) -#define mainUART0_RXCTRL_REG ( * ( uint32_t * ) ( mainUART0_BASE_ADDRESS + 12UL ) ) -#define mainUART0_GPIO_SEL_REG ( * ( uint32_t * ) ( mainUART_PINMUX_BASE_ADDRESS + 60UL ) ) -#define mainUART0_GPIO_SEL_EN ( * ( uint32_t * ) ( mainUART_PINMUX_BASE_ADDRESS + 56UL ) ) -#define mainUART_TXEN_BIT ( 1UL ) -#define mainUART0_PIN ( 0x30000UL ) - -/* Registers used to initialise the PLIC. */ -#define mainPLIC_PENDING_0 ( * ( ( volatile uint32_t * ) 0x0C001000UL ) ) -#define mainPLIC_PENDING_1 ( * ( ( volatile uint32_t * ) 0x0C001004UL ) ) -#define mainPLIC_ENABLE_0 ( * ( ( volatile uint32_t * ) 0x0C002000UL ) ) -#define mainPLIC_ENABLE_1 ( * ( ( volatile uint32_t * ) 0x0C002004UL ) ) - -/*-----------------------------------------------------------*/ - -/* - * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1. - * main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. - */ -#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 - extern void main_blinky( void ); -#else - extern void main_full( void ); -#endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */ - -/* - * Prototypes for the standard FreeRTOS callback/hook functions implemented - * within this file. See https://www.freertos.org/a00016.html - */ -void vApplicationMallocFailedHook( void ); -void vApplicationIdleHook( void ); -void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ); -void vApplicationTickHook( void ); - -/* - * Setup the hardware to run this demo. - */ -static void prvSetupHardware( void ); - -/* Simple polling UART send function. */ -void vSendString( const char * const pcString ); - -/* Toggle the red LED. */ -void vTogglelED( void ); - -/*-----------------------------------------------------------*/ - -int main( void ) -{ - prvSetupHardware(); - - /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top - of this file. */ - #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 ) - { - main_blinky(); - } - #else - { - main_full(); - } - #endif -} -/*-----------------------------------------------------------*/ - -static void prvSetupHardware( void ) -{ - /* Set all interrupt enable bits to 0. */ - mainPLIC_ENABLE_0 = 0UL; - mainPLIC_ENABLE_1 = 0UL; - - /* Clear all pending interrupts. */ - mainPLIC_PENDING_0 = 0UL; - mainPLIC_PENDING_1 = 0UL; - - /* Disable Red LED input. */ - mainRED_LED_INPUT_ENABLE_REG &= ~mainRED_LED_PIN; - - /* Enable Red LED output. */ - mainRED_LED_OUTPUT_ENABLE_REG |= mainRED_LED_PIN; - - /* Set UART baud rate. */ - mainUART0_DIV_REG = ( mainUART_CLOCK_RATE / mainUART_BAUD_RATE ) - 1; - - /* Enable UART Tx. */ - mainUART0_TXCTRL_REG |= mainUART_TXEN_BIT; - mainUART0_GPIO_SEL_REG &= mainUART0_PIN; - mainUART0_GPIO_SEL_EN |= mainUART0_PIN; -} -/*-----------------------------------------------------------*/ - -void vToggleLED( void ) -{ -static uint32_t ulLEDState = 0; - - if( ulLEDState == 0 ) - { - mainRED_LED_OUTPUT_ENABLE_REG |= mainRED_LED_PIN; - } - else - { - mainRED_LED_OUTPUT_ENABLE_REG &= ~mainRED_LED_PIN; - } - ulLEDState = !ulLEDState; -} -/*-----------------------------------------------------------*/ - -void vSendString( const char * const pcString ) -{ -uint32_t ulIndex = 0; - - /* Crude polling UART Tx. */ - while( pcString[ ulIndex ] != 0x00 ) - { - while( ( mainUART0_TX_DATA_REG & mainUART_TX_FULL_BIT ) != 0UL ); - mainUART0_TX_DATA_BYTE_REG = pcString[ ulIndex ]; - ulIndex++; - } -} -/*-----------------------------------------------------------*/ - -void vApplicationMallocFailedHook( void ) -{ - /* vApplicationMallocFailedHook() will only be called if - configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook - function that will get called if a call to pvPortMalloc() fails. - pvPortMalloc() is called internally by the kernel whenever a task, queue, - timer or semaphore is created. It is also called by various parts of the - demo application. If heap_1.c or heap_2.c are used, then the size of the - heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE in - FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used - to query the size of free heap space that remains (although it does not - provide information on how the remaining heap might be fragmented). */ - taskDISABLE_INTERRUPTS(); - __asm volatile( "ebreak" ); - for( ;; ); -} -/*-----------------------------------------------------------*/ - -void vApplicationIdleHook( void ) -{ - /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set - to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle - task. It is essential that code added to this hook function never attempts - to block in any way (for example, call xQueueReceive() with a block time - specified, or call vTaskDelay()). If the application makes use of the - vTaskDelete() API function (as this demo application does) then it is also - important that vApplicationIdleHook() is permitted to return to its calling - function, because it is the responsibility of the idle task to clean up - memory allocated by the kernel to any task that has since been deleted. */ -} -/*-----------------------------------------------------------*/ - -void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ) -{ - ( void ) pcTaskName; - ( void ) pxTask; - - /* Run time stack overflow checking is performed if - configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook - function is called if a stack overflow is detected. */ - taskDISABLE_INTERRUPTS(); - __asm volatile( "ebreak" ); - for( ;; ); -} -/*-----------------------------------------------------------*/ - -void vApplicationTickHook( void ) -{ - /* The tests in the full demo expect some interaction with interrupts. */ - #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY != 1 ) - { - extern void vFullDemoTickHook( void ); - vFullDemoTickHook(); - } - #endif -} -/*-----------------------------------------------------------*/ - -/* Called from the kernel's port layer to handle device specific external -interrupts. */ -void vApplicationHandleTrap( uint32_t mcause ) -{ -char pcCause[ 20 ]; - - /* Not implemented yet. */ - sprintf( pcCause, "%u", mcause ); - vSendString( pcCause ); - configASSERT( mcause == 0 ); -#warning vApplicationHandleTrap not implemented. -#if 0 -uint32_t ulInterruptNumber; -typedef void ( * irq_handler_t )( void ); -extern const irq_handler_t isrTable[]; - - ulInterruptNumber = PLIC->TARGET[ 0 ].CLAIM_COMPLETE; - - /* Read handler from table. */ - /* Call handler. */ - - PLIC->TARGET[ 0 ].CLAIM_COMPLETE = ulInterruptNumber; -#endif -} - -/*-----------------------------------------------------------*/ - -void *malloc( size_t xSize ) -{ - /* The linker script does not define a heap so artificially force an assert() - if something unexpectedly uses the C library heap. See - https://www.freertos.org/a00111.html for more information. */ - configASSERT( xTaskGetTickCount() == 0x00 ); - return NULL; -} -/*-----------------------------------------------------------*/ diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.cspy.bat b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.cspy.bat deleted file mode 100644 index 1f0173f74..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.cspy.bat +++ /dev/null @@ -1,40 +0,0 @@ -@REM This batch file has been generated by the IAR Embedded Workbench -@REM C-SPY Debugger, as an aid to preparing a command line for running -@REM the cspybat command line utility using the appropriate settings. -@REM -@REM Note that this file is generated every time a new debug session -@REM is initialized, so you may want to move or rename the file before -@REM making changes. -@REM -@REM You can launch cspybat by typing the name of this batch file followed -@REM by the name of the debug file (usually an ELF/DWARF or UBROF file). -@REM -@REM Read about available command line parameters in the C-SPY Debugging -@REM Guide. Hints about additional command line parameters that may be -@REM useful in specific cases: -@REM --download_only Downloads a code image without starting a debug -@REM session afterwards. -@REM --silent Omits the sign-on message. -@REM --timeout Limits the maximum allowed execution time. -@REM - - -@echo off - -if not "%~1" == "" goto debugFile - -@echo on - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" - -@echo off -goto end - -:debugFile - -@echo on - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%~1" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" - -@echo off -:end \ No newline at end of file diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.cspy.ps1 b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.cspy.ps1 deleted file mode 100644 index f19491e25..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.cspy.ps1 +++ /dev/null @@ -1,31 +0,0 @@ -param([String]$debugfile = ""); - -# This powershell file has been generated by the IAR Embedded Workbench -# C - SPY Debugger, as an aid to preparing a command line for running -# the cspybat command line utility using the appropriate settings. -# -# Note that this file is generated every time a new debug session -# is initialized, so you may want to move or rename the file before -# making changes. -# -# You can launch cspybat by typing Powershell.exe -File followed by the name of this batch file, followed -# by the name of the debug file (usually an ELF / DWARF or UBROF file). -# -# Read about available command line parameters in the C - SPY Debugging -# Guide. Hints about additional command line parameters that may be -# useful in specific cases : -# --download_only Downloads a code image without starting a debug -# session afterwards. -# --silent Omits the sign - on message. -# --timeout Limits the maximum allowed execution time. -# - - -if ($debugfile -eq "") -{ -& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" -} -else -{ -& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.general.xcl" --debug_file=$debugfile --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\settings\RTOSDemo.Debug.driver.xcl" -} diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.driver.xcl b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.driver.xcl deleted file mode 100644 index 8d9029480..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.driver.xcl +++ /dev/null @@ -1,21 +0,0 @@ -"--core=RV32IMAC" - -"-p" - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\hifive1.ddf" - -"--drv_verify_download" - -"--jet_standard_reset=2,300,1500" - -"--reset_style=\"0,-,0,Disabled__no_reset_\"" - -"--reset_style=\"1,-,0,Software\"" - -"--reset_style=\"2,-,1,Hardware\"" - -"--jet_emu_param=cJtagOpt=Fmt:OScan1" - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.general.xcl b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.general.xcl deleted file mode 100644 index a586b63ed..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.Debug.general.xcl +++ /dev/null @@ -1,13 +0,0 @@ -"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvproc.dll" - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvijet.dll" - -"C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_HiFive1_IAR\Debug\Exe\RTOSDemo.out" - ---plugin="C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvbat.dll" - ---flash_loader="C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\flashloader\SiFive\hifive1.board" - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.dbgdt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.dbgdt deleted file mode 100644 index 98e13554e..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.dbgdt +++ /dev/null @@ -1,1240 +0,0 @@ - - - - - 34048 - 34049 - 34050 - 34051 - 34052 - 34053 - 34054 - 34055 - 34056 - 34057 - 34058 - 34059 - 34060 - 34061 - 34062 - 34063 - 34064 - 34065 - 34066 - 34067 - 34068 - 34069 - 34070 - 34071 - 34072 - 34073 - 34074 - 34075 - 34076 - 34077 - 34078 - 34079 - 34080 - 34081 - 34082 - 34083 - 34084 - 34085 - 34086 - 34087 - 34088 - 34089 - 34090 - 34091 - 34092 - 34093 - 34094 - 34095 - 34096 - 34097 - 34098 - 34099 - 34100 - 34101 - 34102 - 34103 - 34104 - 34105 - 34106 - 34107 - 34108 - 34109 - 34110 - 34111 - 34112 - 34113 - 34114 - 34115 - - - - - 34390 - 34323 - 34398 - 34400 - 34397 - 34320 - 34321 - 34324 - 0 - - - - - 57600 - 57601 - 57603 - 33024 - 0 - 57607 - 0 - 57635 - 57634 - 57637 - 0 - 57643 - 57644 - 0 - 33090 - 33057 - 57636 - 57640 - 57641 - 33026 - 33065 - 33063 - 33064 - 33053 - 33054 - 0 - 33035 - 33036 - 34399 - 0 - 33055 - 33056 - 33094 - 0 - - - - - Disassembly - _I0 - - - 500 - 20 - - - 1 - 1 - - - 14 - 22 - - - 1 - 1 - 0 - 0 - 1 - 1 - 1 - 9E02000033005984000001000000259600000100000040E100000100000010860000BD00000000DA000001000000268100000100000056840000010000001F9600000100000029E10000040000000181000002000000009000000100000007DE00000100000020810000010000000F81000003000000C58600000100000026DE0000010000000C810000010000000D800000020000001D81000003000000018600000100000056860000010000002496000001000000808C00000100000014810000010000005584000003000000008100000400000003E10000010000001A860000030000005E8600001100000028DE0000010000000E810000B5000000C48600000100000041E1000001000000148600000A000000558600000100000023960000010000001186000023000000058100000800000016810000010000000284000001000000008600000100000046810000C80000002481000001000000DC840000010000000BDE000001000000D98400000100000000B00000010000000D8100000300000008860000040000000A810000010000000784000001000000 - - - 5D00D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000E0840000E1840000E2840000E384000024810000FFFFFFFF74860000439200001E920000289200002992000024960000259600001F96000008800000098000000A8000000B8000000C800000158000000A81000001E800000C84000033840000788400001184000000880000018800000288000003880000048800000588000002DE00000BDE00002492000007DE00007784000007840000808C000044D5000083860000588600000D8400000F8400000884000054840000328100001C810000098400001C8F00001E8F00001F8F0000208F0000218F00002AE10000118F000000B0000001B0000008D6000006D60000548600005986000004B0000005B00000008200001C82000001820000678600002281000023810000BE860000BF860000378700001B8600001C8600001D8600001E8600005A8600005B86000053860000A4860000A386000078860000 - 57005786000019000000048400007A000000138600002D00000002860000100000002CE1000071000000048100004A00000059920000250000007686000037000000108600002B000000268100005D000000018100004800000029E100006F0000002392000000000000318400008100000084860000380000000D860000160000005F860000620000000A8600002900000020810000590000000F8100005100000000900000850000003F8100005F00000023E100006B0000000C8100004E0000001D920000120000001982000043000000068400007C000000098100004C00000016820000410000004A810000750000009A8600001700000003840000790000005686000031000000018600000F0000002BE10000700000000084000076000000259200001D00000028E100006E0000000E8400007E000000308400008000000044920000230000000C860000150000002F8200004400000025E100006D00000009860000280000001A860000300000001F810000580000000E810000500000001F920000200000005E860000330000008E860000390000000B8100004D0000002D9200002200000022E100006A0000002B8000004600000018820000420000006986000036000000D18400001C000000058400007B000000148600002E0000000386000011000000498100007400000055860000070000000284000078000000058100004B0000002396000088000000118600002C000000008600000E0000000E86000018000000108400007F00000032840000820000004681000060000000218100005A0000000B8600002A000000608600003500000024E100006C0000000886000027000000C386000003000000A18600003A0000000A8400007D0000000D8100004F00000035E100007200000002E10000650000005D86000032000000168600002F000000C08600000B0000002C92000021000000 - - - 0 - 0A0000000A0000006E0000006E000000 - 0000000057050000000A00006A050000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 34050 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34051 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 4294967295 - 4702000081020000000A0000B9040000 - 470200006A020000000A0000A2040000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34052 - 000000001700000022010000C8000000 - 04000000BE040000FC0900003D050000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 34062 - 000000001700000022010000C8000000 - 04000000BE040000FC0900003D050000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 34064 - 000000001700000022010000C8000000 - 04000000BE040000FC0900003D050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34065 - 000000001700000022010000C8000000 - 04000000BE040000FC0900003D050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34066 - 000000001700000022010000C8000000 - 04000000BE040000FC0900003D050000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 34087 - 000000001700000022010000C8000000 - 04000000BE040000FC0900003D050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34098 - 000000001700000022010000C8000000 - 04000000BE040000FC0900003D050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34053 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34054 - 00000000170000000601000078010000 - 000000003200000006010000A2040000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - - Frame - _I0 - - - 3500 - 20 - - - - 34055 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34056 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34057 - 000000001700000022010000C8000000 - 0A010000F2030000700D0000A3040000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34058 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34059 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34060 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34061 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34063 - 00000000170000000601000078010000 - EF05000032000000000A0000A2040000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - 34067 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34068 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34069 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34070 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34071 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34072 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34073 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34074 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34075 - 7FFFFFFFAC020000D007000090050000 - 470200007E020000000A0000A2040000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 0x80000810 - 0x800005b0 - 0x8000005b0 - 0x80000000 - 0x800007d0 - 0x80000740 - - 0 - 2147485712 - 2147485712 - 4 - 0 - 0 - 0 - 0 - 0 - 0 - 134217830 - - - 34076 - 7FFFFFFFAC020000D007000090050000 - 4B02000082020000FC09000088040000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 0x80000c40 - - 0 - 2147486800 - 2147486801 - 1 - 0 - 0 - 0 - 0 - 0 - 0 - 134217906 - - - 34077 - 7FFFFFFFAC020000D007000090050000 - 4B02000082020000FC09000088040000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34078 - 7FFFFFFFAC020000D007000090050000 - 4B02000082020000FC09000088040000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34079 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34080 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34081 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34082 - 00000000170000000601000078010000 - AA03000032000000EB050000A2040000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - Access - Name - Value - - - 180 - 180 - 180 - - - 0 - - - 34083 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34084 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34085 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34086 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34088 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34089 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34090 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34091 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34092 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34093 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34094 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34095 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34096 - 0000000017000000AE010000D8000000 - 0000000000000000AE010000C1000000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34097 - 0000000017000000AE010000D8000000 - 0000000000000000AE010000C1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34099 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34100 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - 34101 - 000000001700000022010000C8000000 - 00000000F20300009C0B0000A3040000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - 34102 - 000000001700000022010000C8000000 - 000000003D0300009C0B0000EE030000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - 34103 - 000000001700000022010000C8000000 - 00000000880200009C0B000039030000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - ID - Interrupt - Next Time - Status - Timing [cycles] - Type - - - 40 - 120 - 80 - 100 - 120 - 120 - - - - 34104 - 00000000170000000601000078010000 - E202000032000000D203000063020000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - xTickCount - ulclock - ulCheckTaskCycles - - - - Expression - Location - Type - Value - - - 164 - 150 - 100 - 100 - - - - 34105 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34106 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34107 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34108 - 00000000170000000601000078010000 - 0A0100003200000043020000A2040000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 000000004A000000000000000080000000000000FFFFFFFFFFFFFFFF4702000066020000000A00006A02000000000000010000100400000001000000000000000000000000000000000000000000000001000000FFFFFFFF040000001B8500001C8500001D8500001E850000FFFF02000B004354616262656450616E6500800000000000004702000081020000000A0000B9040000470200006A020000000A0000A2040000000000004080004604000000FFFEFF084D0065006D006F007200790020003100000000001B85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003200000000001C85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003300000000001D85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003400000000001E85000001000000FFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFF1B85000001000000FFFFFFFF1B850000000000000010000001000000FFFFFFFFFFFFFFFF430200003200000047020000A20400000100000002000010040000000100000001000000610500003C85000000000000000000000000000000000000010000003C850000010000003C850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000003B85000000000000000000000000000000000000010000003B850000010000003B850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000003A85000000000000000000000000000000000000010000003A850000010000003A850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000398500000000000000000000000000000000000001000000398500000100000039850000000000000040000000000000FFFFFFFFFFFFFFFFDE02000032000000E20200006302000000000000020000000400000001000000A2FAFFFFB0000000388500000000000000000000000000000000000001000000388500000100000038850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000308500000000000000000000000000000000000001000000308500000100000030850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002F85000000000000000000000000000000000000010000002F850000010000002F850000000000000020000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000002E85000000000000000000000000000000000000010000002E850000010000002E850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002C85000000000000000000000000000000000000010000002C850000010000002C850000000000000010000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002B85000000000000000000000000000000000000010000002B850000010000002B850000000000000010000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002A85000000000000000000000000000000000000010000002A850000010000002A850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000298500000000000000000000000000000000000001000000298500000100000029850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000288500000000000000000000000000000000000001000000288500000100000028850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000268500000000000000000000000000000000000001000000268500000100000026850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000258500000000000000000000000000000000000001000000258500000100000025850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000248500000000000000000000000000000000000001000000248500000100000024850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000238500000000000000000000000000000000000001000000238500000100000023850000000000000040000000000000FFFFFFFFFFFFFFFFA603000032000000AA030000A20400000000000002000000040000000100000047F9FFFF00000000228500000000000000000000000000000000000001000000228500000100000022850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000218500000000000000000000000000000000000001000000218500000100000021850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000001F85000000000000000000000000000000000000010000001F850000010000001F850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000001A85000000000000000000000000000000000000010000001A850000010000001A850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000198500000000000000000000000000000000000001000000198500000100000019850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000188500000000000000000000000000000000000001000000188500000100000018850000000000000020000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000158500000000000000000000000000000000000001000000158500000100000015850000000000000040000000000000FFFFFFFFFFFFFFFFEB05000032000000EF050000A204000000000000020000000400000001000000F2F8FFFFC10300000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000A85000000000000000000000000000000000000010000000A850000010000000A850000000000000080000000000000FFFFFFFFFFFFFFFF0A010000EE030000700D0000F2030000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000020000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000088500000000000000000000000000000000000001000000088500000100000008850000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000A2040000010000000200001004000000010000000000000000000000068500000000000000000000000000000000000001000000068500000100000006850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000001000000FFFFFFFFFFFFFFFF00000000A2040000000A0000A6040000010000000100001004000000010000000000000000000000FFFFFFFF07000000048500000E85000010850000118500001285000027850000328500000180008000000100000000000000BD040000000A00006E05000000000000A6040000000A000057050000000000004080005607000000FFFEFF054200750069006C006400010000000485000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000E85000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000001085000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000001185000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300010000001285000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000002785000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000003285000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFF0485000001000000FFFFFFFF04850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000080000000000000FFFFFFFFFFFFFFFF00000000ED030000700D0000F103000000000000010000000400000001000000A4FBFFFF4F000000408500000000000000000000000000000000000001000000408500000100000040850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000003F85000000000000000000000000000000000000010000003F850000010000003F85000001000000FFFF02001200434D756C746950616E654672616D65576E6400010084010000002600000019010000DD010000000000000000000002000000000000003E85000000000000000000000000000000000000010000003E8500000000000000000000 - - - Debug - 00200000010000000800FFFF01001100434D4643546F6F6C426172427574746F6E568600000000040031000000FFFEFF000000000000000000000000000100000001000000018013860000000004002D000000FFFEFF00000000000000000000000000010000000100000001805E8600000000040033000000FFFEFF0000000000000000000000000001000000010000000180608600000000040035000000FFFEFF00000000000000000000000000010000000100000001805D8600000000040032000000FFFEFF000000000000000000000000000100000001000000018010860000000004002B000000FFFEFF000000000000000000000000000100000001000000018011860000000000002C000000FFFEFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E14860000000000002E000000FFFEFF205200650073006500740020007400680065002000640065006200750067006700650064002000700072006F006700720061006D000A00520065007300650074000000000000000000000000000100000001000000000000000000000001000000050009802087000000000000FFFFFFFFFFFEFF13440069007300610062006C0065006400200028006E006F0020007200650073006500740029000100000000000000000000000100000001000000000000000000000001000000000009802187000000000000FFFFFFFFFFFEFF0853006F006600740077006100720065000100000000000000000000000100000001000000000000000000000001000000000009802287000000000000FFFFFFFFFFFEFF08480061007200640077006100720065000100000000000000000000000100000001000000000000000000000001000000000009800000000000000400FFFFFFFFFFFEFF000000000000000000000000000100000001000000000000000000000001000000000009801986000000000000FFFFFFFFFFFEFF000100000000000000000000000100000001000000000000000000000001000000000000000000FFFEFF05440065006200750067006A000000 - - - 34048 - 0A0000000A0000006E0000006E000000 - 1703000000000000F30300001A000000 - 8192 - 0 - 0 - 106 - 0 - - - 1 - - - Main - 00200000010000002100FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000063000000FFFEFF000000000000000000000000000100000001000000018001E100000000000064000000FFFEFF000000000000000000000000000100000001000000018003E100000000000066000000FFFEFF0000000000000000000000000001000000010000000180008100000000000047000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000000069000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004006B000000FFFEFF000000000000000000000000000100000001000000018022E10000000004006A000000FFFEFF000000000000000000000000000100000001000000018025E10000000000006D000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040070000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040071000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0001000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000D00FFFEFF0A78005400690063006B0043006F0075006E007400FFFEFF0D73006500740075007000740069006D006500720069006E007400FFFEFF0C70007200760043006800650063006B005400610073006B00FFFEFF076300610074006300680075007000FFFEFF05740069006D0065007200FFFEFF1078004500720072006F0072004F00630063007500720072006500640020003D00FFFEFF086E006F006E0062006C006B0074007800FFFEFF086E006F00740069006600690065006400FFFEFF1770006F00720074004900530052005F0053005400410043004B005F00460049004C004C005F004200590054004500FFFEFF1370006F007200740043004800450043004B005F004900530052005F0053005400410043004B00FFFEFF066D0065006D00730065007400FFFEFF066D0061006C006C006F006300FFFEFF0C63006F006E0066006900670041005300530045005200540000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018021810000000000005A000000FFFEFF000000000000000000000000000100000001000000018024E10000000000006C000000FFFEFF000000000000000000000000000100000001000000018028E10000000000006E000000FFFEFF000000000000000000000000000100000001000000018029E10000000000006F000000FFFEFF0000000000000000000000000001000000010000000180028100000000000049000000FFFEFF000000000000000000000000000100000001000000018029810000000000005E000000FFFEFF000000000000000000000000000100000001000000018027810000000000005C000000FFFEFF000000000000000000000000000100000001000000018028810000000000005D000000FFFEFF00000000000000000000000000010000000100000001801D8100000000040056000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040057000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000000004D000000FFFEFF00000000000000000000000000010000000100000001800C810000000000004E000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000062000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001801F8100000000000058000000FFFEFF0000000000000000000000000001000000010000000180208100000000000059000000FFFEFF0000000000000000000000000001000000010000000180468100000000020060000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00FF020000 - - - 34049 - 0A0000000A0000006E0000006E000000 - 0000000000000000150300001A000000 - 8192 - 0 - 0 - 767 - 0 - - - 1 - - - - 34001 - 0 - - - - CMSIS-Pack - 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED1840000000000001C000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 - - - 34109 - 0A0000000A0000006E0000006E000000 - F703000000000000250400001A000000 - 8192 - 0 - 0 - 24 - 0 - - - 1 - - - 34110 - 010000002600000019010000DD010000 - 000000000000000018010000B7010000 - 16384 - 0 - 1 - 32767 - 0 - - - 0 - - - - 200 - 100 - 100 - 100 - 100 - 100 - 100 - 150 - - - 34111 - 000000001700000022010000D8000000 - 000000000000000022010000C1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34112 - 000000001700000022010000D8000000 - 00000000F1030000700D000058050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34113 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34114 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34115 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.dnx b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.dnx deleted file mode 100644 index 1f16e8434..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.dnx +++ /dev/null @@ -1,119 +0,0 @@ - - - - 0 - 1 - 90 - 1 - 1 - 1 - main - 0 - 50 - - - 2321671989 - - - 0 - 1 - - - 0 - 0 - 0 - - - 0 - - - 1 - 1 - - - 73866 - - Hardware - Software - 0 - 1 - 0 - - - 0 - C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\hifive1.ddf - - - 1 - - - 0 - 1 - - - 0 - 1 - 0 - 0 - - - 0 - - - 1 - - - 0 - 0 - 1 - 0 - 1 - 0 - - - 0 - 0 - 1 - 0 - 1 - - - 1 - - - 1 - 0 - 1 - 0 - 1 - - - 50000000 - 0 - 1 - - - 1 1 - 4 0 - - - _ 0 - _ "" - - - _ 0 - _ "" - _ 0 - - - _ 0 "EMUL_CODE" "{$PROJ_DIR$\..\Common\Minimal\MessageBufferDemo.c}.813.21" 0 0 1 "" 0 "" 0 - _ 0 "EMUL_CODE" "0x200129EE" 0 0 1 "" 0 "" 0 - _ 0 "EMUL_CODE" "{$PROJ_DIR$\..\Common\Minimal\MessageBufferDemo.c}.813.21" 0 0 1 "" 0 "" 0 - _ 0 "EMUL_CODE" "0x200126BE" 0 0 1 "" 0 "" 0 - 4 - - - 0 - 0 - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.reggroups b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.reggroups deleted file mode 100644 index 5f282702b..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.reggroups +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.wsdt deleted file mode 100644 index 038dfe810..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_HiFive1_IAR/settings/RTOSDemo.wsdt +++ /dev/null @@ -1,508 +0,0 @@ - - - - - RTOSDemo/Debug - - - - - 34048 - 34049 - 34050 - 34051 - 34052 - 34053 - 34054 - 34055 - 34056 - 34057 - 34058 - 34059 - 34060 - 34061 - 34062 - 34063 - 34064 - 34065 - - - - - 57600 - 57601 - 57603 - 33024 - 0 - 57607 - 0 - 57635 - 57634 - 57637 - 0 - 57643 - 57644 - 0 - 33090 - 33057 - 57636 - 57640 - 57641 - 33026 - 33065 - 33063 - 33064 - 33053 - 33054 - 0 - 33035 - 33037 - 34399 - 0 - 33038 - 33039 - 0 - - - - - 405 - 30 - 30 - 30 - - - RTOSDemo - RTOSDemo/FreeRTOS_source - RTOSDemo/FreeRTOS_source/portable - RTOSDemo/FreeRTOS_source/portable/memmang - RTOSDemo/SiFive_code - RTOSDemo/blinky_demo - - - - 14 - 23 - - - 1 - 1 - 0 - 0 - 1 - 1 - 1 - DF01000033005984000001000000259600000100000040E1000001000000108600000300000000DA000001000000268100000100000056840000020000001F9600000100000029E10000080000000181000002000000009000000200000007DE00000200000020810000010000000F8100001D000000C58600000100000026DE0000010000000C810000010000000D800000020000001D81000003000000018600000100000056860000010000002496000001000000808C00000100000014810000010000005584000012000000008100000400000003E10000010000001A860000010000005E8600000200000028DE0000010000000E8100007C010000C48600000100000041E10000010000001486000001000000558600000100000023960000010000001186000001000000058100000A00000016810000010000000284000001000000008600000100000046810000010000002481000002000000DC840000010000000BDE000001000000D98400000100000000B00000010000000D8100000300000008860000010000000A810000020000000784000001000000 - - - 8000FFFFFFFF0D8400000F8400000884000054840000328100001C8100000984000053840000D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000248100002AE10000008200001C820000018200006786000014820000158200001A8200001B820000228100002381000040E100000C840000338400007884000008800000098000000A8000000B8000000C800000158000000A81000001E80000479C0000439200001E92000028920000299200002592000024960000259600001F9600001D920000E880000020F1000010F0000000F0000020F0000030F0000060F00000008800000188000002880000038800000488000005880000EA840000EB840000EC840000ED840000EE840000EF840000F0840000F1840000F2840000F3840000F4840000F5840000F6840000F7840000118400007784000007840000808C000044D5000002DE00000BDE00002492000007DE000010E1000011E1000012E1000013E1000014E1000015E1000016E1000017E1000018E1000019E100001AE100001BE100001CE100001DE100001EE100001FE100001C8F00001E8F00001F8F0000208F0000218F0000118F0000818400007D84000082840000838400008484000039810000178200005584000056840000598400003284000002840000038400001084000005840000318400000A840000 - 3C00048400004C00000059920000110000002CE1000043000000268100002D0000001581000025000000048100001C0000002392000000000000018100001A00000029E100004100000007E100003B00000000900000420000005F8600003400000004E10000390000000F8100001F00000020810000270000003F8100003100000023E100003D0000000D8000001700000001E10000360000000C8100001C0000001982000015000000098100001E000000068400004E00000016820000130000004A81000047000000178100002700000000840000480000002BE10000420000001481000024000000449200000F00000028E100004000000000810000190000000E8400005000000030840000520000002F820000160000001F9200000C00000025E100003F00000003E10000380000000E8100001E0000001F810000260000002D9200000E00000022E100003C00000000E10000350000000B8100001F000000D18400000C00000018820000140000002B8000001800000041E1000045000000498100004600000023960000420000001681000026000000058100001D000000218100002C000000518400005600000005E100003A00000035E100004400000024E100003E00000002E10000370000000D810000210000002C9200000D000000 - - - 0 - 0A0000000A0000006E0000006E000000 - 0000000058050000700D00006B050000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 4294967295 - 000000004A020000000600002F030000 - 0000000073040000700D000058050000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 34049 - 210100008A03000098080000F0040000 - 040000008B0400006C0D00003E050000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 21 - 2548 - 679 - 169 - 2 - C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_simulator_IAR\BuildLog.log - 0 - -1 - - - 34052 - 210100008A03000098080000F0040000 - 040000008B040000FC0500003E050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 1198 - 171 - 2054 - 2 - - 0 - -1 - - - 34053 - 210100008A03000098080000F0040000 - 040000008B040000FC0500003E050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 1198 - 171 - 2054 - 2 - - 0 - -1 - - - 34054 - 210100008A03000098080000F0040000 - 040000008B040000FC0500003E050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 763 - 127 - 1144 - 508 - 2 - - 0 - -1 - - - 34055 - 210100008A03000098080000F0040000 - 040000008B040000FC0500003E050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 532 - 76 - 912 - 2 - - 0 - -1 - - - 34058 - 210100008A03000098080000F0040000 - 040000008B040000FC0500003E050000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 2 - - 0 - -1 - - - 34050 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34051 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34056 - 000000001700000022010000C8000000 - 040000008B0400006C0D00003E050000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 2 - $WS_DIR/SourceBrowseLog.log - 0 - -1 - - - 34057 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34059 - 00000000170000000601000078010000 - 0000000032000000DD0100006F040000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 0000000010000000000000000010000001000000FFFFFFFFFFFFFFFFDD01000032000000E10100006F040000010000000200001004000000010000000AFFFFFFD70500000B85000000000000000000000000000000000000010000000B850000010000000B850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000080000001000000FFFFFFFFFFFFFFFF000000006F040000700D000073040000010000000100001004000000010000009DFEFFFF38010000FFFFFFFF070000000885000001850000048500000585000006850000078500000A850000FFFF02000B004354616262656450616E650080000001000000000000004A020000000600002F0300000000000073040000700D000058050000000000004080005607000000FFFEFF1153006F0075007200630065002000420072006F0077007300650020004C006F006700010000000885000001000000FFFFFFFFFFFFFFFFFFFEFF054200750069006C006400010000000185000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000585000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000685000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000A85000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFF0885000001000000FFFFFFFF08850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000C85000000000000000000000000000000000000010000000C850000010000000C850000000000000080000000000000FFFFFFFFFFFFFFFF00000000A3040000700D0000A7040000000000000100000004000000010000000000000000000000FFFFFFFF010000000E85000001800080000000000000000000007E020000000600002F03000000000000A7040000700D000058050000000000004080004601000000FFFEFF094400650062007500670020004C006F006700000000000E85000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF0E85000001000000FFFFFFFF0E850000000000000000000000000000 - - - Main - 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000035000000FFFEFF000000000000000000000000000100000001000000018001E100000000000036000000FFFEFF000000000000000000000000000100000001000000018003E100000000000038000000FFFEFF0000000000000000000000000001000000010000000180008100000000000019000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000000003B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004003D000000FFFEFF000000000000000000000000000100000001000000018022E10000000004003C000000FFFEFF000000000000000000000000000100000001000000018025E10000000000003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000000042000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040043000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000004800FFFEFF042E0065006E006400FFFEFF0C70007800430075007200720065006E007400540043004200FFFEFF076D00730074006100740075007300FFFEFF046D00650070006300FFFEFF066D0063006100750073006500FFFEFF095F005F00610072006D00200076006F006C00FFFEFF0D5F005F00610072006D00200076006F006C00610069006C006500FFFEFF0E5F005F00610073006D00200076006F006C006100740069006C006500FFFEFF056D007400760065006300FFFEFF1278005400610073006B0049006E006300720065006D0065006E0074005400690063006B00FFFEFF0870006F0072007400480041004E004400FFFEFF0470006F0072007400FFFEFF0363006C007A00FFFEFF095500530045005F0050004F00520054005F00FFFEFF1F700075006C006C004D0061006300680069006E006500540069006D006500720043006F006D00700061007200650052006500670069007300740065007200FFFEFF055F005F00610073006D00FFFEFF0C780049005300520053007400610063006B0054006F007000FFFEFF1A63006F006E006600690067004900530052005F0053005400410043004B005F00530049005A0045005F0057004F00520044005300FFFEFF1B75007800540069006D006500720049006E006300720065006D0065006E007400730046006F0072004F006E0065005400690063006B00FFFEFF107000720076005300650074007500700048006100720064007700610072006500FFFEFF0955004100520054005F005200450047005700FFFEFF0B55004100520054005F0054005800460055004C004C00FFFEFF164D004500540041004C005F005300490046004900560045005F00550041005200540030005F00440049005600FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F00540058004300540052004C00FFFEFF0F7400610073006B00520045005300450054005F0052004500410044005900FFFEFF0855004100520054005F00520045004700FFFEFF18700072007600530065007400750070005000650072006900700068006500720061006C00540069006D00650072007300FFFEFF06650062007200650061006B00FFFEFF0C63006F006E00660069006700410053005300450052005400FFFEFF095400490043004B005F0048004F004F004B00FFFEFF0575006C00520065006700FFFEFF16700075006C00520065006700540065007300740031004C006F006F00700043006F0075006E00740065007200FFFEFF1575006C00520065006700540065007300740032004C006F006F00700043006F0075006E00740065007200FFFEFF087400690063006B0068006F006F006B00FFFEFF0A73006500740075007000740069006D0065007200FFFEFF0C70007200760043006800650063006B005400610073006B00FFFEFF116D00610069006E0055004100520054005F0052004500470049005300540045005200FFFEFF0873007400610072007400730063006800FFFEFF1175006C0043006800650063006B005400610073006B004300790063006C0065007300FFFEFF1078004500720072006F0072004F00630063007500720072006500640020003D00FFFEFF0974006F00670067006C0065006C0065006400FFFEFF156D00610069006E005200450044005F004C00450044005F004700500049004F005F0050004F0052005400FFFEFF146D00610069006E0055004100520054005F00540058005F00460055004C004C005F00420049005400FFFEFF156D00610069006E00550041005200540030005F00540058005F0044004100540041005F00520045004700FFFEFF204D004500540041004C005F005300490046004900560045005F00550041005200540030005F00310030003000310033003000300030005F00530049005A004500FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F0030005F00530049005A004500FFFEFF124D004500540041004C005F005300490046004900560045005F0055004100520054003000FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F00540058004400410054004100FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F00520058004400410054004100FFFEFF0674006F00670067006C006500FFFEFF1178004500720072006F0072004F00630063007500720072006500640020003D002000FFFEFF1270007200760042006100730069006300440065006C006100790054006500730074007300FFFEFF0E78005000720069006D006100720079004300790063006C0065007300FFFEFF1976005000720069006D0061007200790042006C006F0063006B00540069006D00650054006500730074005400610073006B00FFFEFF0F5400610073006B005000720069006F007200690074007900530065007400FFFEFF12700072007600530069006E0067006C0065005400610073006B0054006500730074007300FFFEFF187000720076004E006F006E0042006C006F0063006B0069006E006700530065006E006400650072005400610073006B00FFFEFF0B6E006F006E0062006C006F0063006B0069006E006700FFFEFF0D7000720076004500630068006F00530065007200760065007200FFFEFF1F63006F006E0066006900670053005500500050004F00520054005F005300540041005400490043005F0041004C004C004F0043004100540049004F004E00FFFEFF0D7000720076004500630068006F0043006C00690065006E007400FFFEFF2F730074006100740069006300200076006F006900640020007000720076004500630068006F0043006C00690065006E0074002800200076006F006900640020002A007000760050006100720061006D006500740065007200730020002900FFFEFF0770006F00720074005F006F007000FFFEFF0E76005400610073006B00440065006C00610079002800200070006F00FFFEFF0A53005400410043004B005F004F00560045005200FFFEFF09780049005300520053007400610063006B00FFFEFF0F730074006100720074007300630068006500640075006C00650072006500FFFEFF066D0065006D00730065007400FFFEFF1770006F00720074004900530052005F0053005400410043004B005F00460049004C004C005F004200590054004500FFFEFF0773007400610063006B005F007600FFFEFF0A73007400610063006B005F006F00760065007200FFFEFF062E0061006C00690067006E00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018021810000000000002C000000FFFEFF000000000000000000000000000100000001000000018024E10000000000003E000000FFFEFF000000000000000000000000000100000001000000018028E100000000000040000000FFFEFF000000000000000000000000000100000001000000018029E100000000000041000000FFFEFF000000000000000000000000000100000001000000018002810000000000001B000000FFFEFF0000000000000000000000000001000000010000000180298100000000000030000000FFFEFF000000000000000000000000000100000001000000018027810000000000002E000000FFFEFF000000000000000000000000000100000001000000018028810000000000002F000000FFFEFF00000000000000000000000000010000000100000001801D8100000000000028000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040029000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000004001F000000FFFEFF00000000000000000000000000010000000100000001800D8100000000000021000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000034000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000000000022000000FFFEFF00000000000000000000000000010000000100000001800F8100000000000023000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00E8020000 - - - 34048 - 0A0000000A0000006E0000006E000000 - 0000000000000000FE0200001A000000 - 8192 - 0 - 0 - 744 - 0 - - - 1 - - - 21 - 3394 - 2 - - 0 - -1 - - - 34062 - 000000001700000022010000C8000000 - 00000000BB040000700D000058050000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34060 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34061 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - Access - Address - Name - Size - Zone - _I0 - - - 120 - 150 - 150 - 50 - 120 - 20 - - - - 34063 - 000000002700000022010000D8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - Description - Interrupt - - - 250 - 150 - - - - 34064 - 000000002700000022010000D8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - Description - First Activation - Hold Time - Id - Interrupt - Probability (%) - Repeat Interval - Type - Variance (%) - - - 150 - 70 - 70 - 40 - 100 - 70 - 70 - 100 - 70 - - - - - 34001 - 0 - - - - CMSIS-Pack - 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED1840000000000000C000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 - - - 34065 - 0A0000000A0000006E0000006E000000 - 0303000000000000310300001A000000 - 8192 - 0 - 0 - 24 - 0 - - - 1 - - - - - 010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000040000000200000001000000FFFEFF0F2400570053005F0044004900520024005C006D00610069006E002E00630001000000FFFF010014004966436F6E74656E7453746F72616765496D706CFFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003200340033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00310030003500360031003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00310030003500360031003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF302400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C0070006F0072007400610062006C0065005C004900410052005C0052004900530043002D0056005C0070006F00720074002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00350037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0034003500320038003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0034003500350038003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0670006F00720074002E00630000000000FFFFFFFFFFFFFFFFFFFEFF192400570053005F0044004900520024005C004600720065006500520054004F00530043006F006E006600690067002E006800010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00320035003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0032003600350039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0032003600350039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF104600720065006500520054004F00530043006F006E006600690067002E00680000000000FFFFFFFFFFFFFFFFFFFEFF332400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C0070006F0072007400610062006C0065005C004900410052005C0052004900530043002D0056005C0070006F0072007400410053004D002E007300010000000180FFFEFF00FFFEFFFF28013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100330032003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0036003000370030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0036003100300032003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0970006F0072007400410053004D002E00730000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000100000002000000E101000049000000700D000086040000 - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/FreeRTOSConfig.h b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/FreeRTOSConfig.h deleted file mode 100644 index 71e0bc9c8..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/FreeRTOSConfig.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 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. - *----------------------------------------------------------*/ - -#define configISR_STACK_SIZE_WORDS ( 200 ) -#define configCLINT_BASE_ADDRESS 0x2000000 - -#define configUSE_PREEMPTION 1 -#define configUSE_IDLE_HOOK 1 -#define configUSE_TICK_HOOK 1 -#define configCPU_CLOCK_HZ ( ( uint32_t ) ( 32768 ) ) -#define configTICK_RATE_HZ ( ( TickType_t ) 1000 ) -#define configMAX_PRIORITIES ( 5 ) -#define configMINIMAL_STACK_SIZE ( ( uint32_t ) 170 ) /* Can be as low as 60 but some of the demo tasks that use this constant require it to be higher. */ -#define configTOTAL_HEAP_SIZE ( ( size_t ) ( 54 * 1024 ) ) -#define configMAX_TASK_NAME_LEN ( 16 ) -#define configUSE_TRACE_FACILITY 0 -#define configUSE_16_BIT_TICKS 0 -#define configIDLE_SHOULD_YIELD 0 -#define configUSE_MUTEXES 1 -#define configQUEUE_REGISTRY_SIZE 8 -#define configCHECK_FOR_STACK_OVERFLOW 2 -#define configUSE_RECURSIVE_MUTEXES 1 -#define configUSE_MALLOC_FAILED_HOOK 1 -#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 1 -#define configTIMER_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) -#define configTIMER_QUEUE_LENGTH 4 -#define configTIMER_TASK_STACK_DEPTH ( configMINIMAL_STACK_SIZE ) - -/* Task priorities. Allow these to be overridden. */ -#ifndef uartPRIMARY_PRIORITY - #define uartPRIMARY_PRIORITY ( configMAX_PRIORITIES - 3 ) -#endif - -/* Set the following definitions to 1 to include the API function, or zero -to exclude the API function. */ -#define INCLUDE_vTaskPrioritySet 1 -#define INCLUDE_uxTaskPriorityGet 1 -#define INCLUDE_vTaskDelete 1 -#define INCLUDE_vTaskCleanUpResources 1 -#define INCLUDE_vTaskSuspend 1 -#define INCLUDE_vTaskDelayUntil 1 -#define INCLUDE_vTaskDelay 1 -#define INCLUDE_eTaskGetState 1 -#define INCLUDE_xTimerPendFunctionCall 1 -#define INCLUDE_xTaskAbortDelay 1 -#define INCLUDE_xTaskGetHandle 1 -#define INCLUDE_xSemaphoreGetMutexHolder 1 - -/* Normal assert() semantics without relying on the provision of an assert.h -header file. */ -#define configASSERT( x ) if( ( x ) == 0 ) { taskDISABLE_INTERRUPTS(); __asm volatile( "ebreak" ); for( ;; ); } - -#endif /* FREERTOS_CONFIG_H */ diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewd b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewd deleted file mode 100644 index 12fddc009..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewd +++ /dev/null @@ -1,632 +0,0 @@ - - - 3 - - Debug - - RISCV - - 1 - - C-SPY - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IJETRISCV - 2 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SIMRISCV - 1 - - 0 - 1 - 1 - - - - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - - - Release - - RISCV - - 0 - - C-SPY - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IJETRISCV - 2 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SIMRISCV - 1 - - 0 - 1 - 0 - - - - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewp b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewp deleted file mode 100644 index 0bdb38612..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewp +++ /dev/null @@ -1,1871 +0,0 @@ - - - 3 - - Debug - - RISCV - - 1 - - General - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCRISCV - 1 - - 6 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IASMRISCV - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 1 - - 0 - 1 - 1 - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 1 - - 0 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 1 - - 0 - 1 - 1 - - - - - - - BILINK - 0 - - - - - Release - - RISCV - - 0 - - General - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ICCRISCV - 1 - - 6 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IASMRISCV - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OBJCOPY - 1 - - 0 - 1 - 0 - - - - - - - - - CUSTOM - 3 - - - - 0 - - - - BICOMP - 0 - - - - BUILDACTION - 1 - - - - - - - ILINK - 1 - - 0 - 1 - 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IARCHIVE - 1 - - 0 - 1 - 0 - - - - - - - BILINK - 0 - - - - - blinky_demo - - $PROJ_DIR$\main_blinky\main_blinky.c - - - - FreeRTOS_source - - include - - $PROJ_DIR$\..\..\Source\include\event_groups.h - - - $PROJ_DIR$\..\..\Source\include\message_buffer.h - - - $PROJ_DIR$\..\..\Source\include\queue.h - - - $PROJ_DIR$\..\..\Source\include\semphr.h - - - $PROJ_DIR$\..\..\Source\include\stream_buffer.h - - - $PROJ_DIR$\..\..\Source\include\task.h - - - $PROJ_DIR$\..\..\Source\include\timers.h - - - - portable - - memmang - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c - - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\port.c - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\portASM.s - - - - $PROJ_DIR$\..\..\Source\event_groups.c - - - $PROJ_DIR$\..\..\Source\list.c - - - $PROJ_DIR$\..\..\Source\queue.c - - - $PROJ_DIR$\..\..\Source\stream_buffer.c - - - $PROJ_DIR$\..\..\Source\tasks.c - - - $PROJ_DIR$\..\..\Source\timers.c - - - - full_demo - - common - - $PROJ_DIR$\..\Common\Minimal\AbortDelay.c - - - $PROJ_DIR$\..\Common\Minimal\blocktim.c - - - $PROJ_DIR$\..\Common\Minimal\countsem.c - - - $PROJ_DIR$\..\Common\Minimal\death.c - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - $PROJ_DIR$\..\Common\Minimal\EventGroupsDemo.c - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - - - $PROJ_DIR$\..\Common\Minimal\MessageBufferDemo.c - - - $PROJ_DIR$\..\Common\Minimal\recmutex.c - - - $PROJ_DIR$\..\Common\Minimal\StreamBufferDemo.c - - - $PROJ_DIR$\..\Common\Minimal\StreamBufferInterrupt.c - - - $PROJ_DIR$\..\Common\Minimal\TaskNotify.c - - - $PROJ_DIR$\..\Common\Minimal\TimerDemo.c - - - - $PROJ_DIR$\full_demo\main_full.c - - - $PROJ_DIR$\full_demo\RegTest.s - - - - $PROJ_DIR$\FreeRTOSConfig.h - - - $PROJ_DIR$\main.c - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewt deleted file mode 100644 index 14b84f924..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.ewt +++ /dev/null @@ -1,2279 +0,0 @@ - - - 3 - - Debug - - RISCV - - 1 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Release - - RISCV - - 0 - - C-STAT - 261 - - 261 - - 0 - - 1 - 600 - 1 - 2 - 0 - 1 - 100 - - - 1.5.5 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - blinky_demo - - $PROJ_DIR$\main_blinky\main_blinky.c - - - - FreeRTOS_source - - include - - $PROJ_DIR$\..\..\Source\include\event_groups.h - - - $PROJ_DIR$\..\..\Source\include\message_buffer.h - - - $PROJ_DIR$\..\..\Source\include\queue.h - - - $PROJ_DIR$\..\..\Source\include\semphr.h - - - $PROJ_DIR$\..\..\Source\include\stream_buffer.h - - - $PROJ_DIR$\..\..\Source\include\task.h - - - $PROJ_DIR$\..\..\Source\include\timers.h - - - - portable - - memmang - - $PROJ_DIR$\..\..\Source\portable\MemMang\heap_4.c - - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\port.c - - - $PROJ_DIR$\..\..\Source\portable\IAR\RISC-V\portASM.s - - - - $PROJ_DIR$\..\..\Source\event_groups.c - - - $PROJ_DIR$\..\..\Source\list.c - - - $PROJ_DIR$\..\..\Source\queue.c - - - $PROJ_DIR$\..\..\Source\stream_buffer.c - - - $PROJ_DIR$\..\..\Source\tasks.c - - - $PROJ_DIR$\..\..\Source\timers.c - - - - full_demo - - common - - $PROJ_DIR$\..\Common\Minimal\AbortDelay.c - - - $PROJ_DIR$\..\Common\Minimal\blocktim.c - - - $PROJ_DIR$\..\Common\Minimal\countsem.c - - - $PROJ_DIR$\..\Common\Minimal\death.c - - - $PROJ_DIR$\..\Common\Minimal\dynamic.c - - - $PROJ_DIR$\..\Common\Minimal\EventGroupsDemo.c - - - $PROJ_DIR$\..\Common\Minimal\GenQTest.c - - - $PROJ_DIR$\..\Common\Minimal\MessageBufferDemo.c - - - $PROJ_DIR$\..\Common\Minimal\recmutex.c - - - $PROJ_DIR$\..\Common\Minimal\StreamBufferDemo.c - - - $PROJ_DIR$\..\Common\Minimal\StreamBufferInterrupt.c - - - $PROJ_DIR$\..\Common\Minimal\TaskNotify.c - - - $PROJ_DIR$\..\Common\Minimal\TimerDemo.c - - - - $PROJ_DIR$\full_demo\main_full.c - - - $PROJ_DIR$\full_demo\RegTest.s - - - - $PROJ_DIR$\FreeRTOSConfig.h - - - $PROJ_DIR$\main.c - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.eww b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.eww deleted file mode 100644 index 92414519a..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/RTOSDemo.eww +++ /dev/null @@ -1,7 +0,0 @@ - - - - $WS_DIR$\RTOSDemo.ewp - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/SiFive_code/riscv_plic0.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/SiFive_code/riscv_plic0.c deleted file mode 100644 index ed9782450..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/SiFive_code/riscv_plic0.c +++ /dev/null @@ -1,172 +0,0 @@ -/* Copyright 2018 SiFive, Inc */ -/* SPDX-License-Identifier: Apache-2.0 */ - -#include - -#ifdef METAL_RISCV_PLIC0 - -#include -#include -#include -#include - -unsigned int __metal_plic0_claim_interrupt (struct __metal_driver_riscv_plic0 *plic) -{ - unsigned long control_base = __metal_driver_sifive_plic0_control_base((struct metal_interrupt *)plic); - return __METAL_ACCESS_ONCE((__metal_io_u32 *)(control_base + - METAL_RISCV_PLIC0_CLAIM)); -} - -void __metal_plic0_complete_interrupt(struct __metal_driver_riscv_plic0 *plic, - unsigned int id) -{ - unsigned long control_base = __metal_driver_sifive_plic0_control_base((struct metal_interrupt *)plic); - __METAL_ACCESS_ONCE((__metal_io_u32 *)(control_base + - METAL_RISCV_PLIC0_CLAIM)) = id; -} - -void __metal_plic0_set_threshold(struct __metal_driver_riscv_plic0 *plic, - unsigned int threshold) -{ - unsigned long control_base = __metal_driver_sifive_plic0_control_base((struct metal_interrupt *)plic); - __METAL_ACCESS_ONCE((__metal_io_u32 *)(control_base + - METAL_RISCV_PLIC0_THRESHOLD)) = threshold; -} - -void __metal_plic0_set_priority(struct __metal_driver_riscv_plic0 *plic, - int id, unsigned int priority) -{ - unsigned long control_base = __metal_driver_sifive_plic0_control_base((struct metal_interrupt *)plic); - int max_priority = __metal_driver_sifive_plic0_max_priority((struct metal_interrupt *)plic); - if ( (max_priority) && (priority < max_priority) ) { - __METAL_ACCESS_ONCE((__metal_io_u32 *)(control_base + - METAL_RISCV_PLIC0_PRIORITY_BASE + - (id << METAL_PLIC_SOURCE_PRIORITY_SHIFT))) = priority; - } -} - -void __metal_plic0_enable(struct __metal_driver_riscv_plic0 *plic, int id, int enable) -{ - unsigned int current; - unsigned long hartid = __metal_myhart_id(); - unsigned long control_base = __metal_driver_sifive_plic0_control_base((struct metal_interrupt *)plic); - - current = __METAL_ACCESS_ONCE((__metal_io_u32 *)(control_base + - METAL_RISCV_PLIC0_ENABLE_BASE + - (id >> METAL_PLIC_SOURCE_SHIFT) * 4)); - __METAL_ACCESS_ONCE((__metal_io_u32 *)(control_base + - METAL_RISCV_PLIC0_ENABLE_BASE + - ((id >> METAL_PLIC_SOURCE_SHIFT) * 4))) = - enable ? (current | (1 << (id & METAL_PLIC_SOURCE_MASK))) - : (current & ~(1 << (id & METAL_PLIC_SOURCE_MASK))); -} - -void __metal_plic0_default_handler (int id, void *priv) { - metal_shutdown(300); -} - -void __metal_plic0_handler (int id, void *priv) -{ - struct __metal_driver_riscv_plic0 *plic = priv; - unsigned int idx = __metal_plic0_claim_interrupt(plic); - int num_interrupts = __metal_driver_sifive_plic0_num_interrupts((struct metal_interrupt *)plic); - - if ( (idx < num_interrupts) && (plic->metal_exint_table[idx]) ) { - plic->metal_exint_table[idx](idx, - plic->metal_exdata_table[idx].exint_data); - } - - __metal_plic0_complete_interrupt(plic, idx); -} - -void __metal_driver_riscv_plic0_init (struct metal_interrupt *controller) -{ - struct __metal_driver_riscv_plic0 *plic = (void *)(controller); - - if ( !plic->init_done ) { - int num_interrupts, line; - struct metal_interrupt *intc; - - for(int parent = 0; parent < __METAL_PLIC_NUM_PARENTS; parent++) { - num_interrupts = __metal_driver_sifive_plic0_num_interrupts(controller); - intc = __metal_driver_sifive_plic0_interrupt_parents(controller, parent); - line = __metal_driver_sifive_plic0_interrupt_lines(controller, parent); - - /* Initialize ist parent controller, aka cpu_intc. */ - intc->vtable->interrupt_init(intc); - - for (int i = 0; i < num_interrupts; i++) { - __metal_plic0_enable(plic, i, METAL_DISABLE); - __metal_plic0_set_priority(plic, i, 0); - plic->metal_exint_table[i] = NULL; - plic->metal_exdata_table[i].sub_int = NULL; - plic->metal_exdata_table[i].exint_data = NULL; - } - - __metal_plic0_set_threshold(plic, 0); - - /* Register plic (ext) interrupt with with parent controller */ - intc->vtable->interrupt_register(intc, line, NULL, plic); - /* Register plic handler for dispatching its device interrupts */ - intc->vtable->interrupt_register(intc, line, __metal_plic0_handler, plic); - /* Enable plic (ext) interrupt with with parent controller */ - intc->vtable->interrupt_enable(intc, line); - } - plic->init_done = 1; - } -} - -int __metal_driver_riscv_plic0_register (struct metal_interrupt *controller, - int id, metal_interrupt_handler_t isr, - void *priv) -{ - struct __metal_driver_riscv_plic0 *plic = (void *)(controller); - - if (id >= __metal_driver_sifive_plic0_num_interrupts(controller)) { - return -1; - } - - if (isr) { - __metal_plic0_set_priority(plic ,id, 2); - plic->metal_exint_table[id] = isr; - plic->metal_exdata_table[id].exint_data = priv; - } else { - __metal_plic0_set_priority(plic, id, 1); - plic->metal_exint_table[id] = __metal_plic0_default_handler; - plic->metal_exdata_table[id].sub_int = priv; - } - - return 0; -} - -int __metal_driver_riscv_plic0_enable (struct metal_interrupt *controller, int id) -{ - struct __metal_driver_riscv_plic0 *plic = (void *)(controller); - - if (id >= __metal_driver_sifive_plic0_num_interrupts(controller)) { - return -1; - } - - __metal_plic0_enable(plic, id, METAL_ENABLE); - return 0; -} - -int __metal_driver_riscv_plic0_disable (struct metal_interrupt *controller, int id) -{ - struct __metal_driver_riscv_plic0 *plic = (void *)(controller); - - if (id >= __metal_driver_sifive_plic0_num_interrupts(controller)) { - return -1; - } - __metal_plic0_enable(plic, id, METAL_DISABLE); - return 0; -} - -__METAL_DEFINE_VTABLE(__metal_driver_vtable_riscv_plic0) = { - .plic_vtable.interrupt_init = __metal_driver_riscv_plic0_init, - .plic_vtable.interrupt_register = __metal_driver_riscv_plic0_register, - .plic_vtable.interrupt_enable = __metal_driver_riscv_plic0_enable, - .plic_vtable.interrupt_disable = __metal_driver_riscv_plic0_disable, -}; - -#endif /* METAL_RISCV_PLIC0 */ diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/SiFive_code/sifive_uart0.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/SiFive_code/sifive_uart0.c deleted file mode 100644 index 46971ec79..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/SiFive_code/sifive_uart0.c +++ /dev/null @@ -1,151 +0,0 @@ -/* Copyright 2018 SiFive, Inc */ -/* SPDX-License-Identifier: Apache-2.0 */ - -#include - -#ifdef METAL_SIFIVE_UART0 - -#include -#include - -/* TXDATA Fields */ -#define UART_TXEN (1 << 0) -#define UART_TXFULL (1 << 31) - -/* RXDATA Fields */ -#define UART_RXEN (1 << 0) -#define UART_RXEMPTY (1 << 31) - -/* TXCTRL Fields */ -#define UART_NSTOP (1 << 1) -#define UART_TXCNT(count) ((0x7 & count) << 16) - -/* IP Fields */ -#define UART_TXWM (1 << 0) - -#define UART_REG(offset) (((unsigned long)control_base + offset)) -#define UART_REGB(offset) (__METAL_ACCESS_ONCE((__metal_io_u8 *)UART_REG(offset))) -#define UART_REGW(offset) (__METAL_ACCESS_ONCE((__metal_io_u32 *)UART_REG(offset))) - -struct metal_interrupt * -__metal_driver_sifive_uart0_interrupt_controller(struct metal_uart *uart) -{ - return __metal_driver_sifive_uart0_interrupt_parent(uart); -} - -int __metal_driver_sifive_uart0_get_interrupt_id(struct metal_uart *uart) -{ - return (__metal_driver_sifive_uart0_interrupt_line(uart) + METAL_INTERRUPT_ID_GL0); -} - -int __metal_driver_sifive_uart0_putc(struct metal_uart *uart, unsigned char c) -{ - long control_base = __metal_driver_sifive_uart0_control_base(uart); - - while ((UART_REGW(METAL_SIFIVE_UART0_TXDATA) & UART_TXFULL) != 0) { } - UART_REGW(METAL_SIFIVE_UART0_TXDATA) = c; - return 0; -} - -int __metal_driver_sifive_uart0_getc(struct metal_uart *uart, unsigned char *c) -{ - uint32_t ch = UART_RXEMPTY; - long control_base = __metal_driver_sifive_uart0_control_base(uart); - - while (ch & UART_RXEMPTY) { - ch = UART_REGW(METAL_SIFIVE_UART0_RXDATA); - } - *c = ch & 0xff; - return 0; -} - -int __metal_driver_sifive_uart0_get_baud_rate(struct metal_uart *guart) -{ - struct __metal_driver_sifive_uart0 *uart = (void *)guart; - return uart->baud_rate; -} - -int __metal_driver_sifive_uart0_set_baud_rate(struct metal_uart *guart, int baud_rate) -{ - struct __metal_driver_sifive_uart0 *uart = (void *)guart; - long control_base = __metal_driver_sifive_uart0_control_base(guart); - struct metal_clock *clock = __metal_driver_sifive_uart0_clock(guart); - - uart->baud_rate = baud_rate; - - if (clock != NULL) { - long clock_rate = clock->vtable->get_rate_hz(clock); - UART_REGW(METAL_SIFIVE_UART0_DIV) = clock_rate / baud_rate - 1; - UART_REGW(METAL_SIFIVE_UART0_TXCTRL) |= UART_TXEN; - UART_REGW(METAL_SIFIVE_UART0_RXCTRL) |= UART_RXEN; - } - return 0; -} - -static void pre_rate_change_callback(void *priv) -{ - struct __metal_driver_sifive_uart0 *uart = priv; - long control_base = __metal_driver_sifive_uart0_control_base((struct metal_uart *)priv); - struct metal_clock *clock = __metal_driver_sifive_uart0_clock((struct metal_uart *)priv); - - /* Detect when the TXDATA is empty by setting the transmit watermark count - * to one and waiting until an interrupt is pending */ - - UART_REGW(METAL_SIFIVE_UART0_TXCTRL) &= ~(UART_TXCNT(0x7)); - UART_REGW(METAL_SIFIVE_UART0_TXCTRL) |= UART_TXCNT(1); - - while((UART_REGW(METAL_SIFIVE_UART0_IP) & UART_TXWM) == 0) ; - - /* When the TXDATA clears, the UART is still shifting out the last byte. - * Calculate the time we must drain to finish transmitting and then wait - * that long. */ - - long bits_per_symbol = (UART_REGW(METAL_SIFIVE_UART0_TXCTRL) & (1 << 1)) ? 9 : 10; - long clk_freq = clock->vtable->get_rate_hz(clock); - long cycles_to_wait = bits_per_symbol * clk_freq / uart->baud_rate; - - for(volatile long x = 0; x < cycles_to_wait; x++) - asm("nop"); -} - -static void post_rate_change_callback(void *priv) -{ - struct __metal_driver_sifive_uart0 *uart = priv; - metal_uart_set_baud_rate(&uart->uart, uart->baud_rate); -} - -void __metal_driver_sifive_uart0_init(struct metal_uart *guart, int baud_rate) -{ - struct __metal_driver_sifive_uart0 *uart = (void *)(guart); - struct metal_clock *clock = __metal_driver_sifive_uart0_clock(guart); - struct __metal_driver_sifive_gpio0 *pinmux = __metal_driver_sifive_uart0_pinmux(guart); - - if(clock != NULL) { - metal_clock_register_pre_rate_change_callback(clock, &pre_rate_change_callback, guart); - metal_clock_register_post_rate_change_callback(clock, &post_rate_change_callback, guart); - } - - metal_uart_set_baud_rate(&(uart->uart), baud_rate); - - if (pinmux != NULL) { - long pinmux_output_selector = __metal_driver_sifive_uart0_pinmux_output_selector(guart); - long pinmux_source_selector = __metal_driver_sifive_uart0_pinmux_source_selector(guart); - pinmux->gpio.vtable->enable_io( - (struct metal_gpio *) pinmux, - pinmux_output_selector, - pinmux_source_selector - ); - } -} - -__METAL_DEFINE_VTABLE(__metal_driver_vtable_sifive_uart0) = { - .uart.init = __metal_driver_sifive_uart0_init, - .uart.putc = __metal_driver_sifive_uart0_putc, - .uart.getc = __metal_driver_sifive_uart0_getc, - .uart.get_baud_rate = __metal_driver_sifive_uart0_get_baud_rate, - .uart.set_baud_rate = __metal_driver_sifive_uart0_set_baud_rate, - .uart.controller_interrupt = __metal_driver_sifive_uart0_interrupt_controller, - .uart.get_interrupt_id = __metal_driver_sifive_uart0_get_interrupt_id, -}; - -#endif /* METAL_SIFIVE_UART0 */ diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/full_demo/RegTest.s b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/full_demo/RegTest.s deleted file mode 100644 index 19c820101..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/full_demo/RegTest.s +++ /dev/null @@ -1,262 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - - EXTERN ulRegTest1LoopCounter - EXTERN ulRegTest2LoopCounter - - PUBLIC vRegTest1Implementation - PUBLIC vRegTest2Implementation - -/*-----------------------------------------------------------*/ - - SECTION `.text`:CODE:NOROOT(2) - CODE - -/* - * The register check tasks are described in the comments at the top of - * main_full.c. - */ - -vRegTest1Implementation: - - /* Fill the core registers with known values. */ - li x5, 0x5 - li x6, 0x6 - li x7, 0x7 - li x8, 0x8 - li x9, 0x9 - li x10, 0xa - li x11, 0xb - li x12, 0xc - li x13, 0xd - li x14, 0xe - li x15, 0xf - li x16, 0x10 - li x17, 0x11 - li x18, 0x12 - li x19, 0x13 - li x20, 0x14 - li x21, 0x15 - li x22, 0x16 - li x23, 0x17 - li x24, 0x18 - li x25, 0x19 - li x26, 0x1a - li x27, 0x1b - li x28, 0x1c - li x29, 0x1d - li x30, 0x1e - -reg1_loop: - - /* Check each register still contains the expected known value. - vRegTest1Implementation uses x31 as the temporary, vRegTest2Implementation - uses x5 as the temporary. */ - li x31, 0x5 - bne x31, x5, reg1_error_loop - li x31, 0x6 - bne x31, x6, reg1_error_loop - li x31, 0x7 - bne x31, x7, reg1_error_loop - li x31, 0x8 - bne x31, x8, reg1_error_loop - li x31, 0x9 - bne x31, x9, reg1_error_loop - li x31, 0xa - bne x31, x10, reg1_error_loop - li x31, 0xb - bne x31, x11, reg1_error_loop - li x31, 0xc - bne x31, x12, reg1_error_loop - li x31, 0xd - bne x31, x13, reg1_error_loop - li x31, 0xe - bne x31, x14, reg1_error_loop - li x31, 0xf - bne x31, x15, reg1_error_loop - li x31, 0x10 - bne x31, x16, reg1_error_loop - li x31, 0x11 - bne x31, x17, reg1_error_loop - li x31, 0x12 - bne x31, x18, reg1_error_loop - li x31, 0x13 - bne x31, x19, reg1_error_loop - li x31, 0x14 - bne x31, x20, reg1_error_loop - li x31, 0x15 - bne x31, x21, reg1_error_loop - li x31, 0x16 - bne x31, x22, reg1_error_loop - li x31, 0x17 - bne x31, x23, reg1_error_loop - li x31, 0x18 - bne x31, x24, reg1_error_loop - li x31, 0x19 - bne x31, x25, reg1_error_loop - li x31, 0x1a - bne x31, x26, reg1_error_loop - li x31, 0x1b - bne x31, x27, reg1_error_loop - li x31, 0x1c - bne x31, x28, reg1_error_loop - li x31, 0x1d - bne x31, x29, reg1_error_loop - li x31, 0x1e - bne x31, x30, reg1_error_loop - - /* Everything passed, increment the loop counter. */ - lw x31, ulRegTest1LoopCounter -//_RB_ lw x30, 0(x31) - addi x30, x30, 1 - sw x30, 0(x31) - - /* Restore clobbered register reading for next loop. */ - li x30, 0x1e - - /* Yield to increase code coverage. */ - ecall - - /* Start again. */ - jal reg1_loop - -reg1_error_loop: - /* Jump here if a register contains an uxpected value. This stops the loop - counter being incremented so the check task knows an error was found. */ - jal reg1_error_loop - -/*-----------------------------------------------------------*/ - -vRegTest2Implementation: - - /* Fill the core registers with known values. */ - li x6, 0x61 - li x7, 0x71 - li x8, 0x81 - li x9, 0x91 - li x10, 0xa1 - li x11, 0xb1 - li x12, 0xc1 - li x13, 0xd1 - li x14, 0xe1 - li x15, 0xf1 - li x16, 0x20 - li x17, 0x21 - li x18, 0x22 - li x19, 0x23 - li x20, 0x24 - li x21, 0x25 - li x22, 0x26 - li x23, 0x27 - li x24, 0x28 - li x25, 0x29 - li x26, 0x2a - li x27, 0x2b - li x28, 0x2c - li x29, 0x2d - li x30, 0x2e - li x31, 0x2f - -Reg2_loop: - - /* Check each register still contains the expected known value. - vRegTest2Implementation uses x5 as the temporary, vRegTest1Implementation - uses x31 as the temporary. */ - li x5, 0x61 - bne x5, x6, reg2_error_loop - li x5, 0x71 - bne x5, x7, reg2_error_loop - li x5, 0x81 - bne x5, x8, reg2_error_loop - li x5, 0x91 - bne x5, x9, reg2_error_loop - li x5, 0xa1 - bne x5, x10, reg2_error_loop - li x5, 0xb1 - bne x5, x11, reg2_error_loop - li x5, 0xc1 - bne x5, x12, reg2_error_loop - li x5, 0xd1 - bne x5, x13, reg2_error_loop - li x5, 0xe1 - bne x5, x14, reg2_error_loop - li x5, 0xf1 - bne x5, x15, reg2_error_loop - li x5, 0x20 - bne x5, x16, reg2_error_loop - li x5, 0x21 - bne x5, x17, reg2_error_loop - li x5, 0x22 - bne x5, x18, reg2_error_loop - li x5, 0x23 - bne x5, x19, reg2_error_loop - li x5, 0x24 - bne x5, x20, reg2_error_loop - li x5, 0x25 - bne x5, x21, reg2_error_loop - li x5, 0x26 - bne x5, x22, reg2_error_loop - li x5, 0x27 - bne x5, x23, reg2_error_loop - li x5, 0x28 - bne x5, x24, reg2_error_loop - li x5, 0x29 - bne x5, x25, reg2_error_loop - li x5, 0x2a - bne x5, x26, reg2_error_loop - li x5, 0x2b - bne x5, x27, reg2_error_loop - li x5, 0x2c - bne x5, x28, reg2_error_loop - li x5, 0x2d - bne x5, x29, reg2_error_loop - li x5, 0x2e - bne x5, x30, reg2_error_loop - li x5, 0x2f - bne x5, x31, reg2_error_loop - - /* Everything passed, increment the loop counter. */ - lw x5, ulRegTest2LoopCounter -//_RB_ lw x6, 0(x5) - addi x6, x6, 1 - sw x6, 0(x5) - - /* Restore clobbered register reading for next loop. */ - li x6, 0x61 - - /* Start again. */ - jal Reg2_loop - -reg2_error_loop: - /* Jump here if a register contains an uxpected value. This stops the loop - counter being incremented so the check task knows an error was found. */ - jal reg2_error_loop - -/*-----------------------------------------------------------*/ - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/full_demo/main_full.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/full_demo/main_full.c deleted file mode 100644 index 8626d536a..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/full_demo/main_full.c +++ /dev/null @@ -1,397 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -/****************************************************************************** - * NOTE 1: This project provides two demo applications. A simple blinky style - * project, and a more comprehensive test and demo application. The - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select - * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY - * in main.c. This file implements the comprehensive test and demo version. - * - * NOTE 2: This file only contains the source code that is specific to the - * full demo. Generic functions, such FreeRTOS hook functions, and functions - * required to configure the hardware, are defined in main.c. - * - ****************************************************************************** - * - * main_full() creates all the demo application tasks and software timers, then - * starts the scheduler. The web documentation provides more details of the - * standard demo application tasks, which provide no particular functionality, - * but do provide a good example of how to use the FreeRTOS API. - * - * In addition to the standard demo tasks, the following tasks and tests are - * defined and/or created within this file: - * - * "Reg test" tasks - These fill both the core registers with known values, then - * check that each register maintains its expected value for the lifetime of the - * task. Each task uses a different set of values. The reg test tasks execute - * with a very low priority, so get preempted very frequently. A register - * containing an unexpected value is indicative of an error in the context - * switching mechanism. - * - * "Check" task - The check executes every three seconds. It checks that all - * the standard demo tasks, and the register check tasks, are not only still - * executing, but are executing without reporting any errors. If the check task - * discovers that a task has either stalled, or reported an error, then it - * prints an error message to the UART, otherwise it prints "Pass.". - */ - -/* Standard includes. */ -#include -#include - -/* Kernel includes. */ -#include "FreeRTOS.h" -#include "task.h" -#include "timers.h" -#include "semphr.h" - - -/* Standard demo application includes. */ -#include "dynamic.h" -#include "blocktim.h" -#include "GenQTest.h" -#include "recmutex.h" -#include "TimerDemo.h" -#include "EventGroupsDemo.h" -#include "TaskNotify.h" -#include "AbortDelay.h" -#include "countsem.h" -#include "death.h" -#include "MessageBufferDemo.h" -#include "StreamBufferDemo.h" -#include "StreamBufferInterrupt.h" - -/* Priorities for the demo application tasks. */ -#define mainCHECK_TASK_PRIORITY ( configMAX_PRIORITIES - 1 ) -#define mainCREATOR_TASK_PRIORITY ( tskIDLE_PRIORITY + 3UL ) - -/* The period of the check task, in ms, converted to ticks using the -pdMS_TO_TICKS() macro. mainNO_ERROR_CHECK_TASK_PERIOD is used if no errors have -been found, mainERROR_CHECK_TASK_PERIOD is used if an error has been found. */ -#define mainNO_ERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 3000UL ) -#define mainERROR_CHECK_TASK_PERIOD pdMS_TO_TICKS( 500UL ) - -/* Parameters that are passed into the register check tasks solely for the -purpose of ensuring parameters are passed into tasks correctly. */ -#define mainREG_TEST_TASK_1_PARAMETER ( ( void * ) 0x12345678 ) -#define mainREG_TEST_TASK_2_PARAMETER ( ( void * ) 0x87654321 ) - -/* The base period used by the timer test tasks. */ -#define mainTIMER_TEST_PERIOD ( 50 ) - -/* The size of the stack allocated to the check task (as described in the -comments at the top of this file. */ -#define mainCHECK_TASK_STACK_SIZE_WORDS 100 - -/* Size of the stacks to allocated for the register check tasks. */ -#define mainREG_TEST_STACK_SIZE_WORDS 70 - -/*-----------------------------------------------------------*/ - -/* - * Called by main() to run the full demo (as opposed to the blinky demo) when - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. - */ -void main_full( void ); - -/* - * The check task, as described at the top of this file. - */ -static void prvCheckTask( void *pvParameters ); - -/* - * Initialise and start the peripheral timers that are used to exercise external - * interrupt processing. - */ -static void prvSetupPeripheralTimers( void ); - -/* - * Register check tasks as described at the top of this file. The nature of - * these files necessitates that they are written in an assembly file, but the - * entry points are kept in the C file for the convenience of checking the task - * parameter. - */ -static void prvRegTestTaskEntry1( void *pvParameters ); -extern void vRegTest1Implementation( void ); -static void prvRegTestTaskEntry2( void *pvParameters ); -extern void vRegTest2Implementation( void ); - -/* - * Tick hook used by the full demo, which includes code that interacts with - * some of the tests. - */ -void vFullDemoTickHook( void ); - -/*-----------------------------------------------------------*/ - -/* The following two variables are used to communicate the status of the -register check tasks to the check task. If the variables keep incrementing, -then the register check tasks have not discovered any errors. If a variable -stops incrementing, then an error has been found. */ -volatile uint32_t ulRegTest1LoopCounter = 0UL, ulRegTest2LoopCounter = 0UL; - -/*-----------------------------------------------------------*/ - -void main_full( void ) -{ - /* Start all the other standard demo/test tasks. They have no particular - functionality, but do demonstrate how to use the FreeRTOS API and test the - kernel port. */ - vStartDynamicPriorityTasks(); - vCreateBlockTimeTasks(); - vStartGenericQueueTasks( tskIDLE_PRIORITY ); - vStartRecursiveMutexTasks(); - vStartTimerDemoTask( mainTIMER_TEST_PERIOD ); - vStartEventGroupTasks(); - vStartTaskNotifyTask(); - vCreateAbortDelayTasks(); - vStartCountingSemaphoreTasks(); - vStartMessageBufferTasks( configMINIMAL_STACK_SIZE ); - vStartStreamBufferTasks(); - vStartStreamBufferInterruptDemo(); - - /* Create the register check tasks, as described at the top of this file. - Use xTaskCreateStatic() to create a task using only statically allocated - memory. */ - xTaskCreate( prvRegTestTaskEntry1, /* The function that implements the task. */ - "Reg1", /* The name of the task. */ - mainREG_TEST_STACK_SIZE_WORDS, /* Size of stack to allocate for the task - in words not bytes!. */ - mainREG_TEST_TASK_1_PARAMETER, /* Parameter passed into the task. */ - tskIDLE_PRIORITY, /* Priority of the task. */ - NULL ); /* Can be used to pass out a handle to the created task. */ - xTaskCreate( prvRegTestTaskEntry2, "Reg2", mainREG_TEST_STACK_SIZE_WORDS, mainREG_TEST_TASK_2_PARAMETER, tskIDLE_PRIORITY, NULL ); - - /* Create the task that performs the 'check' functionality, as described at - the top of this file. */ - xTaskCreate( prvCheckTask, "Check", mainCHECK_TASK_STACK_SIZE_WORDS, NULL, mainCHECK_TASK_PRIORITY, NULL ); - - /* The set of tasks created by the following function call have to be - created last as they keep account of the number of tasks they expect to see - running. */ - vCreateSuicidalTasks( mainCREATOR_TASK_PRIORITY ); - - /* Start the scheduler. */ - vTaskStartScheduler(); - - /* If all is well, the scheduler will now be running, and the following - line will never be reached. If the following line does execute, then - there was insufficient FreeRTOS heap memory available for the Idle and/or - timer tasks to be created. See the memory management section on the - FreeRTOS web site for more details on the FreeRTOS heap - http://www.freertos.org/a00111.html. */ - for( ;; ); -} -/*-----------------------------------------------------------*/ - -static void prvCheckTask( void *pvParameters ) -{ -TickType_t xDelayPeriod = mainNO_ERROR_CHECK_TASK_PERIOD; -TickType_t xLastExecutionTime; -uint32_t ulLastRegTest1Value = 0, ulLastRegTest2Value = 0; -char * const pcPassMessage = "."; -char * pcStatusMessage = pcPassMessage; -extern void vSendString( const char * const pcString ); -extern void vToggleLED( void ); - - /* Just to stop compiler warnings. */ - ( void ) pvParameters; - - /* Start with a pass message, after which a '.' character will be printed - out on each successful loop. */ - vSendString( "Pass" ); - - /* Initialise xLastExecutionTime so the first call to vTaskDelayUntil() - works correctly. */ - xLastExecutionTime = xTaskGetTickCount(); - - /* Cycle for ever, delaying then checking all the other tasks are still - operating without error. The onboard LED is toggled on each iteration. - If an error is detected then the delay period is decreased from - mainNO_ERROR_CHECK_TASK_PERIOD to mainERROR_CHECK_TASK_PERIOD. This has the - effect of increasing the rate at which the onboard LED toggles, and in so - doing gives visual feedback of the system status. */ - for( ;; ) - { - /* Delay until it is time to execute again. */ - vTaskDelayUntil( &xLastExecutionTime, xDelayPeriod ); - - /* Check all the demo tasks (other than the flash tasks) to ensure - that they are all still running, and that none have detected an error. */ - if( xAreDynamicPriorityTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Dynamic priority demo/tests.\r\n"; - } - - if( xAreBlockTimeTestTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Block time demo/tests.\r\n"; - } - - if( xAreGenericQueueTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Generic queue demo/tests.\r\n"; - } - - if( xAreRecursiveMutexTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Recursive mutex demo/tests.\r\n"; - } - - if( xAreTimerDemoTasksStillRunning( ( TickType_t ) xDelayPeriod ) == pdFALSE ) - { - pcStatusMessage = "ERROR: Timer demo/tests.\r\n"; - } - - if( xAreEventGroupTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Event group demo/tests.\r\n"; - } - - if( xAreTaskNotificationTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Task notification demo/tests.\r\n"; - } - - if( xAreAbortDelayTestTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Abort delay.\r\n"; - } - - if( xAreCountingSemaphoreTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Counting semaphores.\r\n"; - } - - if( xIsCreateTaskStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Suicide tasks.\r\n"; - } - - if( xAreMessageBufferTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Message buffer.\r\n"; - } - - if( xAreStreamBufferTasksStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Stream buffer.\r\n"; - } - - if( xIsInterruptStreamBufferDemoStillRunning() == pdFALSE ) - { - pcStatusMessage = "ERROR: Stream buffer interrupt.\r\n"; - } - - /* Check that the register test 1 task is still running. */ - if( ulLastRegTest1Value == ulRegTest1LoopCounter ) - { - pcStatusMessage = "ERROR: Register test 1.\r\n"; - } - ulLastRegTest1Value = ulRegTest1LoopCounter; - - /* Check that the register test 2 task is still running. */ - if( ulLastRegTest2Value == ulRegTest2LoopCounter ) - { - pcStatusMessage = "ERROR: Register test 2.\r\n"; - } - ulLastRegTest2Value = ulRegTest2LoopCounter; - - /* Write the status message to the UART. */ - vSendString( pcStatusMessage ); - - /* If an error has been found then increase the LED toggle rate by - increasing the cycle frequency. */ - if( pcStatusMessage != pcPassMessage ) - { - xDelayPeriod = mainERROR_CHECK_TASK_PERIOD; - } - } -} -/*-----------------------------------------------------------*/ - -static void prvRegTestTaskEntry1( void *pvParameters ) -{ - /* Although the regtest task is written in assembler, its entry point is - written in C for convenience of checking the task parameter is being passed - in correctly. */ - if( pvParameters == mainREG_TEST_TASK_1_PARAMETER ) - { - /* Start the part of the test that is written in assembler. */ - vRegTest1Implementation(); - } - - /* The following line will only execute if the task parameter is found to - be incorrect. The check task will detect that the regtest loop counter is - not being incremented and flag an error. */ - vTaskDelete( NULL ); -} -/*-----------------------------------------------------------*/ - -static void prvRegTestTaskEntry2( void *pvParameters ) -{ - /* Although the regtest task is written in assembler, its entry point is - written in C for convenience of checking the task parameter is being passed - in correctly. */ - if( pvParameters == mainREG_TEST_TASK_2_PARAMETER ) - { - /* Start the part of the test that is written in assembler. */ - vRegTest2Implementation(); - } - - /* The following line will only execute if the task parameter is found to - be incorrect. The check task will detect that the regtest loop counter is - not being incremented and flag an error. */ - vTaskDelete( NULL ); -} -/*-----------------------------------------------------------*/ - -void vFullDemoTickHook( void ) -{ - /* The full demo includes a software timer demo/test that requires - prodding periodically from the tick interrupt. */ - vTimerPeriodicISRTests(); - - /* Call the periodic event group from ISR demo. */ - vPeriodicEventGroupsProcessing(); - - /* Use task notifications from an interrupt. */ - xNotifyTaskFromISR(); - - /* Writes to stream buffer byte by byte to test the stream buffer trigger - level functionality. */ - vPeriodicStreamBufferProcessing(); - - /* Writes a string to a string buffer four bytes at a time to demonstrate - a stream being sent from an interrupt to a task. */ - vBasicStreamBufferSendFromISR(); - - /* Called from vApplicationTickHook() when the project is configured to - build the full test/demo applications. */ -} -/*-----------------------------------------------------------*/ - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/main.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/main.c deleted file mode 100644 index 797a8267a..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/main.c +++ /dev/null @@ -1,222 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -/* FreeRTOS kernel includes. */ -#include -#include - -/****************************************************************************** - * This project provides two demo applications. A simple blinky style project, - * and a more comprehensive test and demo application. The - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting (defined in this file) is used to - * select between the two. The simply blinky demo is implemented and described - * in main_blinky.c. The more comprehensive test and demo application is - * implemented and described in main_full.c. - * - * This file implements the code that is not demo specific, including the - * hardware setup and standard FreeRTOS hook functions. - * - * ENSURE TO READ THE DOCUMENTATION PAGE FOR THIS PORT AND DEMO APPLICATION ON - * THE http://www.FreeRTOS.org WEB SITE FOR FULL INFORMATION ON USING THIS DEMO - * APPLICATION, AND ITS ASSOCIATE FreeRTOS ARCHITECTURE PORT! - * - */ - -/* UART hardware constants. */ -#define mainUART_BASE_ADDRESS ( *( volatile uint32_t * ) 0x20000000UL ) -#define mainUART_TX_DATA 0x00 -#define mainUART_TX_CTRL 0x08 -#define mainUART_RX_CTRL 0x0c -#define mainUART_CLOCK_DIV 0x18 -#define mainUART_TX_ENABLE_BIT (1UL << 0UL) -#define mainUART_RX_ENABLE_BIT (1UL << 0UL) -#define mainUART_TX_FULL_BIT (1UL << 31UL) -#define mainUART_REGISTER( offset ) ( ( mainUART_BASE_ADDRESS + offset ) ) -#define mainUART_REGISTER_WORD( offset ) ( *( ( uint32_t * ) mainUART_REGISTER( offset ) ) ) - - -/* Set mainCREATE_SIMPLE_BLINKY_DEMO_ONLY to one to run the simple blinky demo, -or 0 to run the more comprehensive test and demo application. */ -#define mainCREATE_SIMPLE_BLINKY_DEMO_ONLY 0 - -/* - * main_blinky() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1. - * main_full() is used when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 0. - */ -#if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 - extern void main_blinky( void ); -#else - extern void main_full( void ); -#endif /* #if mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 */ - -/* Prototypes for the standard FreeRTOS callback/hook functions implemented -within this file. See https://www.freertos.org/a00016.html */ -void vApplicationMallocFailedHook( void ); -void vApplicationIdleHook( void ); -void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ); -void vApplicationTickHook( void ); - -/* Prepare hardware to run the demo. */ -static void prvSetupHardware( void ); - -/* Send a message to the UART initialised in prvSetupHardware. */ -void vSendString( const char * const pcString ); - -/*-----------------------------------------------------------*/ - -int main( void ) -{ - prvSetupHardware(); - - /* The mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting is described at the top - of this file. */ - #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY == 1 ) - { - main_blinky(); - } - #else - { - main_full(); - } - #endif -} -/*-----------------------------------------------------------*/ - -static void prvSetupHardware( void ) -{ -const unsigned long clock_rate = 66000000, baud_rate = 115200; - - /* Initialise the UART. */ - mainUART_REGISTER_WORD( mainUART_CLOCK_DIV ) = clock_rate / baud_rate - 1; - mainUART_REGISTER_WORD( mainUART_TX_CTRL ) |= mainUART_TX_ENABLE_BIT; - mainUART_REGISTER_WORD( mainUART_RX_CTRL ) |= mainUART_RX_ENABLE_BIT; -} -/*-----------------------------------------------------------*/ - -void vToggleLED( void ) -{ -static uint32_t ulLEDState = 0; - - ulLEDState = !ulLEDState; -} -/*-----------------------------------------------------------*/ - -void vSendString( const char * const pcString ) -{ -uint32_t ulIndex = 0; - - while( pcString[ ulIndex ] != 0x00 ) - { - while( ( mainUART_REGISTER_WORD( mainUART_TX_DATA ) & mainUART_TX_FULL_BIT ) != 0UL ); - mainUART_REGISTER_WORD(mainUART_TX_DATA) = pcString[ ulIndex ]; - ulIndex++; - } -} -/*-----------------------------------------------------------*/ - -void vApplicationMallocFailedHook( void ) -{ - /* vApplicationMallocFailedHook() will only be called if - configUSE_MALLOC_FAILED_HOOK is set to 1 in FreeRTOSConfig.h. It is a hook - function that will get called if a call to pvPortMalloc() fails. - pvPortMalloc() is called internally by the kernel whenever a task, queue, - timer or semaphore is created. It is also called by various parts of the - demo application. If heap_1.c or heap_2.c are used, then the size of the - heap available to pvPortMalloc() is defined by configTOTAL_HEAP_SIZE in - FreeRTOSConfig.h, and the xPortGetFreeHeapSize() API function can be used - to query the size of free heap space that remains (although it does not - provide information on how the remaining heap might be fragmented). */ - taskDISABLE_INTERRUPTS(); - __asm volatile( "ebreak" ); - for( ;; ); -} -/*-----------------------------------------------------------*/ - -void vApplicationIdleHook( void ) -{ - /* vApplicationIdleHook() will only be called if configUSE_IDLE_HOOK is set - to 1 in FreeRTOSConfig.h. It will be called on each iteration of the idle - task. It is essential that code added to this hook function never attempts - to block in any way (for example, call xQueueReceive() with a block time - specified, or call vTaskDelay()). If the application makes use of the - vTaskDelete() API function (as this demo application does) then it is also - important that vApplicationIdleHook() is permitted to return to its calling - function, because it is the responsibility of the idle task to clean up - memory allocated by the kernel to any task that has since been deleted. */ -} -/*-----------------------------------------------------------*/ - -void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName ) -{ - ( void ) pcTaskName; - ( void ) pxTask; - - /* Run time stack overflow checking is performed if - configCHECK_FOR_STACK_OVERFLOW is defined to 1 or 2. This hook - function is called if a stack overflow is detected. */ - taskDISABLE_INTERRUPTS(); - __asm volatile( "ebreak" ); - for( ;; ); -} -/*-----------------------------------------------------------*/ - -void vApplicationTickHook( void ) -{ - /* The tests in the full demo expect some interaction with interrupts. */ - #if( mainCREATE_SIMPLE_BLINKY_DEMO_ONLY != 1 ) - { - extern void vFullDemoTickHook( void ); - vFullDemoTickHook(); - } - #endif -} -/*-----------------------------------------------------------*/ - -/* Called from the kernel's port layer to handle device specific external -interrupts. */ -void vApplicationHandleTrap( uint32_t mcause ) -{ - /* Not implemented yet. */ - configASSERT( mcause == 0 ); -#warning vApplicationHandleTrap not implemented. -#if 0 -uint32_t ulInterruptNumber; -typedef void ( * irq_handler_t )( void ); -extern const irq_handler_t isrTable[]; - - ulInterruptNumber = PLIC->TARGET[ 0 ].CLAIM_COMPLETE; - - /* Read handler from table. */ - /* Call handler. */ - - PLIC->TARGET[ 0 ].CLAIM_COMPLETE = ulInterruptNumber; -#endif -} - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/main_blinky/main_blinky.c b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/main_blinky/main_blinky.c deleted file mode 100644 index a1d1edb0b..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/main_blinky/main_blinky.c +++ /dev/null @@ -1,205 +0,0 @@ -/* - * FreeRTOS Kernel V10.2.1 - * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * - * http://www.FreeRTOS.org - * http://aws.amazon.com/freertos - * - * 1 tab == 4 spaces! - */ - -/****************************************************************************** - * NOTE 1: This project provides two demo applications. A simple blinky - * style project, and a more comprehensive test and demo application. The - * mainCREATE_SIMPLE_BLINKY_DEMO_ONLY setting in main.c is used to select - * between the two. See the notes on using mainCREATE_SIMPLE_BLINKY_DEMO_ONLY - * in main.c. This file implements the simply blinky style version. - * - * NOTE 2: This file only contains the source code that is specific to the - * basic demo. Generic functions, such FreeRTOS hook functions, and functions - * required to configure the hardware are defined in main.c. - ****************************************************************************** - * - * main_blinky() creates one queue, and two tasks. It then starts the - * scheduler. - * - * The Queue Send Task: - * The queue send task is implemented by the prvQueueSendTask() function in - * this file. prvQueueSendTask() sits in a loop that causes it to repeatedly - * block for 1000 milliseconds, before sending the value 100 to the queue that - * was created within main_blinky(). Once the value is sent, the task loops - * back around to block for another 1000 milliseconds...and so on. - * - * The Queue Receive Task: - * The queue receive task is implemented by the prvQueueReceiveTask() function - * in this file. prvQueueReceiveTask() sits in a loop where it repeatedly - * blocks on attempts to read data from the queue that was created within - * main_blinky(). When data is received, the task checks the value of the - * data, and if the value equals the expected 100, writes 'Blink' to the UART - * (the UART is used in place of the LED to allow easy execution in QEMU). The - * 'block time' parameter passed to the queue receive function specifies that - * the task should be held in the Blocked state indefinitely to wait for data to - * be available on the queue. The queue receive task will only leave the - * Blocked state when the queue send task writes to the queue. As the queue - * send task writes to the queue every 1000 milliseconds, the queue receive - * task leaves the Blocked state every 1000 milliseconds, and therefore toggles - * the LED every 200 milliseconds. - */ - -/* Standard includes. */ -#include -#include - -/* Kernel includes. */ -#include "FreeRTOS.h" -#include "task.h" -#include "queue.h" - -/* Priorities used by the tasks. */ -#define mainQUEUE_RECEIVE_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) -#define mainQUEUE_SEND_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 ) - -/* The rate at which data is sent to the queue. The 200ms value is converted -to ticks using the pdMS_TO_TICKS() macro. */ -#define mainQUEUE_SEND_FREQUENCY_MS pdMS_TO_TICKS( 1000 ) - -/* The maximum number items the queue can hold. The priority of the receiving -task is above the priority of the sending task, so the receiving task will -preempt the sending task and remove the queue items each time the sending task -writes to the queue. Therefore the queue will never have more than one item in -it at any time, and even with a queue length of 1, the sending task will never -find the queue full. */ -#define mainQUEUE_LENGTH ( 1 ) - -/*-----------------------------------------------------------*/ - -/* - * Called by main when mainCREATE_SIMPLE_BLINKY_DEMO_ONLY is set to 1 in - * main.c. - */ -void main_blinky( void ); - -/* - * The tasks as described in the comments at the top of this file. - */ -static void prvQueueReceiveTask( void *pvParameters ); -static void prvQueueSendTask( void *pvParameters ); - -/*-----------------------------------------------------------*/ - -/* The queue used by both tasks. */ -static QueueHandle_t xQueue = NULL; - -/*-----------------------------------------------------------*/ - -void main_blinky( void ) -{ - /* Create the queue. */ - xQueue = xQueueCreate( mainQUEUE_LENGTH, sizeof( uint32_t ) ); - - if( xQueue != NULL ) - { - /* Start the two tasks as described in the comments at the top of this - file. */ - xTaskCreate( prvQueueReceiveTask, /* The function that implements the task. */ - "Rx", /* The text name assigned to the task - for debug only as it is not used by the kernel. */ - configMINIMAL_STACK_SIZE * 2U, /* The size of the stack to allocate to the task. */ - NULL, /* The parameter passed to the task - not used in this case. */ - mainQUEUE_RECEIVE_TASK_PRIORITY, /* The priority assigned to the task. */ - NULL ); /* The task handle is not required, so NULL is passed. */ - - xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE * 2U, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL ); - - /* Start the tasks and timer running. */ - vTaskStartScheduler(); - } - - /* If all is well, the scheduler will now be running, and the following - line will never be reached. If the following line does execute, then - there was insufficient FreeRTOS heap memory available for the Idle and/or - timer tasks to be created. See the memory management section on the - FreeRTOS web site for more details on the FreeRTOS heap - http://www.freertos.org/a00111.html. */ - for( ;; ); -} -/*-----------------------------------------------------------*/ - -static void prvQueueSendTask( void *pvParameters ) -{ -TickType_t xNextWakeTime; -const unsigned long ulValueToSend = 100UL; -BaseType_t xReturned; - - /* Remove compiler warning about unused parameter. */ - ( void ) pvParameters; - - /* Initialise xNextWakeTime - this only needs to be done once. */ - xNextWakeTime = xTaskGetTickCount(); - - for( ;; ) - { - /* Place this task in the blocked state until it is time to run again. */ - vTaskDelayUntil( &xNextWakeTime, mainQUEUE_SEND_FREQUENCY_MS ); - - /* Send to the queue - causing the queue receive task to unblock and - toggle the LED. 0 is used as the block time so the sending operation - will not block - it shouldn't need to block as the queue should always - be empty at this point in the code. */ - xReturned = xQueueSend( xQueue, &ulValueToSend, 0U ); - configASSERT( xReturned == pdPASS ); - } -} -/*-----------------------------------------------------------*/ - -static void prvQueueReceiveTask( void *pvParameters ) -{ -unsigned long ulReceivedValue; -const unsigned long ulExpectedValue = 100UL; -const char * const pcPassMessage = "Blink\r\n"; -const char * const pcFailMessage = "Unexpected value received\r\n"; -extern void vSendString( const char * const pcString ); -extern void vToggleLED( void ); - - /* Remove compiler warning about unused parameter. */ - ( void ) pvParameters; - - for( ;; ) - { - /* Wait until something arrives in the queue - this task will block - indefinitely provided INCLUDE_vTaskSuspend is set to 1 in - FreeRTOSConfig.h. */ - xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY ); - - /* To get here something must have been received from the queue, but - is it the expected value? If it is, toggle the LED. */ - if( ulReceivedValue == ulExpectedValue ) - { - vSendString( pcPassMessage ); - vToggleLED(); - ulReceivedValue = 0U; - } - else - { - vSendString( pcFailMessage ); - } - } -} -/*-----------------------------------------------------------*/ - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.cspy.bat b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.cspy.bat deleted file mode 100644 index 1e003ddd2..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.cspy.bat +++ /dev/null @@ -1,40 +0,0 @@ -@REM This batch file has been generated by the IAR Embedded Workbench -@REM C-SPY Debugger, as an aid to preparing a command line for running -@REM the cspybat command line utility using the appropriate settings. -@REM -@REM Note that this file is generated every time a new debug session -@REM is initialized, so you may want to move or rename the file before -@REM making changes. -@REM -@REM You can launch cspybat by typing the name of this batch file followed -@REM by the name of the debug file (usually an ELF/DWARF or UBROF file). -@REM -@REM Read about available command line parameters in the C-SPY Debugging -@REM Guide. Hints about additional command line parameters that may be -@REM useful in specific cases: -@REM --download_only Downloads a code image without starting a debug -@REM session afterwards. -@REM --silent Omits the sign-on message. -@REM --timeout Limits the maximum allowed execution time. -@REM - - -@echo off - -if not "%~1" == "" goto debugFile - -@echo on - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.driver.xcl" - -@echo off -goto end - -:debugFile - -@echo on - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.general.xcl" "--debug_file=%~1" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.driver.xcl" - -@echo off -:end \ No newline at end of file diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.cspy.ps1 b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.cspy.ps1 deleted file mode 100644 index f4ced075b..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.cspy.ps1 +++ /dev/null @@ -1,31 +0,0 @@ -param([String]$debugfile = ""); - -# This powershell file has been generated by the IAR Embedded Workbench -# C - SPY Debugger, as an aid to preparing a command line for running -# the cspybat command line utility using the appropriate settings. -# -# Note that this file is generated every time a new debug session -# is initialized, so you may want to move or rename the file before -# making changes. -# -# You can launch cspybat by typing Powershell.exe -File followed by the name of this batch file, followed -# by the name of the debug file (usually an ELF / DWARF or UBROF file). -# -# Read about available command line parameters in the C - SPY Debugging -# Guide. Hints about additional command line parameters that may be -# useful in specific cases : -# --download_only Downloads a code image without starting a debug -# session afterwards. -# --silent Omits the sign - on message. -# --timeout Limits the maximum allowed execution time. -# - - -if ($debugfile -eq "") -{ -& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.general.xcl" --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.driver.xcl" -} -else -{ -& "C:\devtools\IAR Systems\Embedded Workbench 8.3\common\bin\cspybat" -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.general.xcl" --debug_file=$debugfile --backend -f "C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\settings\RTOSDemo.Debug.driver.xcl" -} diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.driver.xcl b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.driver.xcl deleted file mode 100644 index c2e69763e..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.driver.xcl +++ /dev/null @@ -1,13 +0,0 @@ -"--core=RV32IMAC" - -"-p" - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\e31arty35t.ddf" - -"-d" - -"sim" - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.general.xcl b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.general.xcl deleted file mode 100644 index b9d0ead7c..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.Debug.general.xcl +++ /dev/null @@ -1,11 +0,0 @@ -"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvproc.dll" - -"C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvsim.dll" - -"C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_RV32_SiFive_IAR\Debug\Exe\RTOSDemo.out" - ---plugin="C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\bin\riscvbat.dll" - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.dbgdt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.dbgdt deleted file mode 100644 index d009a33ca..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.dbgdt +++ /dev/null @@ -1,1097 +0,0 @@ - - - - - 34048 - 34049 - 34050 - 34051 - 34052 - 34053 - 34054 - 34055 - 34056 - 34057 - 34058 - 34059 - 34060 - 34061 - 34062 - 34063 - 34064 - 34065 - 34066 - 34067 - 34068 - 34069 - 34070 - 34071 - 34072 - 34073 - 34074 - 34075 - 34076 - 34077 - 34078 - 34079 - 34080 - 34081 - 34082 - 34083 - 34084 - 34085 - 34086 - 34087 - 34088 - 34089 - 34090 - 34091 - 34092 - 34093 - 34094 - 34095 - 34096 - 34097 - 34098 - 34099 - 34100 - 34101 - 34102 - 34103 - 34104 - 34105 - 34106 - 34107 - 34108 - 34109 - 34110 - - - - - 34390 - 34323 - 34398 - 34400 - 34397 - 34320 - 34321 - 34324 - 0 - - - - - 57600 - 57601 - 57603 - 33024 - 0 - 57607 - 0 - 57635 - 57634 - 57637 - 0 - 57643 - 57644 - 0 - 33090 - 33057 - 57636 - 57640 - 57641 - 33026 - 33065 - 33063 - 33064 - 33053 - 33054 - 0 - 33035 - 33036 - 34399 - 0 - 33055 - 33056 - 33094 - 0 - - - - - Disassembly - _I0 - - - 500 - 20 - - - 1 - 1 - - - 14 - 21 - - - 1 - 1 - 0 - 0 - 1 - 1 - 1 - FD000000240040E10000010000002596000001000000268100000100000000DA000001000000108600001300000029E10000040000001F96000001000000C5860000010000000F810000030000000D800000020000000C8100000100000026DE0000010000002496000001000000568600000100000014810000010000000081000004000000C4860000010000000E810000B500000028DE0000010000005E860000030000001A8600000100000003E100000100000041E100000100000002840000010000001681000001000000058100000800000011860000070000002396000001000000DC8400000100000024810000010000004681000012000000D98400000100000008860000010000000D8100000300000007840000010000000A81000001000000 - - - 2A00D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000E0840000E1840000E2840000E384000024810000FFFFFFFF74860000439200001E920000289200002992000024960000259600001F96000008800000098000000A8000000B8000000C800000158000000A81000001E800000C840000338400007884000011840000008800000188000002880000038800000488000005880000 - 19001386000030000000268100005D000000108600002E000000768600003A0000005992000025000000048100004A000000848600003B0000001D92000015000000098100004C0000005686000034000000259200001D00000044920000230000005E860000360000001F920000200000002D920000220000001486000031000000118600002F0000002396000088000000058100004B000000468100006200000060860000380000005D8600003500000002E100006500000035E10000720000002C92000021000000 - - - 0 - 0A0000000A0000006E0000006E000000 - 000000003A030000040600004D030000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 34050 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34051 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 4294967295 - 0000000001040000700D0000C2040000 - 00000000E2030000700D0000A3040000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34052 - 000000001700000022010000C8000000 - 04000000A10200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 34062 - 000000001700000022010000C8000000 - 04000000A10200000006000020030000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 34064 - 000000001700000022010000C8000000 - 04000000A10200000006000020030000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34065 - 000000001700000022010000C8000000 - 04000000A10200000006000020030000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34066 - 000000001700000022010000C8000000 - 04000000A10200000006000020030000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34087 - 000000001700000022010000C8000000 - 04000000A10200000006000020030000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34098 - 000000001700000022010000C8000000 - 04000000A10200000006000020030000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34053 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34054 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34055 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34056 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34057 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34058 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34059 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34060 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34061 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34063 - 00000000170000000601000078010000 - AA050000390000007A0700001D030000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - 34067 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34068 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34069 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34070 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34071 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34072 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34073 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34074 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34075 - 000000001700000022010000D8000000 - 04000000FA0300006C0D000089040000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34076 - 000000001700000022010000D8000000 - 04000000FA0300006C0D000089040000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34077 - 000000001700000022010000D8000000 - 04000000FA0300006C0D000089040000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34078 - 000000001700000022010000D8000000 - 04000000FA0300006C0D000089040000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34079 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34080 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34081 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34082 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34083 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34084 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34085 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34086 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34088 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34089 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34090 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34091 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34092 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34093 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34094 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 8192 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34095 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34096 - 0000000017000000AE010000D8000000 - 0000000000000000AE010000C1000000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34097 - 0000000017000000AE010000D8000000 - 0000000000000000AE010000C1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34099 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34100 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34101 - 000000001700000022010000C8000000 - 00000000F20300009C0B0000A3040000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34102 - 000000001700000022010000C8000000 - 000000003D0300009C0B0000EE030000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 34103 - 000000001700000022010000C8000000 - 00000000880200009C0B000039030000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - ID - Interrupt - Next Time - Status - Timing [cycles] - Type - - - 40 - 120 - 80 - 100 - 120 - 120 - - - - 34104 - 00000000170000000601000078010000 - 55040000320000000406000085020000 - 16384 - 0 - 0 - 32767 - 0 - - - 1 - - - - xTickCount - - - - Expression - Location - Type - Value - - - 100 - 150 - 100 - 100 - - - - 34105 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34106 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34107 - 00000000170000000601000078010000 - 00000000000000000601000061010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34108 - 00000000170000000601000078010000 - 00000000320000000601000085020000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 0000000048000000000000000010000001000000FFFFFFFFFFFFFFFF06010000320000000A010000850200000100000002000010040000000100000000000000000000003C85000000000000000000000000000000000000010000003C850000010000003C850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000003B85000000000000000000000000000000000000010000003B850000010000003B850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000003A85000000000000000000000000000000000000010000003A850000010000003A850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000398500000000000000000000000000000000000001000000398500000100000039850000000000000040000001000000FFFFFFFFFFFFFFFF5104000032000000550400008502000001000000020000100400000001000000A2FAFFFFB0000000388500000000000000000000000000000000000001000000388500000100000038850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000308500000000000000000000000000000000000001000000308500000100000030850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002F85000000000000000000000000000000000000010000002F850000010000002F850000000000000020000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000002E85000000000000000000000000000000000000010000002E850000010000002E850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002C85000000000000000000000000000000000000010000002C850000010000002C850000000000000010000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002B85000000000000000000000000000000000000010000002B850000010000002B850000000000000010000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000002A85000000000000000000000000000000000000010000002A850000010000002A850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000298500000000000000000000000000000000000001000000298500000100000029850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000288500000000000000000000000000000000000001000000288500000100000028850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000268500000000000000000000000000000000000001000000268500000100000026850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000258500000000000000000000000000000000000001000000258500000100000025850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000248500000000000000000000000000000000000001000000248500000100000024850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000238500000000000000000000000000000000000001000000238500000100000023850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000228500000000000000000000000000000000000001000000228500000100000022850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000218500000000000000000000000000000000000001000000218500000100000021850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000001F85000000000000000000000000000000000000010000001F850000010000001F850000000000000080000000000000FFFFFFFFFFFFFFFF00000000DE030000700D0000E2030000000000000100000004000000010000000000000000000000FFFFFFFF040000001B8500001C8500001D8500001E850000FFFF02000B004354616262656450616E6500800000000000000000000001040000700D0000C204000000000000E2030000700D0000A3040000000000004080004604000000FFFEFF084D0065006D006F007200790020003100000000001B85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003200000000001C85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003300000000001D85000001000000FFFFFFFFFFFFFFFFFFFEFF084D0065006D006F007200790020003400000000001E85000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF1B85000001000000FFFFFFFF1B850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000001A85000000000000000000000000000000000000010000001A850000010000001A850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000198500000000000000000000000000000000000001000000198500000100000019850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000188500000000000000000000000000000000000001000000188500000100000018850000000000000020000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000158500000000000000000000000000000000000001000000158500000100000015850000000000000040000000000000FFFFFFFFFFFFFFFFA605000039000000AA0500001D0300000000000002000000040000000100000065FEFFFFFC0200000F85000000000000000000000000000000000000010000000F850000010000000F850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000A85000000000000000000000000000000000000010000000A850000010000000A850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000020000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000088500000000000000000000000000000000000001000000088500000100000008850000000000000010000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000068500000000000000000000000000000000000001000000068500000100000006850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000058500000000000000000000000000000000000001000000058500000100000005850000000000000080000001000000FFFFFFFFFFFFFFFF00000000850200000406000089020000010000000100001004000000010000000000000000000000FFFFFFFF07000000048500000E85000010850000118500001285000027850000328500000180008000000100000000000000A802000004060000590300000000000089020000040600003A030000000000004080005607000000FFFEFF054200750069006C006400010000000485000001000000FFFFFFFFFFFFFFFFFFFEFF094400650062007500670020004C006F006700010000000E85000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000001085000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000001185000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000001285000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000002785000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000003285000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFF0485000001000000FFFFFFFF04850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000040000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000200000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000040000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000002000000040000000100000000000000000000003E85000000000000000000000000000000000000010000003E850000010000003E850000000000000000000000000000 - - - Debug - 00200000010000000800FFFF01001100434D4643546F6F6C426172427574746F6E568600000000000031000000FFFEFF000000000000000000000000000100000001000000018013860000000000002D000000FFFEFF00000000000000000000000000010000000100000001805E8600000000000033000000FFFEFF0000000000000000000000000001000000010000000180608600000000000035000000FFFEFF00000000000000000000000000010000000100000001805D8600000000000032000000FFFEFF000000000000000000000000000100000001000000018010860000000000002B000000FFFEFF000000000000000000000000000100000001000000018011860000000004002C000000FFFEFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E14860000000000002E000000FFFEFF205200650073006500740020007400680065002000640065006200750067006700650064002000700072006F006700720061006D000A00520065007300650074000000000000000000000000000100000001000000000000000000000001000000050009802087000000000000FFFFFFFFFFFEFF13440069007300610062006C0065006400200028006E006F0020007200650073006500740029000100000000000000000000000100000001000000000000000000000001000000000009802187000000000000FFFFFFFFFFFEFF0853006F006600740077006100720065000100000000000000000000000100000001000000000000000000000001000000000009802287000000000000FFFFFFFFFFFEFF08480061007200640077006100720065000100000000000000000000000100000001000000000000000000000001000000000009800000000000000400FFFFFFFFFFFEFF000000000000000000000000000100000001000000000000000000000001000000000009801986000000000000FFFFFFFFFFFEFF000100000000000000000000000100000001000000000000000000000001000000000000000000FFFEFF05440065006200750067006A000000 - - - 34048 - 0A0000000A0000006E0000006E000000 - 1703000000000000F30300001A000000 - 8192 - 0 - 0 - 106 - 0 - - - 1 - - - Main - 00200000010000002100FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000063000000FFFEFF000000000000000000000000000100000001000000018001E100000000000064000000FFFEFF000000000000000000000000000100000001000000018003E100000000000066000000FFFEFF0000000000000000000000000001000000010000000180008100000000000047000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E100000000000069000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004006B000000FFFEFF000000000000000000000000000100000001000000018022E10000000004006A000000FFFEFF000000000000000000000000000100000001000000018025E10000000000006D000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040070000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040071000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000000FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000000200FFFEFF0A78005400690063006B0043006F0075006E007400FFFEFF0D73006500740075007000740069006D006500720069006E0074000000000000000000018021810000000004005A000000FFFEFF000000000000000000000000000100000001000000018024E10000000000006C000000FFFEFF000000000000000000000000000100000001000000018028E10000000004006E000000FFFEFF000000000000000000000000000100000001000000018029E10000000000006F000000FFFEFF0000000000000000000000000001000000010000000180028100000000000049000000FFFEFF000000000000000000000000000100000001000000018029810000000000005E000000FFFEFF000000000000000000000000000100000001000000018027810000000000005C000000FFFEFF000000000000000000000000000100000001000000018028810000000000005D000000FFFEFF00000000000000000000000000010000000100000001801D8100000000000056000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040057000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000000004D000000FFFEFF00000000000000000000000000010000000100000001800C810000000000004E000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000062000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001801F8100000000000058000000FFFEFF0000000000000000000000000001000000010000000180208100000000000059000000FFFEFF0000000000000000000000000001000000010000000180468100000000020060000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00FF020000 - - - 34049 - 0A0000000A0000006E0000006E000000 - 0000000000000000150300001A000000 - 8192 - 0 - 0 - 767 - 0 - - - 1 - - - - 34001 - 0 - - - - CMSIS-Pack - 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED1840000000000001C000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 - - - 34109 - 0A0000000A0000006E0000006E000000 - F703000000000000250400001A000000 - 8192 - 0 - 0 - 24 - 0 - - - 1 - - - 34110 - 010000002600000019010000DD010000 - 000000000000000018010000B7010000 - 16384 - 0 - 0 - 32767 - 0 - - - 0 - - - - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.dnx b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.dnx deleted file mode 100644 index 996c204df..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.dnx +++ /dev/null @@ -1,111 +0,0 @@ - - - - 0 - 1 - 90 - 1 - 1 - 1 - main - 0 - 50 - - - 1686049390 - - - 0 - 1 - - - 0 - 0 - 0 - - - 0 - - - 1 - 1 - - - 0 - 1 - 0 - 0 - - - 0 - - - 1 - - - 0 - 0 - 1 - 0 - 1 - 0 - - - 0 - 0 - 1 - 0 - 1 - - - 1 - - - 1 - 0 - 1 - 0 - 1 - - - 0 - 1 - - - 50000000 - 0 - 1 - - - 73866 - - Hardware - Software - 0 - 0 - 0 - - - 0 - C:\devtools\IAR Systems\Embedded Workbench 8.3\riscv\config\debugger\SiFive\e31arty35t.ddf - - - 1 - - - _ 0 - _ "" - - - _ 0 - _ "" - _ 0 - - - 0 - - - 0 - 0 - - diff --git a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.wsdt b/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.wsdt deleted file mode 100644 index 52371225e..000000000 --- a/FreeRTOS/Demo/RISC-V_RV32_SiFive_IAR/settings/RTOSDemo.wsdt +++ /dev/null @@ -1,488 +0,0 @@ - - - - - RTOSDemo/Debug - - - - - 34048 - 34049 - 34050 - 34051 - 34052 - 34053 - 34054 - 34055 - 34056 - 34057 - 34058 - 34059 - 34060 - 34061 - 34062 - 34063 - 34064 - 34065 - - - - - 57600 - 57601 - 57603 - 33024 - 0 - 57607 - 0 - 57635 - 57634 - 57637 - 0 - 57643 - 57644 - 0 - 33090 - 33057 - 57636 - 57640 - 57641 - 33026 - 33065 - 33063 - 33064 - 33053 - 33054 - 0 - 33035 - 33037 - 34399 - 0 - 33038 - 33039 - 0 - - - - - 405 - 30 - 30 - 30 - - - RTOSDemo - RTOSDemo/SiFive_code - RTOSDemo/full_demo - - - - 14 - 21 - - - 1 - 1 - 0 - 0 - 1 - 1 - 1 - F60000002400259600000100000040E1000001000000108600000300000000DA00000100000026810000010000001F9600000100000029E10000050000000F81000004000000C58600000100000026DE0000010000000C810000010000000D80000002000000568600000100000024960000010000001481000001000000008100000400000003E10000010000001A860000010000005E8600000200000028DE0000010000000E810000CB000000C48600000100000041E100000100000023960000010000001186000001000000058100000A0000001681000001000000028400000100000046810000010000002481000002000000DC84000001000000D9840000010000000D8100000300000008860000010000000A810000020000000784000001000000 - - - 6900FFFFFFFF0D8400000F8400000884000054840000328100001C8100000984000053840000D6840000D7840000D8840000D9840000DA840000DB840000DC840000DD840000DE840000DF840000248100002AE10000008200001C820000018200006786000014820000158200001A8200001B820000228100002381000040E100000C840000338400007884000008800000098000000A8000000B8000000C800000158000000A81000001E80000479C0000439200001E92000028920000299200002592000024960000259600001F9600001D920000E880000020F1000010F0000000F0000020F0000030F0000060F00000008800000188000002880000038800000488000005880000EA840000EB840000EC840000ED840000EE840000EF840000F0840000F1840000F2840000F3840000F4840000F5840000F6840000F7840000118400007784000007840000808C000044D5000002DE00000BDE00002492000007DE000010E1000011E1000012E1000013E1000014E1000015E1000016E1000017E1000018E1000019E100001AE100001BE100001CE100001DE100001EE100001FE10000 - 4300048400004C00000059920000110000002CE1000043000000268100002D0000001581000025000000048100001C00000023920000000000003184000053000000018100001A00000029E100004100000007E100003B00000000900000570000005F8600003400000004E10000390000000F81000023000000208100002B0000003F8100003100000023E100003D0000000D8000001700000001E10000360000000C81000020000000068400004E0000001982000015000000098100001E000000038400004B00000016820000130000004A81000047000000178100002700000000840000480000002BE100004200000014810000240000000E840000500000003084000052000000449200000F00000028E100004000000000810000190000002F820000160000001F9200000C00000025E100003F00000003E10000380000000E810000220000001F8100002A0000002D9200000E00000022E100003C00000000E10000350000000B8100001F000000058400004D000000D18400000C00000018820000140000002B8000001800000041E1000045000000028400004A000000498100004600000023960000420000001681000026000000058100001D00000010840000510000003284000054000000218100002C000000518400005600000005E100003A0000000A8400004F00000035E100004400000024E100003E00000002E10000370000000D810000210000002C9200000D000000 - - - 0 - 0A0000000A0000006E0000006E000000 - 000000003A030000040600004D030000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 4294967295 - 00000000250200000406000059030000 - 0000000006020000040600003A030000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 34049 - 210100008A03000098080000F0040000 - 040000001E0200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 21 - 2548 - 679 - 169 - 2 - C:\Users\ribarry\Dev\FreeRTOS\WorkingCopy\FreeRTOS\Demo\RISC-V_simulator_IAR\BuildLog.log - 0 - -1 - - - 34052 - 210100008A03000098080000F0040000 - 040000001E0200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 1198 - 171 - 2054 - 2 - - 0 - -1 - - - 34053 - 210100008A03000098080000F0040000 - 040000001E0200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 1198 - 171 - 2054 - 2 - - 0 - -1 - - - 34054 - 210100008A03000098080000F0040000 - 040000001E0200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 1027 - 171 - 1540 - 684 - 2 - - 0 - -1 - - - 34055 - 210100008A03000098080000F0040000 - 040000001E0200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 666 - 95 - 1141 - 2 - - 0 - -1 - - - 34058 - 210100008A03000098080000F0040000 - 040000001E0200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - 2 - - 0 - -1 - - - 34050 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34051 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34056 - 000000001700000022010000C8000000 - 040000001E0200000006000020030000 - 32768 - 0 - 0 - 32767 - 0 - - - 1 - - - 2 - $WS_DIR/SourceBrowseLog.log - 0 - -1 - - - 34057 - 000000001700000080020000A8000000 - 00000000000000008002000091000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34059 - 00000000170000000601000078010000 - 0000000032000000DD01000002020000 - 4096 - 0 - 0 - 32767 - 0 - - - 1 - - - 0000000010000000000000000010000001000000FFFFFFFFFFFFFFFFDD01000032000000E101000002020000010000000200001004000000010000000AFFFFFFD70500000B85000000000000000000000000000000000000010000000B850000010000000B850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000098500000000000000000000000000000000000001000000098500000100000009850000000000000080000001000000FFFFFFFFFFFFFFFF00000000020200000406000006020000010000000100001004000000010000000EFDFFFF4E000000FFFFFFFF070000000885000001850000048500000585000006850000078500000A850000FFFF02000B004354616262656450616E650080000001000000000000002502000004060000590300000000000006020000040600003A030000000000004080005607000000FFFEFF1153006F0075007200630065002000420072006F0077007300650020004C006F006700010000000885000001000000FFFFFFFFFFFFFFFFFFFEFF054200750069006C006400010000000185000001000000FFFFFFFFFFFFFFFFFFFEFF0C4400650063006C00610072006100740069006F006E007300000000000485000001000000FFFFFFFFFFFFFFFFFFFEFF0A5200650066006500720065006E00630065007300000000000585000001000000FFFFFFFFFFFFFFFFFFFEFF0D460069006E006400200069006E002000460069006C0065007300000000000685000001000000FFFFFFFFFFFFFFFFFFFEFF1541006D0062006900670075006F0075007300200044006500660069006E006900740069006F006E007300000000000785000001000000FFFFFFFFFFFFFFFFFFFEFF0B54006F006F006C0020004F0075007400700075007400000000000A85000001000000FFFFFFFFFFFFFFFF01000000000000000000000000000000000000000000000001000000FFFFFFFF0885000001000000FFFFFFFF08850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000038500000000000000000000000000000000000001000000038500000100000003850000000000000080000000000000FFFFFFFFFFFFFFFF00000000000000000400000004000000000000000100000004000000010000000000000000000000028500000000000000000000000000000000000001000000028500000100000002850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000D85000000000000000000000000000000000000010000000D850000010000000D850000000000000080000000000000FFFFFFFFFFFFFFFF000000000000000004000000040000000000000001000000040000000100000000000000000000000C85000000000000000000000000000000000000010000000C850000010000000C850000000000000080000000000000FFFFFFFFFFFFFFFF00000000850200000406000089020000000000000100000004000000010000000000000000000000FFFFFFFF010000000E8500000180008000000000000000000000A802000004060000590300000000000089020000040600003A030000000000004080004601000000FFFEFF094400650062007500670020004C006F006700000000000E85000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFF0E85000001000000FFFFFFFF0E85000002000000FFFF02001200434D756C746950616E654672616D65576E6400010084000000001700000022010000C8000000000000000F85000002000000000000000F85000000000000000000000000000000000000010000000F850000048000010084000000001700000022010000C800000000000000108500000200000000000000108500000000000000000000000000000000000001000000108500000000000000000000 - - - Main - 00200000010000002000FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000035000000FFFEFF000000000000000000000000000100000001000000018001E100000000000036000000FFFEFF000000000000000000000000000100000001000000018003E100000000040038000000FFFEFF0000000000000000000000000001000000010000000180008100000000000019000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018007E10000000004003B000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000018023E10000000004003D000000FFFEFF000000000000000000000000000100000001000000018022E10000000004003C000000FFFEFF000000000000000000000000000100000001000000018025E10000000004003F000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001802BE100000000040042000000FFFEFF00000000000000000000000000010000000100000001802CE100000000040043000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6E4281000000000400FFFFFFFFFFFEFF0000000000000000000100000000000000010000007800000002002050FFFFFFFFFFFEFF0096000000000000001D00FFFEFF042E0065006E006400FFFEFF0C70007800430075007200720065006E007400540043004200FFFEFF076D00730074006100740075007300FFFEFF046D00650070006300FFFEFF066D0063006100750073006500FFFEFF095F005F00610072006D00200076006F006C00FFFEFF0D5F005F00610072006D00200076006F006C00610069006C006500FFFEFF0E5F005F00610073006D00200076006F006C006100740069006C006500FFFEFF056D007400760065006300FFFEFF1278005400610073006B0049006E006300720065006D0065006E0074005400690063006B00FFFEFF0870006F0072007400480041004E004400FFFEFF0470006F0072007400FFFEFF0363006C007A00FFFEFF095500530045005F0050004F00520054005F00FFFEFF1F700075006C006C004D0061006300680069006E006500540069006D006500720043006F006D00700061007200650052006500670069007300740065007200FFFEFF055F005F00610073006D00FFFEFF0C780049005300520053007400610063006B0054006F007000FFFEFF1A63006F006E006600690067004900530052005F0053005400410043004B005F00530049005A0045005F0057004F00520044005300FFFEFF1B75007800540069006D006500720049006E006300720065006D0065006E007400730046006F0072004F006E0065005400690063006B00FFFEFF107000720076005300650074007500700048006100720064007700610072006500FFFEFF0955004100520054005F005200450047005700FFFEFF0B55004100520054005F0054005800460055004C004C00FFFEFF164D004500540041004C005F005300490046004900560045005F00550041005200540030005F00440049005600FFFEFF194D004500540041004C005F005300490046004900560045005F00550041005200540030005F00540058004300540052004C00FFFEFF0F7400610073006B00520045005300450054005F0052004500410044005900FFFEFF0855004100520054005F00520045004700FFFEFF18700072007600530065007400750070005000650072006900700068006500720061006C00540069006D00650072007300FFFEFF06650062007200650061006B00FFFEFF0C63006F006E006600690067004100530053004500520054000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018021810000000004002C000000FFFEFF000000000000000000000000000100000001000000018024E10000000004003E000000FFFEFF000000000000000000000000000100000001000000018028E100000000040040000000FFFEFF000000000000000000000000000100000001000000018029E100000000040041000000FFFEFF000000000000000000000000000100000001000000018002810000000004001B000000FFFEFF0000000000000000000000000001000000010000000180298100000000040030000000FFFEFF000000000000000000000000000100000001000000018027810000000004002E000000FFFEFF000000000000000000000000000100000001000000018028810000000004002F000000FFFEFF00000000000000000000000000010000000100000001801D8100000000040028000000FFFEFF00000000000000000000000000010000000100000001801E8100000000040029000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800B810000000004001F000000FFFEFF00000000000000000000000000010000000100000001800D8100000000000021000000FFFEFF00000000000000000000000000010000000100000001805F8600000000000034000000FFFEFF00000000000000000000000000010000000100000001800000000001000000FFFFFFFFFFFEFF00000000000000000000000000010000000100000001800E8100000000000022000000FFFEFF00000000000000000000000000010000000100000001800F8100000000000023000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF044D00610069006E00E8020000 - - - 34048 - 0A0000000A0000006E0000006E000000 - 0000000000000000FE0200001A000000 - 8192 - 0 - 0 - 744 - 0 - - - 1 - - - 21 - 1494 - 2 - - 0 - -1 - - - 34062 - 000000001700000022010000C8000000 - 000000009D020000040600003A030000 - 4096 - 0 - 0 - 32767 - 0 - - - 0 - - - 34060 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34061 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 0 - 32767 - 0 - - - 0 - - - - 34063 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - Description - Interrupt - - - 250 - 150 - - - - 34064 - 000000001700000022010000C8000000 - 000000000000000022010000B1000000 - 32768 - 0 - 1 - 32767 - 0 - - - 0 - - - - Description - First Activation - Hold Time - Id - Interrupt - Probability (%) - Repeat Interval - Type - Variance (%) - - - 150 - 70 - 70 - 40 - 100 - 70 - 70 - 100 - 70 - - - - - 34001 - 0 - - - - CMSIS-Pack - 00200000010000000100FFFF01001100434D4643546F6F6C426172427574746F6ED1840000000000000C000000FFFEFF00000000000000000000000000010000000100000000000000FFFEFF0A43004D005300490053002D005000610063006B0018000000 - - - 34065 - 0A0000000A0000006E0000006E000000 - 0303000000000000310300001A000000 - 8192 - 0 - 0 - 24 - 0 - - - 1 - - - - - 010000000300000001000000000000000000000001000000010000000200000000000000010000000100000000000000280000002800000001000000080000000600000001000000FFFEFF332400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C0070006F0072007400610062006C0065005C004900410052005C0052004900530043002D0056005C0070006F0072007400410053004D002E00730001000000FFFF010014004966436F6E74656E7453746F72616765496D706CFFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003200350034003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00310032003300390036003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00310032003300390036003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0970006F0072007400410053004D002E00730000000000FFFFFFFFFFFFFFFFFFFEFF1D2400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C007400610073006B0073002E006300010000000180FFFEFF00FFFEFFFF2D013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0034003300300033003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E003100340035003700330037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E003100340035003700330037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF077400610073006B0073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF1D2400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C00710075006500750065002E006300010000000180FFFEFF00FFFEFFFF2B013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E0032003700340036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00390031003300380039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00390031003300380039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF07710075006500750065002E00630000000000FFFFFFFFFFFFFFFFFFFEFF1E2400570053005F0044004900520024005C002E002E005C002E002E005C0053006F0075007200630065005C00740069006D006500720073002E006300010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003700360036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00330030003300380039003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00330030003300380039003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF08740069006D006500720073002E00630000000000FFFFFFFFFFFFFFFFFFFEFF0F2400570053005F0044004900520024005C006D00610069006E002E006300010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00370036003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0033003900370037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0033003900370037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF066D00610069006E002E00630000000000FFFFFFFFFFFFFFFFFFFEFF192400570053005F0044004900520024005C004600720065006500520054004F00530043006F006E006600690067002E006800010000000180FFFEFF00FFFEFFFF27013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E00350038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0034003100340030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0034003100340030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF104600720065006500520054004F00530043006F006E006600690067002E00680000000000FFFFFFFFFFFFFFFFFFFEFF1E2400570053005F0044004900520024005C00660075006C006C005F00640065006D006F005C006D00610069006E005F00660075006C006C002E006300010000000180FFFEFF00FFFEFFFF28013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003100350037003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E0036003900320030003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E0036003900320030003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B6D00610069006E005F00660075006C006C002E00630000000000FFFFFFFFFFFFFFFFFFFEFF262400570053005F0044004900520024005C002E002E005C0043006F006D006D006F006E005C004D0069006E0069006D0061006C005C00540069006D0065007200440065006D006F002E006300010000000180FFFEFF00FFFEFFFF2A013C003F0078006D006C002000760065007200730069006F006E003D00220031002E0030002200200065006E0063006F00640069006E0067003D0022005500540046002D00380022003F003E000A003C0052006F006F0074003E000A0020002000200020003C004E0075006D0052006F00770073003E0031003C002F004E0075006D0052006F00770073003E000A0020002000200020003C004E0075006D0043006F006C0073003E0031003C002F004E0075006D0043006F006C0073003E000A0020002000200020003C00580050006F0073003E0030003C002F00580050006F0073003E000A0020002000200020003C00590050006F0073003E0030003C002F00590050006F0073003E000A0020002000200020003C00530065006C00530074006100720074003E0030003C002F00530065006C00530074006100720074003E000A0020002000200020003C00530065006C0045006E0064003E0030003C002F00530065006C0045006E0064003E000A0020002000200020003C00580050006F00730032003E0030003C002F00580050006F00730032003E000A0020002000200020003C00590050006F00730032003E003600380038003C002F00590050006F00730032003E000A0020002000200020003C00530065006C005300740061007200740032003E00320039003300390037003C002F00530065006C005300740061007200740032003E000A0020002000200020003C00530065006C0045006E00640032003E00320039003300390037003C002F00530065006C0045006E00640032003E000A003C002F0052006F006F0074003E000A00FFFEFF0B540069006D0065007200440065006D006F002E00630000000000FFFFFFFFFFFFFFFF0000000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000100000002000000E1010000510000000406000021020000 - - - -