├── .travis.yml
├── FreeRTOS_on_Mi-V_Processor
├── README.md
└── miv-rv32im-freertos-port-test
│ ├── .cproject
│ ├── .gitignore
│ ├── .project
│ ├── FreeRTOS
│ ├── croutine.c
│ ├── event_groups.c
│ ├── include
│ │ ├── FreeRTOS.h
│ │ ├── FreeRTOS.h.gch
│ │ ├── StackMacros.h
│ │ ├── croutine.h
│ │ ├── deprecated_definitions.h
│ │ ├── event_groups.h
│ │ ├── list.h
│ │ ├── mpu_prototypes.h
│ │ ├── mpu_wrappers.h
│ │ ├── portable.h
│ │ ├── projdefs.h
│ │ ├── queue.h
│ │ ├── semphr.h
│ │ ├── stdint.readme
│ │ ├── task.h
│ │ └── timers.h
│ ├── list.c
│ ├── portable
│ │ ├── GCC
│ │ │ └── RISCV
│ │ │ │ ├── port.c
│ │ │ │ ├── portasm.S
│ │ │ │ └── portmacro.h
│ │ ├── MemMang
│ │ │ ├── ReadMe.url
│ │ │ ├── heap_1.c
│ │ │ ├── heap_2.c
│ │ │ ├── heap_3.c
│ │ │ ├── heap_4.c
│ │ │ └── heap_5.c
│ │ └── readme.txt
│ ├── queue.c
│ ├── readme.txt
│ ├── string.c
│ ├── tasks.c
│ └── timers.c
│ ├── FreeRTOSConfig.h
│ ├── README.md
│ ├── drivers
│ ├── Core16550
│ │ ├── core16550_regs.h
│ │ ├── core_16550.c
│ │ └── core_16550.h
│ ├── CoreGPIO
│ │ ├── core_gpio.c
│ │ ├── core_gpio.h
│ │ └── coregpio_regs.h
│ ├── CoreI2C
│ │ ├── core_i2c.c
│ │ ├── core_i2c.h
│ │ ├── core_smbus_regs.h
│ │ └── i2c_interrupt.c
│ ├── CoreTimer
│ │ ├── core_timer.c
│ │ ├── core_timer.h
│ │ └── coretimer_regs.h
│ └── CoreUARTapb
│ │ ├── core_uart_apb.c
│ │ ├── core_uart_apb.h
│ │ └── coreuartapb_regs.h
│ ├── hal
│ ├── cpu_types.h
│ ├── hal.h
│ ├── hal_assert.h
│ ├── hal_irq.c
│ ├── hw_macros.h
│ ├── hw_reg_access.S
│ └── hw_reg_access.h
│ ├── hw_platform.h
│ ├── main.c
│ ├── miv-rv32im-freertos-port-test Attach-to-Renode.launch
│ ├── miv-rv32im-freertos-port-test Debug.launch
│ ├── miv-rv32im-freertos-port-test Start-Renode-emulator-and-attach.launch
│ └── riscv_hal
│ ├── encoding.h
│ ├── entry.S
│ ├── init.c
│ ├── microsemi-riscv-igloo2.ld
│ ├── microsemi-riscv-ram.ld
│ ├── riscv_hal.c
│ ├── riscv_hal.h
│ ├── riscv_hal_stubs.c
│ ├── riscv_plic.h
│ ├── sample_hw_platform.h
│ └── syscall.c
├── FreeRTOS_on_Spike
├── Demo
│ ├── Common
│ │ ├── Full
│ │ │ ├── BlockQ.c
│ │ │ ├── PollQ.c
│ │ │ ├── comtest.c
│ │ │ ├── death.c
│ │ │ ├── dynamic.c
│ │ │ ├── events.c
│ │ │ ├── flash.c
│ │ │ ├── flop.c
│ │ │ ├── integer.c
│ │ │ ├── print.c
│ │ │ └── semtest.c
│ │ ├── Minimal
│ │ │ ├── AltBlckQ.c
│ │ │ ├── AltBlock.c
│ │ │ ├── AltPollQ.c
│ │ │ ├── AltQTest.c
│ │ │ ├── BlockQ.c
│ │ │ ├── EventGroupsDemo.c
│ │ │ ├── GenQTest.c
│ │ │ ├── IntQueue.c
│ │ │ ├── IntSemTest.c
│ │ │ ├── PollQ.c
│ │ │ ├── QPeek.c
│ │ │ ├── QueueOverwrite.c
│ │ │ ├── QueueSet.c
│ │ │ ├── QueueSetPolling.c
│ │ │ ├── TaskNotify.c
│ │ │ ├── TimerDemo.c
│ │ │ ├── blocktim.c
│ │ │ ├── comtest.c
│ │ │ ├── comtest_strings.c
│ │ │ ├── countsem.c
│ │ │ ├── crflash.c
│ │ │ ├── crhook.c
│ │ │ ├── death.c
│ │ │ ├── dynamic.c
│ │ │ ├── flash.c
│ │ │ ├── flash_timer.c
│ │ │ ├── flop.c
│ │ │ ├── integer.c
│ │ │ ├── recmutex.c
│ │ │ ├── semtest.c
│ │ │ └── sp_flop.c
│ │ └── include
│ │ │ ├── AltBlckQ.h
│ │ │ ├── AltBlock.h
│ │ │ ├── AltPollQ.h
│ │ │ ├── AltQTest.h
│ │ │ ├── BlockQ.h
│ │ │ ├── EventGroupsDemo.h
│ │ │ ├── GenQTest.h
│ │ │ ├── IntQueue.h
│ │ │ ├── IntSemTest.h
│ │ │ ├── PollQ.h
│ │ │ ├── QPeek.h
│ │ │ ├── QueueOverwrite.h
│ │ │ ├── QueueSet.h
│ │ │ ├── QueueSetPolling.h
│ │ │ ├── TaskNotify.h
│ │ │ ├── TimerDemo.h
│ │ │ ├── blocktim.h
│ │ │ ├── comtest.h
│ │ │ ├── comtest2.h
│ │ │ ├── comtest_strings.h
│ │ │ ├── countsem.h
│ │ │ ├── crflash.h
│ │ │ ├── crhook.h
│ │ │ ├── death.h
│ │ │ ├── dynamic.h
│ │ │ ├── fileIO.h
│ │ │ ├── flash.h
│ │ │ ├── flash_timer.h
│ │ │ ├── flop.h
│ │ │ ├── integer.h
│ │ │ ├── mevents.h
│ │ │ ├── partest.h
│ │ │ ├── print.h
│ │ │ ├── recmutex.h
│ │ │ ├── semtest.h
│ │ │ └── serial.h
│ └── riscv-spike
│ │ ├── Makefile
│ │ ├── Makefile.inc
│ │ ├── arch
│ │ ├── boot.S
│ │ ├── clib.c
│ │ ├── clib.h
│ │ ├── link.ld
│ │ ├── syscalls.c
│ │ └── syscalls.h
│ │ ├── conf
│ │ └── FreeRTOSConfig.h
│ │ └── main.c
├── README.md
└── Source
│ ├── croutine.c
│ ├── event_groups.c
│ ├── include
│ ├── FreeRTOS.h
│ ├── FreeRTOS.h.gch
│ ├── StackMacros.h
│ ├── croutine.h
│ ├── deprecated_definitions.h
│ ├── event_groups.h
│ ├── list.h
│ ├── mpu_wrappers.h
│ ├── portable.h
│ ├── projdefs.h
│ ├── queue.h
│ ├── semphr.h
│ ├── stdint.readme
│ ├── task.h
│ └── timers.h
│ ├── list.c
│ ├── portable
│ ├── GCC
│ │ └── RISCV
│ │ │ ├── port.c
│ │ │ ├── portasm.S
│ │ │ └── portmacro.h
│ ├── MemMang
│ │ ├── ReadMe.url
│ │ ├── heap_1.c
│ │ ├── heap_2.c
│ │ ├── heap_3.c
│ │ ├── heap_4.c
│ │ └── heap_5.c
│ └── readme.txt
│ ├── queue.c
│ ├── readme.txt
│ ├── string.c
│ ├── tasks.c
│ └── timers.c
└── README.md
/.travis.yml:
--------------------------------------------------------------------------------
1 | sudo: required
2 | language: generic
3 | script:
4 | - docker run -v ${TRAVIS_BUILD_DIR}:/projects microsemiproess/softconsole-headless-slim:5.3 bash -c "sch -i=/projects"
5 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/README.md:
--------------------------------------------------------------------------------
1 | ## FreeRTOS port on Mi-V Soft Processors
2 | This Folder contains the FreeRTOS example projects running on the Mi-V Soft Processors (RV32).
3 | Refer the README.md in each project folder for more details.
4 |
5 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/.gitignore:
--------------------------------------------------------------------------------
1 | /Debug/
2 | /Release/
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | miv-rv32im-freertos-port-test
4 |
5 |
6 |
7 |
8 |
9 | org.eclipse.cdt.managedbuilder.core.genmakebuilder
10 | clean,full,incremental,
11 |
12 |
13 |
14 |
15 | org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
16 | full,incremental,
17 |
18 |
19 |
20 |
21 |
22 | org.eclipse.cdt.core.cnature
23 | org.eclipse.cdt.managedbuilder.core.managedBuildNature
24 | org.eclipse.cdt.managedbuilder.core.ScannerConfigNature
25 |
26 |
27 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/FreeRTOS/include/FreeRTOS.h.gch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RISCV-on-Microsemi-FPGA/FreeRTOS/7af2b761c0775ee7663cc643d13f5a3eb610cd21/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/FreeRTOS/include/FreeRTOS.h.gch
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/FreeRTOS/include/stdint.readme:
--------------------------------------------------------------------------------
1 |
2 | #ifndef FREERTOS_STDINT
3 | #define FREERTOS_STDINT
4 |
5 | /*******************************************************************************
6 | * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions
7 | * necessary to build the FreeRTOS code. It is provided to allow FreeRTOS to be
8 | * built using compilers that do not provide their own stdint.h definition.
9 | *
10 | * To use this file:
11 | *
12 | * 1) Copy this file into the directory that contains your FreeRTOSConfig.h
13 | * header file, as that directory will already be in the compilers include
14 | * path.
15 | *
16 | * 2) Rename the copied file stdint.h.
17 | *
18 | */
19 |
20 | typedef signed char int8_t;
21 | typedef unsigned char uint8_t;
22 | typedef short int16_t;
23 | typedef unsigned short uint16_t;
24 | typedef long int32_t;
25 | typedef unsigned long uint32_t;
26 |
27 | #endif /* FREERTOS_STDINT */
28 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/FreeRTOS/portable/MemMang/ReadMe.url:
--------------------------------------------------------------------------------
1 | [{000214A0-0000-0000-C000-000000000046}]
2 | Prop3=19,2
3 | [InternetShortcut]
4 | URL=http://www.freertos.org/a00111.html
5 | IDList=
6 | IconFile=http://www.freertos.org/favicon.ico
7 | IconIndex=1
8 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/FreeRTOS/portable/readme.txt:
--------------------------------------------------------------------------------
1 | Each real time kernel port consists of three files that contain the core kernel
2 | components and are common to every port, and one or more files that are
3 | specific to a particular microcontroller and/or compiler.
4 |
5 |
6 | + The FreeRTOS/Source/Portable/MemMang directory contains the five sample
7 | memory allocators as described on the http://www.FreeRTOS.org WEB site.
8 |
9 | + The other directories each contain files specific to a particular
10 | microcontroller or compiler, where the directory name denotes the compiler
11 | specific files the directory contains.
12 |
13 |
14 |
15 | For example, if you are interested in the [compiler] port for the [architecture]
16 | microcontroller, then the port specific files are contained in
17 | FreeRTOS/Source/Portable/[compiler]/[architecture] directory. If this is the
18 | only port you are interested in then all the other directories can be
19 | ignored.
20 |
21 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/FreeRTOS/readme.txt:
--------------------------------------------------------------------------------
1 | Each real time kernel port consists of three files that contain the core kernel
2 | components and are common to every port, and one or more files that are
3 | specific to a particular microcontroller and or compiler.
4 |
5 | + The FreeRTOS/Source directory contains the three files that are common to
6 | every port - list.c, queue.c and tasks.c. The kernel is contained within these
7 | three files. croutine.c implements the optional co-routine functionality - which
8 | is normally only used on very memory limited systems.
9 |
10 | + The FreeRTOS/Source/Portable directory contains the files that are specific to
11 | a particular microcontroller and or compiler.
12 |
13 | + The FreeRTOS/Source/include directory contains the real time kernel header
14 | files.
15 |
16 | See the readme file in the FreeRTOS/Source/Portable directory for more
17 | information.
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/FreeRTOS/string.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | void* memcpy(void* dest, const void* src, size_t len)
6 | {
7 | const char* s = src;
8 | char *d = dest;
9 |
10 | if ((((uintptr_t)dest | (uintptr_t)src) & (sizeof(uintptr_t)-1)) == 0) {
11 | while ((void*)d < (dest + len - (sizeof(uintptr_t)-1))) {
12 | *(uintptr_t*)d = *(const uintptr_t*)s;
13 | d += sizeof(uintptr_t);
14 | s += sizeof(uintptr_t);
15 | }
16 | }
17 |
18 | while (d < (char*)(dest + len))
19 | *d++ = *s++;
20 |
21 | return dest;
22 | }
23 |
24 | void* memset(void* dest, int byte, size_t len)
25 | {
26 | if ((((uintptr_t)dest | len) & (sizeof(uintptr_t)-1)) == 0) {
27 | uintptr_t word = byte & 0xFF;
28 | word |= word << 8;
29 | word |= word << 16;
30 | word |= word << 16 << 16;
31 |
32 | uintptr_t *d = dest;
33 | while (d < (uintptr_t*)(dest + len))
34 | *d++ = word;
35 | } else {
36 | char *d = dest;
37 | while (d < (char*)(dest + len))
38 | *d++ = byte;
39 | }
40 | return dest;
41 | }
42 |
43 | size_t strlen(const char *s)
44 | {
45 | const char *p = s;
46 | while (*p)
47 | p++;
48 | return p - s;
49 | }
50 |
51 | int strcmp(const char* s1, const char* s2)
52 | {
53 | unsigned char c1, c2;
54 |
55 | do {
56 | c1 = *s1++;
57 | c2 = *s2++;
58 | } while (c1 != 0 && c1 == c2);
59 |
60 | return c1 - c2;
61 | }
62 |
63 | char* strcpy(char* dest, const char* src)
64 | {
65 | char* d = dest;
66 | while ((*d++ = *src++))
67 | ;
68 | return dest;
69 | }
70 |
71 | long atol(const char* str)
72 | {
73 | long res = 0;
74 | int sign = 0;
75 |
76 | while (*str == ' ')
77 | str++;
78 |
79 | if (*str == '-' || *str == '+') {
80 | sign = *str == '-';
81 | str++;
82 | }
83 |
84 | while (*str) {
85 | res *= 10;
86 | res += *str++ - '0';
87 | }
88 |
89 | return sign ? -res : res;
90 | }
91 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/README.md:
--------------------------------------------------------------------------------
1 | ## FreeRTOS port for Mi-V Soft Processor
2 |
3 | ### HW Platform and FPGA design:
4 | This project is tested on following hardware platforms:
5 |
6 | RISCV-Creative-Board
7 | - [RISC-V Creative board Mi-V Sample Design](https://github.com/RISCV-on-Microsemi-FPGA/RISC-V-Creative-Board/tree/master/Programming_The_Target_Device/PROC_SUBSYSTEM_MIV_RV32IMA_BaseDesign)
8 |
9 | PolarFire-Eval-Kit
10 | - [PolarFire Eval Kit RISC-V Sample Design](https://github.com/RISCV-on-Microsemi-FPGA/PolarFire-Eval-Kit/tree/master/Programming_The_Target_Device/PF_MIV_RV32IMA_L1_AHB_BaseDesign)
11 |
12 | SmartFusion2-Advanced-Dev-Kit
13 | - [SmartFusion2 Advanced Development Kit RISC-V Sample Design](https://github.com/RISCV-on-Microsemi-FPGA/SmartFusion2-Advanced-Dev-Kit/tree/master/Programming_The_Target_Device/PROC_SUBSYSTEM_MIV_RV32IMA_BaseDesign)
14 |
15 | ### How to run the FreeRTOS RISC-V port:
16 | To know how to use the SoftConsole workspace, please refer the [Readme.md](https://github.com/RISCV-on-Microsemi-FPGA/SoftConsole/blob/master/README.md)
17 |
18 | The miv-rv32im-freertos-port-test is a self contained project. This project demonstrates
19 | the FreeRTOS running with Microsemi RISC-V processor. This project creates two
20 | tasks and runs them at regular intervals.
21 |
22 | This example project requires USB-UART interface to be connected to a host PC.
23 | The host PC must connect to the serial port using a terminal emulator such as
24 | TeraTerm or PuTTY configured as follows:
25 |
26 | - 115200 baud
27 | - 8 data bits
28 | - 1 stop bit
29 | - no parity
30 | - no flow control
31 |
32 | The ./hw_platform.h file contains the design related information that is required
33 | for this project. If you update the design, the hw_platform.h must be updated
34 | accordingly.
35 |
36 | ### FreeRTOS Configurations
37 | You must configure the FreeRTOS as per your applications need. Please read and modify FreeRTOSConfig.h.
38 | E.g. You must set configCPU_CLOCK_HZ parameter in FreeRTOSConfig.h according to the hardware platform
39 | design that you are using.
40 |
41 | The RISC-V creative board design uses 66Mhz processor clock. The PolarFire Eval Kit design uses 50Mhz processor clock. The SmartFusion2 Adv. Development kit design uses 83Mhz processor clock.
42 |
43 | ### Microsemi SoftConsole Toolchain
44 | To know more please refer: [SoftConsole](https://github.com/RISCV-on-Microsemi-FPGA/SoftConsole)
45 |
46 | ### Documentation for Microsemi RISC-V processor, SoftConsole toochain, Debug Tools, FPGA design etc.
47 | To know more please refer: [Documentation](https://github.com/RISCV-on-Microsemi-FPGA/Documentation)
48 |
49 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/Core16550/core_16550.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RISCV-on-Microsemi-FPGA/FreeRTOS/7af2b761c0775ee7663cc643d13f5a3eb610cd21/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/Core16550/core_16550.h
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreGPIO/coregpio_regs.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2009-2015 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * SVN $Revision: 7964 $
5 | * SVN $Date: 2015-10-09 18:26:53 +0530 (Fri, 09 Oct 2015) $
6 | */
7 | #ifndef __CORE_GPIO_REGISTERS_H
8 | #define __CORE_GPIO_REGISTERS_H 1
9 |
10 | /*------------------------------------------------------------------------------
11 | *
12 | */
13 | #define IRQ_REG_OFFSET 0x80
14 |
15 | #define IRQ0_REG_OFFSET 0x80
16 | #define IRQ1_REG_OFFSET 0x84
17 | #define IRQ2_REG_OFFSET 0x88
18 | #define IRQ3_REG_OFFSET 0x8C
19 |
20 | /*------------------------------------------------------------------------------
21 | *
22 | */
23 | #define GPIO_IN_REG_OFFSET 0x90
24 |
25 | #define GPIO_IN0_REG_OFFSET 0x90
26 | #define GPIO_IN1_REG_OFFSET 0x94
27 | #define GPIO_IN2_REG_OFFSET 0x98
28 | #define GPIO_IN3_REG_OFFSET 0x9C
29 |
30 | /*------------------------------------------------------------------------------
31 | *
32 | */
33 | #define GPIO_OUT_REG_OFFSET 0xA0
34 |
35 | #define GPIO_OUT0_REG_OFFSET 0xA0
36 | #define GPIO_OUT1_REG_OFFSET 0xA4
37 | #define GPIO_OUT2_REG_OFFSET 0xA8
38 | #define GPIO_OUT3_REG_OFFSET 0xAC
39 |
40 | #endif /* __CORE_GPIO_REGISTERS_H */
41 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreI2C/core_i2c.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RISCV-on-Microsemi-FPGA/FreeRTOS/7af2b761c0775ee7663cc643d13f5a3eb610cd21/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreI2C/core_i2c.h
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreI2C/core_smbus_regs.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2009-2015 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * SVN $Revision: 7984 $
5 | * SVN $Date: 2015-10-12 12:07:40 +0530 (Mon, 12 Oct 2015) $
6 | */
7 |
8 | #ifndef __CORE_SMBUS_REGISTERS
9 | #define __CORE_SMBUS_REGISTERS 1
10 |
11 | /*------------------------------------------------------------------------------
12 | * CONTROL register details
13 | */
14 | #define CONTROL_REG_OFFSET 0x00u
15 |
16 | /*
17 | * CR0 bits.
18 | */
19 | #define CR0_OFFSET 0x00u
20 | #define CR0_MASK 0x01u
21 | #define CR0_SHIFT 0u
22 |
23 | /*
24 | * CR1 bits.
25 | */
26 | #define CR1_OFFSET 0x00u
27 | #define CR1_MASK 0x02u
28 | #define CR1_SHIFT 1u
29 |
30 | /*
31 | * AA bits.
32 | */
33 | #define AA_OFFSET 0x00u
34 | #define AA_MASK 0x04u
35 | #define AA_SHIFT 2u
36 |
37 | /*
38 | * SI bits.
39 | */
40 | #define SI_OFFSET 0x00u
41 | #define SI_MASK 0x08u
42 | #define SI_SHIFT 3u
43 |
44 | /*
45 | * STO bits.
46 | */
47 | #define STO_OFFSET 0x00u
48 | #define STO_MASK 0x10u
49 | #define STO_SHIFT 4u
50 |
51 | /*
52 | * STA bits.
53 | */
54 | #define STA_OFFSET 0x00u
55 | #define STA_MASK 0x20u
56 | #define STA_SHIFT 5u
57 |
58 | /*
59 | * ENS1 bits.
60 | */
61 | #define ENS1_OFFSET 0x00u
62 | #define ENS1_MASK 0x40u
63 | #define ENS1_SHIFT 6u
64 |
65 | /*
66 | * CR2 bits.
67 | */
68 | #define CR2_OFFSET 0x00u
69 | #define CR2_MASK 0x80u
70 | #define CR2_SHIFT 7u
71 |
72 | /*------------------------------------------------------------------------------
73 | * STATUS register details
74 | */
75 | #define STATUS_REG_OFFSET 0x04u
76 |
77 | /*------------------------------------------------------------------------------
78 | * DATA register details
79 | */
80 | #define DATA_REG_OFFSET 0x08u
81 |
82 | /*
83 | * TARGET_ADDR bits.
84 | */
85 | #define TARGET_ADDR_OFFSET 0x08u
86 | #define TARGET_ADDR_MASK 0xFEu
87 | #define TARGET_ADDR_SHIFT 1u
88 |
89 | /*
90 | * DIR bit.
91 | */
92 | #define DIR_OFFSET 0x08u
93 | #define DIR_MASK 0x01u
94 | #define DIR_SHIFT 0u
95 |
96 |
97 | /*------------------------------------------------------------------------------
98 | * ADDRESS register details
99 | */
100 | #define ADDRESS_REG_OFFSET 0x0Cu
101 |
102 | /*
103 | * GC bits.
104 | */
105 | #define GC_OFFSET 0x0Cu
106 | #define GC_MASK 0x01u
107 | #define GC_SHIFT 0u
108 |
109 | /*
110 | * ADR bits.
111 | */
112 | #define OWN_SLAVE_ADDR_OFFSET 0x0Cu
113 | #define OWN_SLAVE_ADDR_MASK 0xFEu
114 | #define OWN_SLAVE_ADDR_SHIFT 1u
115 |
116 | /*------------------------------------------------------------------------------
117 | * SMBUS register details
118 | */
119 | #define SMBUS_REG_OFFSET 0x10u
120 |
121 | /*
122 | * SMBALERT_IE bits.
123 | */
124 | #define SMBALERT_IE_OFFSET 0x10u
125 | #define SMBALERT_IE_MASK 0x01u
126 | #define SMBALERT_IE_SHIFT 0u
127 |
128 | /*
129 | * SMBSUS_IE bits.
130 | */
131 | #define SMBSUS_IE_OFFSET 0x10u
132 | #define SMBSUS_IE_MASK 0x02u
133 | #define SMBSUS_IE_SHIFT 1u
134 |
135 | /*
136 | * SMB_IPMI_EN bits.
137 | */
138 | #define SMB_IPMI_EN_OFFSET 0x10u
139 | #define SMB_IPMI_EN_MASK 0x04u
140 | #define SMB_IPMI_EN_SHIFT 2u
141 |
142 | /*
143 | * SMBALERT_NI_STATUS bits.
144 | */
145 | #define SMBALERT_NI_STATUS_OFFSET 0x10u
146 | #define SMBALERT_NI_STATUS_MASK 0x08u
147 | #define SMBALERT_NI_STATUS_SHIFT 3u
148 |
149 | /*
150 | * SMBALERT_NO_CONTROL bits.
151 | */
152 | #define SMBALERT_NO_CONTROL_OFFSET 0x10u
153 | #define SMBALERT_NO_CONTROL_MASK 0x10u
154 | #define SMBALERT_NO_CONTROL_SHIFT 4u
155 |
156 | /*
157 | * SMBSUS_NI_STATUS bits.
158 | */
159 | #define SMBSUS_NI_STATUS_OFFSET 0x10u
160 | #define SMBSUS_NI_STATUS_MASK 0x20u
161 | #define SMBSUS_NI_STATUS_SHIFT 5u
162 |
163 | /*
164 | * SMBSUS_NO_CONTROL bits.
165 | */
166 | #define SMBSUS_NO_CONTROL_OFFSET 0x10u
167 | #define SMBSUS_NO_CONTROL_MASK 0x40u
168 | #define SMBSUS_NO_CONTROL_SHIFT 6u
169 |
170 | /*
171 | * SMBUS_MST_RESET bits.
172 | */
173 | #define SMBUS_MST_RESET_OFFSET 0x10u
174 | #define SMBUS_MST_RESET_MASK 0x80u
175 | #define SMBUS_MST_RESET_SHIFT 7u
176 |
177 | /*------------------------------------------------------------------------------
178 | * SLAVE ADDRESS 1 register details
179 | */
180 |
181 | #define ADDRESS1_REG_OFFSET 0x1Cu
182 |
183 | /*
184 | * SLAVE1_EN bit of Slave Address 1 .
185 | */
186 | #define SLAVE1_EN_OFFSET 0x1Cu
187 | #define SLAVE1_EN_MASK 0x01u
188 | #define SLAVE1_EN_SHIFT 0u
189 |
190 | #endif /* __CORE_SMBUS_REGISTERS */
191 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreI2C/i2c_interrupt.c:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2009-2015 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * CoreI2C driver interrupt control.
5 | *
6 | * SVN $Revision: 7984 $
7 | * SVN $Date: 2015-10-12 12:07:40 +0530 (Mon, 12 Oct 2015) $
8 | */
9 | #include "hal.h"
10 | #include "hal_assert.h"
11 | #include "core_i2c.h"
12 | #include "riscv_hal.h"
13 |
14 |
15 | #define I2C_IRQn External_29_IRQn
16 |
17 | /*------------------------------------------------------------------------------
18 | * This function must be modified to enable interrupts generated from the
19 | * CoreI2C instance identified as parameter.
20 | */
21 | void I2C_enable_irq( i2c_instance_t * this_i2c )
22 | {
23 | PLIC_EnableIRQ(I2C_IRQn);
24 | // HAL_ASSERT(0)
25 | }
26 |
27 | /*------------------------------------------------------------------------------
28 | * This function must be modified to disable interrupts generated from the
29 | * CoreI2C instance identified as parameter.
30 | */
31 | void I2C_disable_irq( i2c_instance_t * this_i2c )
32 | {
33 | PLIC_DisableIRQ(I2C_IRQn);
34 | // HAL_ASSERT(0)
35 | }
36 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreTimer/core_timer.c:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2007-2015 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * CoreTimer driver implementation.
5 | *
6 | * SVN $Revision: 7967 $
7 | * SVN $Date: 2015-10-09 18:48:26 +0530 (Fri, 09 Oct 2015) $
8 | */
9 |
10 | #include "core_timer.h"
11 | #include "coretimer_regs.h"
12 | #include "hal.h"
13 | #include "hal_assert.h"
14 |
15 | #ifndef NDEBUG
16 | static timer_instance_t* NULL_timer_instance;
17 | #endif
18 |
19 | /***************************************************************************//**
20 | * TMR_init()
21 | * See "core_timer.h" for details of how to use this function.
22 | */
23 | void
24 | TMR_init
25 | (
26 | timer_instance_t * this_timer,
27 | addr_t address,
28 | uint8_t mode,
29 | uint32_t prescale,
30 | uint32_t load_value
31 | )
32 | {
33 | HAL_ASSERT( this_timer != NULL_timer_instance )
34 | HAL_ASSERT( prescale <= PRESCALER_DIV_1024 )
35 | HAL_ASSERT( load_value != 0 )
36 |
37 | this_timer->base_address = address;
38 |
39 | /* Disable interrupts. */
40 | HAL_set_32bit_reg_field( address, InterruptEnable,0 );
41 |
42 | /* Disable timer. */
43 | HAL_set_32bit_reg_field( address, TimerEnable, 0 );
44 |
45 | /* Clear pending interrupt. */
46 | HAL_set_32bit_reg( address, TimerIntClr, 1 );
47 |
48 | /* Configure prescaler and load value. */
49 | HAL_set_32bit_reg( address, TimerPrescale, prescale );
50 | HAL_set_32bit_reg( address, TimerLoad, load_value );
51 |
52 | /* Set the interrupt mode. */
53 | if ( mode == TMR_CONTINUOUS_MODE )
54 | {
55 | HAL_set_32bit_reg_field( address, TimerMode, 0 );
56 | }
57 | else
58 | {
59 | /* TMR_ONE_SHOT_MODE */
60 | HAL_set_32bit_reg_field( address, TimerMode, 1 );
61 | }
62 | }
63 |
64 | /***************************************************************************//**
65 | * TMR_start()
66 | * See "core_timer.h" for details of how to use this function.
67 | */
68 | void
69 | TMR_start
70 | (
71 | timer_instance_t * this_timer
72 | )
73 | {
74 | HAL_ASSERT( this_timer != NULL_timer_instance )
75 |
76 | HAL_set_32bit_reg_field( this_timer->base_address, TimerEnable, 1 );
77 | }
78 |
79 | /***************************************************************************//**
80 | * TMR_stop()
81 | * See "core_timer.h" for details of how to use this function.
82 | */
83 | void
84 | TMR_stop
85 | (
86 | timer_instance_t * this_timer
87 | )
88 | {
89 | HAL_ASSERT( this_timer != NULL_timer_instance )
90 |
91 | HAL_set_32bit_reg_field( this_timer->base_address, TimerEnable, 0 );
92 | }
93 |
94 |
95 | /***************************************************************************//**
96 | * TMR_enable_int()
97 | * See "core_timer.h" for details of how to use this function.
98 | */
99 | void
100 | TMR_enable_int
101 | (
102 | timer_instance_t * this_timer
103 | )
104 | {
105 | HAL_ASSERT( this_timer != NULL_timer_instance )
106 |
107 | HAL_set_32bit_reg_field( this_timer->base_address, InterruptEnable, 1 );
108 | }
109 |
110 | /***************************************************************************//**
111 | * TMR_clear_int()
112 | * See "core_timer.h" for details of how to use this function.
113 | */
114 | void
115 | TMR_clear_int
116 | (
117 | timer_instance_t * this_timer
118 | )
119 | {
120 | HAL_ASSERT( this_timer != NULL_timer_instance )
121 |
122 | HAL_set_32bit_reg( this_timer->base_address, TimerIntClr, 0x01 );
123 | }
124 |
125 | /***************************************************************************//**
126 | * TMR_current_value()
127 | * See "core_timer.h" for details of how to use this function.
128 | */
129 | uint32_t
130 | TMR_current_value
131 | (
132 | timer_instance_t * this_timer
133 | )
134 | {
135 | uint32_t value = 0;
136 | HAL_ASSERT( this_timer != NULL_timer_instance )
137 |
138 | value = HAL_get_32bit_reg( this_timer->base_address, TimerValue );
139 |
140 | return value;
141 | }
142 |
143 | /***************************************************************************//**
144 | * TMR_reload()
145 | * See "core_timer.h" for details of how to use this function.
146 | */
147 | void TMR_reload
148 | (
149 | timer_instance_t * this_timer,
150 | uint32_t load_value
151 | )
152 | {
153 | HAL_ASSERT( this_timer != NULL_timer_instance )
154 | HAL_ASSERT( load_value != 0 )
155 |
156 | HAL_set_32bit_reg(this_timer->base_address, TimerLoad, load_value );
157 | }
158 |
159 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreTimer/core_timer.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RISCV-on-Microsemi-FPGA/FreeRTOS/7af2b761c0775ee7663cc643d13f5a3eb610cd21/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreTimer/core_timer.h
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreTimer/coretimer_regs.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2007-2015 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * SVN $Revision: 7967 $
5 | * SVN $Date: 2015-10-09 18:48:26 +0530 (Fri, 09 Oct 2015) $
6 | */
7 |
8 | #ifndef __CORE_TIMER_REGISTERS
9 | #define __CORE_TIMER_REGISTERS 1
10 |
11 | /*------------------------------------------------------------------------------
12 | * TimerLoad register details
13 | */
14 | #define TimerLoad_REG_OFFSET 0x00
15 |
16 | /*
17 | * LoadValue bits.
18 | */
19 | #define LoadValue_OFFSET 0x00
20 | #define LoadValue_MASK 0xFFFFFFFF
21 | #define LoadValue_SHIFT 0
22 |
23 | /*------------------------------------------------------------------------------
24 | * TimerValue register details
25 | */
26 | #define TimerValue_REG_OFFSET 0x04
27 |
28 | /*
29 | * CurrentValue bits.
30 | */
31 | #define CurrentValue_OFFSET 0x04
32 | #define CurrentValue_MASK 0xFFFFFFFF
33 | #define CurrentValue_SHIFT 0
34 |
35 | /*------------------------------------------------------------------------------
36 | * TimerControl register details
37 | */
38 | #define TimerControl_REG_OFFSET 0x08
39 |
40 | /*
41 | * TimerEnable bits.
42 | */
43 | #define TimerEnable_OFFSET 0x08
44 | #define TimerEnable_MASK 0x00000001
45 | #define TimerEnable_SHIFT 0
46 |
47 | /*
48 | * InterruptEnable bits.
49 | */
50 | #define InterruptEnable_OFFSET 0x08
51 | #define InterruptEnable_MASK 0x00000002
52 | #define InterruptEnable_SHIFT 1
53 |
54 | /*
55 | * TimerMode bits.
56 | */
57 | #define TimerMode_OFFSET 0x08
58 | #define TimerMode_MASK 0x00000004
59 | #define TimerMode_SHIFT 2
60 |
61 | /*------------------------------------------------------------------------------
62 | * TimerPrescale register details
63 | */
64 | #define TimerPrescale_REG_OFFSET 0x0C
65 |
66 | /*
67 | * Prescale bits.
68 | */
69 | #define Prescale_OFFSET 0x0C
70 | #define Prescale_MASK 0x0000000F
71 | #define Prescale_SHIFT 0
72 |
73 | /*------------------------------------------------------------------------------
74 | * TimerIntClr register details
75 | */
76 | #define TimerIntClr_REG_OFFSET 0x10
77 |
78 | /*
79 | * TimerIntClr bits.
80 | */
81 | #define TimerIntClr_OFFSET 0x10
82 | #define TimerIntClr_MASK 0xFFFFFFFF
83 | #define TimerIntClr_SHIFT 0
84 |
85 | /*------------------------------------------------------------------------------
86 | * TimerRIS register details
87 | */
88 | #define TimerRIS_REG_OFFSET 0x14
89 |
90 | /*
91 | * RawTimerInterrupt bits.
92 | */
93 | #define RawTimerInterrupt_OFFSET 0x14
94 | #define RawTimerInterrupt_MASK 0x00000001
95 | #define RawTimerInterrupt_SHIFT 0
96 |
97 | /*------------------------------------------------------------------------------
98 | * TimerMIS register details
99 | */
100 | #define TimerMIS_REG_OFFSET 0x18
101 |
102 | /*
103 | * TimerInterrupt bits.
104 | */
105 | #define TimerInterrupt_OFFSET 0x18
106 | #define TimerInterrupt_MASK 0x00000001
107 | #define TimerInterrupt_SHIFT 0
108 |
109 | #endif /* __CORE_TIMER_REGISTERS */
110 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/drivers/CoreUARTapb/coreuartapb_regs.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2007-2017 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * SVN $Revision: 9082 $
5 | * SVN $Date: 2017-04-28 11:51:36 +0530 (Fri, 28 Apr 2017) $
6 | */
7 |
8 | #ifndef __CORE_UART_APB_REGISTERS
9 | #define __CORE_UART_APB_REGISTERS 1
10 |
11 | #ifdef __cplusplus
12 | extern "C" {
13 | #endif
14 |
15 | /*------------------------------------------------------------------------------
16 | * TxData register details
17 | */
18 | #define TXDATA_REG_OFFSET 0x0u
19 |
20 | /*
21 | * TxData bits.
22 | */
23 | #define TXDATA_OFFSET 0x0u
24 | #define TXDATA_MASK 0xFFu
25 | #define TXDATA_SHIFT 0u
26 |
27 | /*------------------------------------------------------------------------------
28 | * RxData register details
29 | */
30 | #define RXDATA_REG_OFFSET 0x4u
31 |
32 | /*
33 | * RxData bits.
34 | */
35 | #define RXDATA_OFFSET 0x4u
36 | #define RXDATA_MASK 0xFFu
37 | #define RXDATA_SHIFT 0u
38 |
39 | /*------------------------------------------------------------------------------
40 | * ControReg1 register details
41 | */
42 | #define CTRL1_REG_OFFSET 0x8u
43 |
44 | /*
45 | * Baud value (Lower 8-bits)
46 | */
47 | #define CTRL1_BAUDVALUE_OFFSET 0x8u
48 | #define CTRL1_BAUDVALUE_MASK 0xFFu
49 | #define CTRL1_BAUDVALUE_SHIFT 0u
50 |
51 | /*------------------------------------------------------------------------------
52 | * ControReg2 register details
53 | */
54 | #define CTRL2_REG_OFFSET 0xCu
55 |
56 | /*
57 | * Bit length
58 | */
59 | #define CTRL2_BIT_LENGTH_OFFSET 0xCu
60 | #define CTRL2_BIT_LENGTH_MASK 0x01u
61 | #define CTRL2_BIT_LENGTH_SHIFT 0u
62 |
63 | /*
64 | * Parity enable.
65 | */
66 | #define CTRL2_PARITY_EN_OFFSET 0xCu
67 | #define CTRL2_PARITY_EN_MASK 0x02u
68 | #define CTRL2_PARITY_EN_SHIFT 1u
69 |
70 | /*
71 | * Odd/even parity selection.
72 | */
73 | #define CTRL2_ODD_EVEN_OFFSET 0xCu
74 | #define CTRL2_ODD_EVEN_MASK 0x04u
75 | #define CTRL2_ODD_EVEN_SHIFT 2u
76 |
77 | /*
78 | * Baud value (Higher 5-bits)
79 | */
80 | #define CTRL2_BAUDVALUE_OFFSET 0xCu
81 | #define CTRL2_BAUDVALUE_MASK 0xF8u
82 | #define CTRL2_BAUDVALUE_SHIFT 3u
83 |
84 | /*------------------------------------------------------------------------------
85 | * StatusReg register details
86 | */
87 | #define StatusReg_REG_OFFSET 0x10u
88 |
89 | #define STATUS_REG_OFFSET 0x10u
90 |
91 | /*
92 | * Transmit ready.
93 | */
94 | #define STATUS_TXRDY_OFFSET 0x10u
95 | #define STATUS_TXRDY_MASK 0x01u
96 | #define STATUS_TXRDY_SHIFT 0u
97 |
98 | /*
99 | * Receive full.
100 | */
101 | #define STATUS_RXFULL_OFFSET 0x10u
102 | #define STATUS_RXFULL_MASK 0x02u
103 | #define STATUS_RXFULL_SHIFT 1u
104 |
105 | /*
106 | * Parity error.
107 | */
108 | #define STATUS_PARITYERR_OFFSET 0x10u
109 | #define STATUS_PARITYERR_MASK 0x04u
110 | #define STATUS_PARITYERR_SHIFT 2u
111 |
112 | /*
113 | * Overflow.
114 | */
115 | #define STATUS_OVERFLOW_OFFSET 0x10u
116 | #define STATUS_OVERFLOW_MASK 0x08u
117 | #define STATUS_OVERFLOW_SHIFT 3u
118 |
119 | /*
120 | * Frame Error.
121 | */
122 | #define STATUS_FRAMERR_OFFSET 0x10u
123 | #define STATUS_FRAMERR_MASK 0x10u
124 | #define STATUS_FRAMERR_SHIFT 4u
125 |
126 | #ifdef __cplusplus
127 | }
128 | #endif
129 |
130 | #endif /* __CORE_UART_APB_REGISTERS */
131 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/hal/cpu_types.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2007-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * SVN $Revision: 9661 $
5 | * SVN $Date: 2018-01-15 16:13:33 +0530 (Mon, 15 Jan 2018) $
6 | */
7 | #ifndef __CPU_TYPES_H
8 | #define __CPU_TYPES_H 1
9 |
10 | #include
11 |
12 | /*------------------------------------------------------------------------------
13 | */
14 | typedef unsigned int size_t;
15 |
16 | /*------------------------------------------------------------------------------
17 | * addr_t: address type.
18 | * Used to specify the address of peripherals present in the processor's memory
19 | * map.
20 | */
21 | typedef unsigned int addr_t;
22 |
23 | /*------------------------------------------------------------------------------
24 | * psr_t: processor state register.
25 | * Used by HAL_disable_interrupts() and HAL_restore_interrupts() to store the
26 | * processor's state between disabling and restoring interrupts.
27 | */
28 | typedef unsigned int psr_t;
29 |
30 | #endif /* __CPU_TYPES_H */
31 |
32 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/hal/hal_assert.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2008-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * SVN $Revision: 9661 $
5 | * SVN $Date: 2018-01-15 16:13:33 +0530 (Mon, 15 Jan 2018) $
6 | */
7 | #ifndef HAL_ASSERT_HEADER
8 | #define HAL_ASSERT_HEADER
9 |
10 | #define NDEBUG 1
11 |
12 | #if defined(NDEBUG)
13 | /***************************************************************************//**
14 | * HAL_ASSERT() is defined out when the NDEBUG symbol is used.
15 | ******************************************************************************/
16 | #define HAL_ASSERT(CHECK)
17 |
18 | #else
19 | /***************************************************************************//**
20 | * Default behaviour for HAL_ASSERT() macro:
21 | *------------------------------------------------------------------------------
22 | The behaviour is toolchain specific and project setting specific.
23 | ******************************************************************************/
24 | #define HAL_ASSERT(CHECK) ASSERT(CHECK);
25 |
26 | #endif /* NDEBUG */
27 |
28 | #endif /* HAL_ASSERT_HEADER */
29 |
30 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/hal/hal_irq.c:
--------------------------------------------------------------------------------
1 | /***************************************************************************//**
2 | * (c) Copyright 2007-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * Legacy interrupt control functions for the Microsemi driver library hardware
5 | * abstraction layer.
6 | *
7 | * SVN $Revision: 9661 $
8 | * SVN $Date: 2018-01-15 16:13:33 +0530 (Mon, 15 Jan 2018) $
9 | */
10 | #include "hal.h"
11 | #include "riscv_hal.h"
12 |
13 | /*------------------------------------------------------------------------------
14 | *
15 | */
16 | void HAL_enable_interrupts(void) {
17 | __enable_irq();
18 | }
19 |
20 | /*------------------------------------------------------------------------------
21 | *
22 | */
23 | psr_t HAL_disable_interrupts(void) {
24 | psr_t psr;
25 | psr = read_csr(mstatus);
26 | __disable_irq();
27 | return(psr);
28 | }
29 |
30 | /*------------------------------------------------------------------------------
31 | *
32 | */
33 | void HAL_restore_interrupts(psr_t saved_psr) {
34 | write_csr(mstatus, saved_psr);
35 | }
36 |
37 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/hal/hw_macros.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2007-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * Hardware registers access macros.
5 | *
6 | * THE MACROS DEFINED IN THIS FILE ARE DEPRECATED. DO NOT USED FOR NEW
7 | * DEVELOPMENT.
8 | *
9 | * These macros are used to access peripheral's registers. They allow access to
10 | * 8, 16 and 32 bit wide registers. All accesses to peripheral registers should
11 | * be done through these macros in order to ease porting across different
12 | * processors/bus architectures.
13 | *
14 | * Some of these macros also allow to access a specific register field.
15 | *
16 | * SVN $Revision: 9661 $
17 | * SVN $Date: 2018-01-15 16:13:33 +0530 (Mon, 15 Jan 2018) $
18 | */
19 | #ifndef __HW_REGISTER_MACROS_H
20 | #define __HW_REGISTER_MACROS_H 1
21 |
22 | /*------------------------------------------------------------------------------
23 | * 32 bits registers access:
24 | */
25 | #define HW_get_uint32_reg(BASE_ADDR, REG_OFFSET) (*((uint32_t volatile *)(BASE_ADDR + REG_OFFSET##_REG_OFFSET)))
26 |
27 | #define HW_set_uint32_reg(BASE_ADDR, REG_OFFSET, VALUE) (*((uint32_t volatile *)(BASE_ADDR + REG_OFFSET##_REG_OFFSET)) = (VALUE))
28 |
29 | #define HW_set_uint32_reg_field(BASE_ADDR, FIELD, VALUE) \
30 | (*((uint32_t volatile *)(BASE_ADDR + FIELD##_OFFSET)) = \
31 | ( \
32 | (uint32_t) \
33 | ( \
34 | (*((uint32_t volatile *)(BASE_ADDR + FIELD##_OFFSET))) & ~FIELD##_MASK) | \
35 | (uint32_t)(((VALUE) << FIELD##_SHIFT) & FIELD##_MASK) \
36 | ) \
37 | )
38 |
39 | #define HW_get_uint32_reg_field( BASE_ADDR, FIELD ) \
40 | (( (*((uint32_t volatile *)(BASE_ADDR + FIELD##_OFFSET))) & FIELD##_MASK) >> FIELD##_SHIFT)
41 |
42 | /*------------------------------------------------------------------------------
43 | * 32 bits memory access:
44 | */
45 | #define HW_get_uint32(BASE_ADDR) (*((uint32_t volatile *)(BASE_ADDR)))
46 |
47 | #define HW_set_uint32(BASE_ADDR, VALUE) (*((uint32_t volatile *)(BASE_ADDR)) = (VALUE))
48 |
49 | /*------------------------------------------------------------------------------
50 | * 16 bits registers access:
51 | */
52 | #define HW_get_uint16_reg(BASE_ADDR, REG_OFFSET) (*((uint16_t volatile *)(BASE_ADDR + REG_OFFSET##_REG_OFFSET)))
53 |
54 | #define HW_set_uint16_reg(BASE_ADDR, REG_OFFSET, VALUE) (*((uint16_t volatile *)(BASE_ADDR + REG_OFFSET##_REG_OFFSET)) = (VALUE))
55 |
56 | #define HW_set_uint16_reg_field(BASE_ADDR, FIELD, VALUE) \
57 | (*((uint16_t volatile *)(BASE_ADDR + FIELD##_OFFSET)) = \
58 | ( \
59 | (uint16_t) \
60 | ( \
61 | (*((uint16_t volatile *)(BASE_ADDR + FIELD##_OFFSET))) & ~FIELD##_MASK) | \
62 | (uint16_t)(((VALUE) << FIELD##_SHIFT) & FIELD##_MASK) \
63 | ) \
64 | )
65 |
66 | #define HW_get_uint16_reg_field( BASE_ADDR, FIELD ) \
67 | (( (*((uint16_t volatile *)(BASE_ADDR + FIELD##_OFFSET))) & FIELD##_MASK) >> FIELD##_SHIFT)
68 |
69 | /*------------------------------------------------------------------------------
70 | * 8 bits registers access:
71 | */
72 | #define HW_get_uint8_reg(BASE_ADDR, REG_OFFSET) (*((uint8_t volatile *)(BASE_ADDR + REG_OFFSET##_REG_OFFSET)))
73 |
74 | #define HW_set_uint8_reg(BASE_ADDR, REG_OFFSET, VALUE) (*((uint8_t volatile *)(BASE_ADDR + REG_OFFSET##_REG_OFFSET)) = (VALUE))
75 |
76 | #define HW_set_uint8_reg_field(BASE_ADDR, FIELD, VALUE) \
77 | (*((uint8_t volatile *)(BASE_ADDR + FIELD##_OFFSET)) = \
78 | ( \
79 | (uint8_t) \
80 | ( \
81 | (*((uint8_t volatile *)(BASE_ADDR + FIELD##_OFFSET))) & ~FIELD##_MASK) | \
82 | (uint8_t)(((VALUE) << FIELD##_SHIFT) & FIELD##_MASK) \
83 | ) \
84 | )
85 |
86 | #define HW_get_uint8_reg_field( BASE_ADDR, FIELD ) \
87 | (( (*((uint8_t volatile *)(BASE_ADDR + FIELD##_OFFSET))) & FIELD##_MASK) >> FIELD##_SHIFT)
88 |
89 | /*------------------------------------------------------------------------------
90 | * 8 bits memory access:
91 | */
92 | #define HW_get_uint8(BASE_ADDR) (*((uint8_t volatile *)(BASE_ADDR)))
93 |
94 | #define HW_set_uint8(BASE_ADDR, VALUE) (*((uint8_t volatile *)(BASE_ADDR)) = (VALUE))
95 |
96 | #endif /* __HW_REGISTER_MACROS_H */
97 |
98 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/miv-rv32im-freertos-port-test Start-Renode-emulator-and-attach.launch:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/riscv_hal/entry.S:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2016-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * @file entry.S
5 | * @author Microsemi SoC Products Group
6 | * @brief Mi-V soft processor vectors, trap handling and startup code.
7 | *
8 | * SVN $Revision: 9947 $
9 | * SVN $Date: 2018-04-30 20:28:49 +0530 (Mon, 30 Apr 2018) $
10 | */
11 | #ifndef ENTRY_S
12 | #define ENTRY_S
13 |
14 | #include "encoding.h"
15 |
16 | #if __riscv_xlen == 64
17 | # define LREG ld
18 | # define SREG sd
19 | # define REGBYTES 8
20 | #else
21 | # define LREG lw
22 | # define SREG sw
23 | # define REGBYTES 4
24 | #endif
25 |
26 | .section .text.entry
27 | .globl _start
28 |
29 | _start:
30 | j handle_reset
31 |
32 | nmi_vector:
33 | j nmi_vector
34 |
35 | trap_vector:
36 | j trap_entry
37 |
38 | handle_reset:
39 | la t0, trap_entry
40 | csrw mtvec, t0
41 | csrwi mstatus, 0
42 | csrwi mie, 0
43 |
44 | /*Floating point support configuration*/
45 |
46 | #ifdef __riscv_flen
47 | csrr t0, mstatus
48 | lui t1, 0xffffa
49 | addi t1, t1, -1
50 | and t0, t0, t1
51 | lui t1, 0x4
52 | or t1, t0, t1
53 | csrw mstatus, t1
54 |
55 | lui t0, 0x0
56 | fscsr t0
57 | #endif
58 | .option push
59 |
60 | # Ensure the instruction is not optimized, since gp is not yet set
61 |
62 | .option norelax
63 | # initialize global pointer
64 | la gp, __global_pointer$
65 |
66 | .option pop
67 |
68 | # initialize stack pointer
69 | la sp, __stack_top
70 |
71 | # perform the rest of initialization in C
72 | j _init
73 |
74 |
75 | trap_entry:
76 | addi sp, sp, -32*REGBYTES
77 |
78 | SREG x1, 0 * REGBYTES(sp)
79 | SREG x2, 1 * REGBYTES(sp)
80 | SREG x3, 2 * REGBYTES(sp)
81 | SREG x4, 3 * REGBYTES(sp)
82 | SREG x5, 4 * REGBYTES(sp)
83 | SREG x6, 5 * REGBYTES(sp)
84 | SREG x7, 6 * REGBYTES(sp)
85 | SREG x8, 7 * REGBYTES(sp)
86 | SREG x9, 8 * REGBYTES(sp)
87 | SREG x10, 9 * REGBYTES(sp)
88 | SREG x11, 10 * REGBYTES(sp)
89 | SREG x12, 11 * REGBYTES(sp)
90 | SREG x13, 12 * REGBYTES(sp)
91 | SREG x14, 13 * REGBYTES(sp)
92 | SREG x15, 14 * REGBYTES(sp)
93 | SREG x16, 15 * REGBYTES(sp)
94 | SREG x17, 16 * REGBYTES(sp)
95 | SREG x18, 17 * REGBYTES(sp)
96 | SREG x19, 18 * REGBYTES(sp)
97 | SREG x20, 19 * REGBYTES(sp)
98 | SREG x21, 20 * REGBYTES(sp)
99 | SREG x22, 21 * REGBYTES(sp)
100 | SREG x23, 22 * REGBYTES(sp)
101 | SREG x24, 23 * REGBYTES(sp)
102 | SREG x25, 24 * REGBYTES(sp)
103 | SREG x26, 25 * REGBYTES(sp)
104 | SREG x27, 26 * REGBYTES(sp)
105 | SREG x28, 27 * REGBYTES(sp)
106 | SREG x29, 28 * REGBYTES(sp)
107 | SREG x30, 29 * REGBYTES(sp)
108 | SREG x31, 30 * REGBYTES(sp)
109 |
110 |
111 | csrr t0, mepc
112 | SREG t0, 31 * REGBYTES(sp)
113 |
114 | csrr a0, mcause
115 | csrr a1, mepc
116 | mv a2, sp
117 | jal handle_trap
118 | csrw mepc, a0
119 |
120 | # Remain in M-mode after mret
121 | li t0, MSTATUS_MPP
122 | csrs mstatus, t0
123 |
124 | LREG x1, 0 * REGBYTES(sp)
125 | LREG x2, 1 * REGBYTES(sp)
126 | LREG x3, 2 * REGBYTES(sp)
127 | LREG x4, 3 * REGBYTES(sp)
128 | LREG x5, 4 * REGBYTES(sp)
129 | LREG x6, 5 * REGBYTES(sp)
130 | LREG x7, 6 * REGBYTES(sp)
131 | LREG x8, 7 * REGBYTES(sp)
132 | LREG x9, 8 * REGBYTES(sp)
133 | LREG x10, 9 * REGBYTES(sp)
134 | LREG x11, 10 * REGBYTES(sp)
135 | LREG x12, 11 * REGBYTES(sp)
136 | LREG x13, 12 * REGBYTES(sp)
137 | LREG x14, 13 * REGBYTES(sp)
138 | LREG x15, 14 * REGBYTES(sp)
139 | LREG x16, 15 * REGBYTES(sp)
140 | LREG x17, 16 * REGBYTES(sp)
141 | LREG x18, 17 * REGBYTES(sp)
142 | LREG x19, 18 * REGBYTES(sp)
143 | LREG x20, 19 * REGBYTES(sp)
144 | LREG x21, 20 * REGBYTES(sp)
145 | LREG x22, 21 * REGBYTES(sp)
146 | LREG x23, 22 * REGBYTES(sp)
147 | LREG x24, 23 * REGBYTES(sp)
148 | LREG x25, 24 * REGBYTES(sp)
149 | LREG x26, 25 * REGBYTES(sp)
150 | LREG x27, 26 * REGBYTES(sp)
151 | LREG x28, 27 * REGBYTES(sp)
152 | LREG x29, 28 * REGBYTES(sp)
153 | LREG x30, 29 * REGBYTES(sp)
154 | LREG x31, 30 * REGBYTES(sp)
155 |
156 | addi sp, sp, 32*REGBYTES
157 | mret
158 |
159 | #endif
160 |
161 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/riscv_hal/init.c:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2016-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * @file init.c
5 | * @author Microsemi SoC Products Group
6 | * @brief Mi-V soft processor memory section initializations and start-up code.
7 | *
8 | * SVN $Revision: 9661 $
9 | * SVN $Date: 2018-01-15 16:13:33 +0530 (Mon, 15 Jan 2018) $
10 | */
11 |
12 | #include
13 | #include
14 | #include
15 |
16 | #include "encoding.h"
17 |
18 | #ifdef __cplusplus
19 | extern "C" {
20 | #endif
21 |
22 | extern uint32_t __sdata_load;
23 | extern uint32_t __sdata_start;
24 | extern uint32_t __sdata_end;
25 |
26 | extern uint32_t __data_load;
27 | extern uint32_t __data_start;
28 | extern uint32_t __data_end;
29 |
30 | extern uint32_t __sbss_start;
31 | extern uint32_t __sbss_end;
32 | extern uint32_t __bss_start;
33 | extern uint32_t __bss_end;
34 |
35 |
36 | static void copy_section(uint32_t * p_load, uint32_t * p_vma, uint32_t * p_vma_end)
37 | {
38 | while(p_vma <= p_vma_end)
39 | {
40 | *p_vma = *p_load;
41 | ++p_load;
42 | ++p_vma;
43 | }
44 | }
45 |
46 | static void zero_section(uint32_t * start, uint32_t * end)
47 | {
48 | uint32_t * p_zero = start;
49 |
50 | while(p_zero <= end)
51 | {
52 | *p_zero = 0;
53 | ++p_zero;
54 | }
55 | }
56 |
57 | void _init(void)
58 | {
59 | extern int main(int, char**);
60 | const char *argv0 = "hello";
61 | char *argv[] = {(char *)argv0, NULL, NULL};
62 |
63 | copy_section(&__sdata_load, &__sdata_start, &__sdata_end);
64 | copy_section(&__data_load, &__data_start, &__data_end);
65 | zero_section(&__sbss_start, &__sbss_end);
66 | zero_section(&__bss_start, &__bss_end);
67 |
68 | main(1, argv);
69 | }
70 |
71 | /* Function called after main() finishes */
72 | void
73 | _fini()
74 | {
75 | }
76 |
77 | #ifdef __cplusplus
78 | }
79 | #endif
80 |
81 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/riscv_hal/microsemi-riscv-igloo2.ld:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2016-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * file name : microsemi-riscv-igloo2.ld
5 | * Mi-V soft processor linker script for creating a SoftConsole downloadable
6 | * image executing in eNVM.
7 | *
8 | * This linker script assumes that the eNVM is connected at on the Mi-V soft
9 | * processor memory space.
10 | *
11 | * SVN $Revision: 9661 $
12 | * SVN $Date: 2018-01-15 16:13:33 +0530 (Mon, 15 Jan 2018) $
13 | */
14 |
15 | OUTPUT_ARCH( "riscv" )
16 | ENTRY(_start)
17 |
18 |
19 | MEMORY
20 | {
21 | envm (rx) : ORIGIN = 0x60000000, LENGTH = 240k
22 | ram (rwx) : ORIGIN = 0x80000000, LENGTH = 64k
23 | }
24 |
25 | RAM_START_ADDRESS = 0x80000000; /* Must be the same value MEMORY region ram ORIGIN above. */
26 | RAM_SIZE = 64k; /* Must be the same value MEMORY region ram LENGTH above. */
27 | STACK_SIZE = 2k; /* needs to be calculated for your application */
28 | HEAP_SIZE = 2k; /* needs to be calculated for your application */
29 |
30 | SECTIONS
31 | {
32 | .text : ALIGN(0x10)
33 | {
34 | KEEP (*(SORT_NONE(.text.entry)))
35 | . = ALIGN(0x10);
36 | *(.text .text.* .gnu.linkonce.t.*)
37 | *(.plt)
38 | . = ALIGN(0x10);
39 |
40 | KEEP (*crtbegin.o(.ctors))
41 | KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
42 | KEEP (*(SORT(.ctors.*)))
43 | KEEP (*crtend.o(.ctors))
44 | KEEP (*crtbegin.o(.dtors))
45 | KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
46 | KEEP (*(SORT(.dtors.*)))
47 | KEEP (*crtend.o(.dtors))
48 |
49 | *(.rodata .rodata.* .gnu.linkonce.r.*)
50 | *(.gcc_except_table)
51 | *(.eh_frame_hdr)
52 | *(.eh_frame)
53 |
54 | KEEP (*(.init))
55 | KEEP (*(.fini))
56 |
57 | PROVIDE_HIDDEN (__preinit_array_start = .);
58 | KEEP (*(.preinit_array))
59 | PROVIDE_HIDDEN (__preinit_array_end = .);
60 | PROVIDE_HIDDEN (__init_array_start = .);
61 | KEEP (*(SORT(.init_array.*)))
62 | KEEP (*(.init_array))
63 | PROVIDE_HIDDEN (__init_array_end = .);
64 | PROVIDE_HIDDEN (__fini_array_start = .);
65 | KEEP (*(.fini_array))
66 | KEEP (*(SORT(.fini_array.*)))
67 | PROVIDE_HIDDEN (__fini_array_end = .);
68 | . = ALIGN(0x10);
69 |
70 | } >envm
71 |
72 | /* short/global data section */
73 | .sdata : ALIGN(0x10)
74 | {
75 | __sdata_load = LOADADDR(.sdata);
76 | __sdata_start = .;
77 | PROVIDE( __global_pointer$ = . + 0x800);
78 | *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2)
79 | *(.srodata*)
80 | *(.sdata .sdata.* .gnu.linkonce.s.*)
81 | . = ALIGN(0x10);
82 | __sdata_end = .;
83 | } >ram AT>envm
84 |
85 | /* data section */
86 | .data : ALIGN(0x10)
87 | {
88 | __data_load = LOADADDR(.data);
89 | __data_start = .;
90 | *(.got.plt) *(.got)
91 | *(.shdata)
92 | *(.data .data.* .gnu.linkonce.d.*)
93 | . = ALIGN(0x10);
94 | __data_end = .;
95 | } >ram AT>envm
96 |
97 | /* sbss section */
98 | .sbss : ALIGN(0x10)
99 | {
100 | __sbss_start = .;
101 | *(.sbss .sbss.* .gnu.linkonce.sb.*)
102 | *(.scommon)
103 | . = ALIGN(0x10);
104 | __sbss_end = .;
105 | } > ram
106 |
107 | /* sbss section */
108 | .bss : ALIGN(0x10)
109 | {
110 | __bss_start = .;
111 | *(.shbss)
112 | *(.bss .bss.* .gnu.linkonce.b.*)
113 | *(COMMON)
114 | . = ALIGN(0x10);
115 | __bss_end = .;
116 | } > ram
117 |
118 | /* End of uninitialized data segment */
119 | _end = .;
120 |
121 | .heap : ALIGN(0x10)
122 | {
123 | __heap_start = .;
124 | . += HEAP_SIZE;
125 | __heap_end = .;
126 | . = ALIGN(0x10);
127 | _heap_end = __heap_end;
128 | } > ram
129 |
130 | .stack : ALIGN(0x10)
131 | {
132 | __stack_bottom = .;
133 | . += STACK_SIZE;
134 | __stack_top = .;
135 | } > ram
136 | }
137 |
138 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/riscv_hal/microsemi-riscv-ram.ld:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2016-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * file name : microsemi-riscv-ram.ld
5 | * Mi-V soft processor linker script for creating a SoftConsole downloadable
6 | * debug image executing in SRAM.
7 | *
8 | * This linker script assumes that the SRAM is connected at on the Mi-V soft
9 | * processor memory space. The start address and size of the memory space must
10 | * be correct as per the Libero design.
11 | *
12 | * SVN $Revision: 9661 $
13 | * SVN $Date: 2018-01-15 16:13:33 +0530 (Mon, 15 Jan 2018) $
14 | */
15 |
16 | OUTPUT_ARCH( "riscv" )
17 | ENTRY(_start)
18 |
19 |
20 | MEMORY
21 | {
22 | ram (rwx) : ORIGIN = 0x80000000, LENGTH = 512k
23 | }
24 |
25 | RAM_START_ADDRESS = 0x80000000; /* Must be the same value MEMORY region ram ORIGIN above. */
26 | RAM_SIZE = 512k; /* Must be the same value MEMORY region ram LENGTH above. */
27 | STACK_SIZE = 64k; /* needs to be calculated for your application */
28 | HEAP_SIZE = 64k; /* needs to be calculated for your application */
29 |
30 | SECTIONS
31 | {
32 | .text : ALIGN(0x10)
33 | {
34 | KEEP (*(SORT_NONE(.text.entry)))
35 | . = ALIGN(0x10);
36 | *(.text .text.* .gnu.linkonce.t.*)
37 | *(.plt)
38 | . = ALIGN(0x10);
39 |
40 | KEEP (*crtbegin.o(.ctors))
41 | KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
42 | KEEP (*(SORT(.ctors.*)))
43 | KEEP (*crtend.o(.ctors))
44 | KEEP (*crtbegin.o(.dtors))
45 | KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
46 | KEEP (*(SORT(.dtors.*)))
47 | KEEP (*crtend.o(.dtors))
48 |
49 | *(.rodata .rodata.* .gnu.linkonce.r.*)
50 | *(.gcc_except_table)
51 | *(.eh_frame_hdr)
52 | *(.eh_frame)
53 |
54 | KEEP (*(.init))
55 | KEEP (*(.fini))
56 |
57 | PROVIDE_HIDDEN (__preinit_array_start = .);
58 | KEEP (*(.preinit_array))
59 | PROVIDE_HIDDEN (__preinit_array_end = .);
60 | PROVIDE_HIDDEN (__init_array_start = .);
61 | KEEP (*(SORT(.init_array.*)))
62 | KEEP (*(.init_array))
63 | PROVIDE_HIDDEN (__init_array_end = .);
64 | PROVIDE_HIDDEN (__fini_array_start = .);
65 | KEEP (*(.fini_array))
66 | KEEP (*(SORT(.fini_array.*)))
67 | PROVIDE_HIDDEN (__fini_array_end = .);
68 | . = ALIGN(0x10);
69 |
70 | } > ram
71 |
72 | /* short/global data section */
73 | .sdata : ALIGN(0x10)
74 | {
75 | __sdata_load = LOADADDR(.sdata);
76 | __sdata_start = .;
77 | PROVIDE( __global_pointer$ = . + 0x800);
78 | *(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2)
79 | *(.srodata*)
80 | *(.sdata .sdata.* .gnu.linkonce.s.*)
81 | . = ALIGN(0x10);
82 | __sdata_end = .;
83 | } > ram
84 |
85 | /* data section */
86 | .data : ALIGN(0x10)
87 | {
88 | __data_load = LOADADDR(.data);
89 | __data_start = .;
90 | *(.got.plt) *(.got)
91 | *(.shdata)
92 | *(.data .data.* .gnu.linkonce.d.*)
93 | . = ALIGN(0x10);
94 | __data_end = .;
95 | } > ram
96 |
97 | /* sbss section */
98 | .sbss : ALIGN(0x10)
99 | {
100 | __sbss_start = .;
101 | *(.sbss .sbss.* .gnu.linkonce.sb.*)
102 | *(.scommon)
103 | . = ALIGN(0x10);
104 | __sbss_end = .;
105 | } > ram
106 |
107 | /* sbss section */
108 | .bss : ALIGN(0x10)
109 | {
110 | __bss_start = .;
111 | *(.shbss)
112 | *(.bss .bss.* .gnu.linkonce.b.*)
113 | *(COMMON)
114 | . = ALIGN(0x10);
115 | __bss_end = .;
116 | } > ram
117 |
118 | /* End of uninitialized data segment */
119 | _end = .;
120 |
121 | .heap : ALIGN(0x10)
122 | {
123 | __heap_start = .;
124 | . += HEAP_SIZE;
125 | __heap_end = .;
126 | . = ALIGN(0x10);
127 | _heap_end = __heap_end;
128 | } > ram
129 |
130 | .stack : ALIGN(0x10)
131 | {
132 | __stack_bottom = .;
133 | . += STACK_SIZE;
134 | __stack_top = .;
135 | } > ram
136 | }
137 |
138 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Mi-V_Processor/miv-rv32im-freertos-port-test/riscv_hal/riscv_hal.h:
--------------------------------------------------------------------------------
1 | /*******************************************************************************
2 | * (c) Copyright 2016-2018 Microsemi SoC Products Group. All rights reserved.
3 | *
4 | * @file riscv_hal.h
5 | * @author Microsemi SoC Products Group
6 | * @brief Hardware Abstraction Layer functions for Mi-V soft processors
7 | *
8 | * SVN $Revision: 9835 $
9 | * SVN $Date: 2018-03-19 19:11:35 +0530 (Mon, 19 Mar 2018) $
10 | */
11 |
12 | #ifndef RISCV_HAL_H
13 | #define RISCV_HAL_H
14 |
15 | #include "riscv_plic.h"
16 |
17 | #ifdef __cplusplus
18 | extern "C" {
19 | #endif
20 |
21 | /*
22 | *Return value from External IRQ handler. This will be used to disable the External
23 | *interrupt.
24 | */
25 | #define EXT_IRQ_KEEP_ENABLED 0U
26 | #define EXT_IRQ_DISABLE 1U
27 |
28 | /*------------------------------------------------------------------------------
29 | * Interrupt enable/disable.
30 | */
31 | void __disable_irq(void);
32 | void __enable_irq(void);
33 |
34 | /*------------------------------------------------------------------------------
35 | * System tick handler. This is generated from the RISC-V machine timer.
36 | */
37 | void SysTick_Handler(void);
38 |
39 | /*------------------------------------------------------------------------------
40 | * System tick configuration.
41 | * Configures the machine timer to generate a system tick interrupt at regular
42 | * intervals.
43 | * Takes the number of system clock ticks between interrupts.
44 | *
45 | * Returns 0 if successful.
46 | * Returns 1 if the interrupt interval cannot be achieved.
47 | */
48 | uint32_t SysTick_Config(uint32_t ticks);
49 |
50 | #ifdef __cplusplus
51 | }
52 | #endif
53 |
54 | #endif /* RISCV_HAL_H */
55 |
56 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/AltBlckQ.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef ALT_BLOCK_Q_H
71 | #define ALT_BLOCK_Q_H
72 |
73 | void vStartAltBlockingQueueTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreAltBlockingQueuesStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/AltBlock.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef FAST_BLOCK_TIME_TEST_H
71 | #define FAST_BLOCK_TIME_TEST_H
72 |
73 | void vCreateAltBlockTimeTasks( void );
74 | BaseType_t xAreAltBlockTimeTestTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/AltPollQ.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef ALT_POLLED_Q_H
71 | #define ALT_POLLED_Q_H
72 |
73 | void vStartAltPolledQueueTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreAltPollingQueuesStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/AltQTest.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef FAST_GEN_Q_TEST_H
71 | #define FAST_GEN_Q_TEST_H
72 |
73 | void vStartAltGenericQueueTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreAltGenericQueueTasksStillRunning( void );
75 |
76 | #endif /* GEN_Q_TEST_H */
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/BlockQ.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef BLOCK_Q_H
71 | #define BLOCK_Q_H
72 |
73 | void vStartBlockingQueueTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreBlockingQueuesStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/EventGroupsDemo.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 |
71 |
72 | /*
73 | * This file contains fairly comprehensive checks on the behaviour of event
74 | * groups. It is not intended to be a user friendly demonstration of the event
75 | * groups API.
76 | */
77 |
78 | #ifndef EVENT_GROUPS_DEMO_H
79 | #define EVENT_GROUPS_DEMO_H
80 |
81 | void vStartEventGroupTasks( void );
82 | BaseType_t xAreEventGroupTasksStillRunning( void );
83 | void vPeriodicEventGroupsProcessing( void );
84 |
85 | #endif /* EVENT_GROUPS_DEMO_H */
86 |
87 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/GenQTest.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef GEN_Q_TEST_H
71 | #define GEN_Q_TEST_H
72 |
73 | void vStartGenericQueueTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreGenericQueueTasksStillRunning( void );
75 | void vMutexISRInteractionTest( void );
76 |
77 | #endif /* GEN_Q_TEST_H */
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/IntQueue.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef QUEUE_ACCESS_TEST
71 | #define QUEUE_ACCESS_TEST
72 |
73 | void vStartInterruptQueueTasks( void );
74 | BaseType_t xAreIntQueueTasksStillRunning( void );
75 | BaseType_t xFirstTimerHandler( void );
76 | BaseType_t xSecondTimerHandler( void );
77 |
78 | #endif /* QUEUE_ACCESS_TEST */
79 |
80 |
81 |
82 |
83 |
84 |
85 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/IntSemTest.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef INT_SEM_TEST_H
71 | #define INT_SEM_TEST_H
72 |
73 | void vStartInterruptSemaphoreTasks( void );
74 | BaseType_t xAreInterruptSemaphoreTasksStillRunning( void );
75 | void vInterruptSemaphorePeriodicTest( void );
76 |
77 | #endif /* INT_SEM_TEST_H */
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/PollQ.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef POLLED_Q_H
71 | #define POLLED_Q_H
72 |
73 | void vStartPolledQueueTasks( UBaseType_t uxPriority );
74 | BaseType_t xArePollingQueuesStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/QPeek.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef Q_PEEK_TEST_H
71 | #define Q_PEEK_TEST_H
72 |
73 | void vStartQueuePeekTasks( void );
74 | BaseType_t xAreQueuePeekTasksStillRunning( void );
75 |
76 | #endif /* Q_PEEK_TEST_H */
77 |
78 |
79 |
80 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/QueueOverwrite.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef QUEUE_OVERWRITE_H
71 | #define QUEUE_OVERWRITE_H
72 |
73 | void vStartQueueOverwriteTask( UBaseType_t uxPriority );
74 | BaseType_t xIsQueueOverwriteTaskStillRunning( void );
75 | void vQueueOverwritePeriodicISRDemo( void );
76 |
77 | #endif /* QUEUE_OVERWRITE_H */
78 |
79 |
80 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/QueueSet.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef QUEUE_WAIT_MULTIPLE_H
71 | #define QUEUE_WAIT_MULTIPLE_H
72 |
73 | void vStartQueueSetTasks( void );
74 | BaseType_t xAreQueueSetTasksStillRunning( void );
75 | void vQueueSetAccessQueueSetFromISR( void );
76 |
77 | #endif /* QUEUE_WAIT_MULTIPLE_H */
78 |
79 |
80 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/QueueSetPolling.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef QUEUE_SET_POLLING_H
71 | #define QUEUE_SET_POLLING_H
72 |
73 | void vStartQueueSetPollingTask( void );
74 | BaseType_t xAreQueueSetPollTasksStillRunning( void );
75 | void vQueueSetPollingInterruptAccess( void );
76 |
77 | #endif /* QUEUE_SET_POLLING_H */
78 |
79 |
80 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/TaskNotify.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef TASK_NOTIFY_H
71 | #define TASK_NOTIFY_H
72 |
73 | void vStartTaskNotifyTask( void );
74 | BaseType_t xAreTaskNotificationTasksStillRunning( void );
75 | void xNotifyTaskFromISR( void );
76 |
77 | #endif /* TASK_NOTIFY_H */
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/TimerDemo.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef TIMER_DEMO_H
71 | #define TIMER_DEMO_H
72 |
73 | void vStartTimerDemoTask( TickType_t xBaseFrequencyIn );
74 | BaseType_t xAreTimerDemoTasksStillRunning( TickType_t xCycleFrequency );
75 | void vTimerPeriodicISRTests( void );
76 |
77 | #endif /* TIMER_DEMO_H */
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/blocktim.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef BLOCK_TIME_TEST_H
71 | #define BLOCK_TIME_TEST_H
72 |
73 | void vCreateBlockTimeTasks( void );
74 | BaseType_t xAreBlockTimeTestTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/comtest.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef COMTEST_H
71 | #define COMTEST_H
72 |
73 | void vAltStartComTestTasks( UBaseType_t uxPriority, uint32_t ulBaudRate, UBaseType_t uxLED );
74 | void vStartComTestTasks( UBaseType_t uxPriority, eCOMPort ePort, eBaud eBaudRate );
75 | BaseType_t xAreComTestTasksStillRunning( void );
76 | void vComTestUnsuspendTask( void );
77 |
78 | #endif
79 |
80 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/comtest2.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef COMTEST_H
71 | #define COMTEST_H
72 |
73 | void vAltStartComTestTasks( UBaseType_t uxPriority, uint32_t ulBaudRate, UBaseType_t uxLED );
74 | BaseType_t xAreComTestTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/comtest_strings.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef COMTEST_STRINGS_H
71 | #define COMTEST_STRINGS_H
72 |
73 | void vStartComTestStringsTasks( UBaseType_t uxPriority, uint32_t ulBaudRate, UBaseType_t uxLED );
74 | BaseType_t xAreComTestTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/countsem.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef COUNT_SEMAPHORE_TEST_H
71 | #define COUNT_SEMAPHORE_TEST_H
72 |
73 | void vStartCountingSemaphoreTasks( void );
74 | BaseType_t xAreCountingSemaphoreTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/crflash.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef CRFLASH_LED_H
71 | #define CRFLASH_LED_H
72 |
73 | /*
74 | * Create the co-routines used to flash the LED's at different rates.
75 | *
76 | * @param uxPriority The number of 'fixed delay' co-routines to create. This
77 | * also effects the number of LED's that will be utilised. For example,
78 | * passing in 3 will cause LED's 0 to 2 to be utilised.
79 | */
80 | void vStartFlashCoRoutines( UBaseType_t uxPriority );
81 |
82 | /*
83 | * Return pdPASS or pdFAIL depending on whether an error has been detected
84 | * or not.
85 | */
86 | BaseType_t xAreFlashCoRoutinesStillRunning( void );
87 |
88 | #endif
89 |
90 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/crhook.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef CRHOOK_H
71 | #define CRHOOK_H
72 |
73 | /*
74 | * Create the co-routines used to communicate wit the tick hook.
75 | */
76 | void vStartHookCoRoutines( void );
77 |
78 | /*
79 | * Return pdPASS or pdFAIL depending on whether an error has been detected
80 | * or not.
81 | */
82 | BaseType_t xAreHookCoRoutinesStillRunning( void );
83 |
84 | #endif
85 |
86 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/death.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef SUICIDE_TASK_H
71 | #define SUICIDE_TASK_H
72 |
73 | void vCreateSuicidalTasks( UBaseType_t uxPriority );
74 | BaseType_t xIsCreateTaskStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/dynamic.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef DYNAMIC_MANIPULATION_H
71 | #define DYNAMIC_MANIPULATION_H
72 |
73 | void vStartDynamicPriorityTasks( void );
74 | BaseType_t xAreDynamicPriorityTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/fileIO.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef FILE_IO_H
71 | #define FILE_OI_H
72 |
73 | void vDisplayMessage( const char * const pcMessageToPrint );
74 | void vWriteMessageToDisk( const char * const pcMessage );
75 | void vWriteBufferToDisk( const char * const pcBuffer, uint32_t ulBufferLength );
76 |
77 | #endif
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/flash.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef FLASH_LED_H
71 | #define FLASH_LED_H
72 |
73 | void vStartLEDFlashTasks( UBaseType_t uxPriority );
74 |
75 | #endif
76 |
77 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/flash_timer.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef FLASH_TIMER_H
71 | #define FLASH_TIMER_H
72 |
73 | /*
74 | * Creates the LED flashing timers. xNumberOfLEDs specifies how many timers to
75 | * create, with each timer toggling a different LED. The first LED to be
76 | * toggled is LED 0, with subsequent LEDs following on in numerical order. Each
77 | * timer uses the exact same callback function, with the timer ID being used
78 | * within the callback function to determine which timer has actually expired
79 | * (and therefore which LED to toggle).
80 | */
81 | void vStartLEDFlashTimers( UBaseType_t uxNumberOfLEDs );
82 |
83 | #endif /* FLASH_TIMER_H */
84 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/flop.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef FLOP_TASKS_H
71 | #define FLOP_TASKS_H
72 |
73 | void vStartMathTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreMathsTaskStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/integer.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef INTEGER_TASKS_H
71 | #define INTEGER_TASKS_H
72 |
73 | void vStartIntegerMathTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreIntegerMathsTaskStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/mevents.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef EVENTS_TEST_H
71 | #define EVENTS_TEST_H
72 |
73 | void vStartMultiEventTasks( void );
74 | BaseType_t xAreMultiEventTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
79 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/partest.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef PARTEST_H
71 | #define PARTEST_H
72 |
73 | #define partstDEFAULT_PORT_ADDRESS ( ( uint16_t ) 0x378 )
74 |
75 | void vParTestInitialise( void );
76 | void vParTestSetLED( UBaseType_t uxLED, BaseType_t xValue );
77 | void vParTestToggleLED( UBaseType_t uxLED );
78 |
79 | #endif
80 |
81 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/print.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef PRINT_H
71 | #define PRINT_H
72 |
73 | void vPrintInitialise( void );
74 | void vPrintDisplayMessage( const char * const * pcMessageToSend );
75 | const char *pcPrintGetNextMessage( TickType_t xPrintRate );
76 |
77 | #endif
78 |
79 |
80 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/recmutex.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef RECURSIVE_MUTEX_TEST_H
71 | #define RECURSIVE_MUTEX_TEST_H
72 |
73 | void vStartRecursiveMutexTasks( void );
74 | BaseType_t xAreRecursiveMutexTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/Common/include/semtest.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution.
8 |
9 | FreeRTOS is free software; you can redistribute it and/or modify it under
10 | the terms of the GNU General Public License (version 2) as published by the
11 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12 |
13 | ***************************************************************************
14 | >>! NOTE: The modification to the GPL is included to allow you to !<<
15 | >>! distribute a combined work that includes FreeRTOS without being !<<
16 | >>! obliged to provide the source code for proprietary components !<<
17 | >>! outside of the FreeRTOS kernel. !<<
18 | ***************************************************************************
19 |
20 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
23 | link: http://www.freertos.org/a00114.html
24 |
25 | ***************************************************************************
26 | * *
27 | * FreeRTOS provides completely free yet professionally developed, *
28 | * robust, strictly quality controlled, supported, and cross *
29 | * platform software that is more than just the market leader, it *
30 | * is the industry's de facto standard. *
31 | * *
32 | * Help yourself get started quickly while simultaneously helping *
33 | * to support the FreeRTOS project by purchasing a FreeRTOS *
34 | * tutorial book, reference manual, or both: *
35 | * http://www.FreeRTOS.org/Documentation *
36 | * *
37 | ***************************************************************************
38 |
39 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40 | the FAQ page "My application does not run, what could be wrong?". Have you
41 | defined configASSERT()?
42 |
43 | http://www.FreeRTOS.org/support - In return for receiving this top quality
44 | embedded software for free we request you assist our global community by
45 | participating in the support forum.
46 |
47 | http://www.FreeRTOS.org/training - Investing in training allows your team to
48 | be as productive as possible as early as possible. Now you can receive
49 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50 | Ltd, and the world's leading authority on the world's leading RTOS.
51 |
52 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
55 |
56 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58 |
59 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61 | licenses offer ticketed support, indemnification and commercial middleware.
62 |
63 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64 | engineered and independently SIL3 certified version for use in safety and
65 | mission critical applications that require provable dependability.
66 |
67 | 1 tab == 4 spaces!
68 | */
69 |
70 | #ifndef SEMAPHORE_TEST_H
71 | #define SEMAPHORE_TEST_H
72 |
73 | void vStartSemaphoreTasks( UBaseType_t uxPriority );
74 | BaseType_t xAreSemaphoreTasksStillRunning( void );
75 |
76 | #endif
77 |
78 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/riscv-spike/Makefile.inc:
--------------------------------------------------------------------------------
1 | # File to be included in all makefiles
2 |
3 | RISCV_XLEN ?= 64
4 | RISCV_LIB ?= elf
5 |
6 | TARGET=riscv${RISCV_XLEN}-unknown-${RISCV_LIB}
7 | #-----------------------------------------------------------
8 | GCC = $(TARGET)-gcc
9 | OBJCOPY = $(TARGET)-objcopy
10 | OBJDUMP = $(TARGET)-objdump
11 | AR = $(TARGET)-ar
12 | RANLIB = $(TARGET)-ranlib
13 | CCPATH = /home/firmware/Padmarao/riscv_23oct17/riscv
14 |
15 | PROG = riscv-spike
16 | CRT0 = arch/boot.S
17 |
18 | FREERTOS_SOURCE_DIR = ../../Source
19 | CUNIT = ../../../cunit
20 |
21 | #-----------------------------------------------------------
22 | WARNINGS= -Wall -Wextra -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-align -Wsign-compare \
23 | -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wunused
24 |
25 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/riscv-spike/arch/clib.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution and was contributed
8 | to the project by Technolution B.V. (www.technolution.nl,
9 | freertos-riscv@technolution.eu) under the terms of the FreeRTOS
10 | contributors license.
11 |
12 | FreeRTOS is free software; you can redistribute it and/or modify it under
13 | the terms of the GNU General Public License (version 2) as published by the
14 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
15 |
16 | ***************************************************************************
17 | >>! NOTE: The modification to the GPL is included to allow you to !<<
18 | >>! distribute a combined work that includes FreeRTOS without being !<<
19 | >>! obliged to provide the source code for proprietary components !<<
20 | >>! outside of the FreeRTOS kernel. !<<
21 | ***************************************************************************
22 |
23 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
24 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
25 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
26 | link: http://www.freertos.org/a00114.html
27 |
28 | ***************************************************************************
29 | * *
30 | * FreeRTOS provides completely free yet professionally developed, *
31 | * robust, strictly quality controlled, supported, and cross *
32 | * platform software that is more than just the market leader, it *
33 | * is the industry's de facto standard. *
34 | * *
35 | * Help yourself get started quickly while simultaneously helping *
36 | * to support the FreeRTOS project by purchasing a FreeRTOS *
37 | * tutorial book, reference manual, or both: *
38 | * http://www.FreeRTOS.org/Documentation *
39 | * *
40 | ***************************************************************************
41 |
42 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
43 | the FAQ page "My application does not run, what could be wrong?". Have you
44 | defined configASSERT()?
45 |
46 | http://www.FreeRTOS.org/support - In return for receiving this top quality
47 | embedded software for free we request you assist our global community by
48 | participating in the support forum.
49 |
50 | http://www.FreeRTOS.org/training - Investing in training allows your team to
51 | be as productive as possible as early as possible. Now you can receive
52 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
53 | Ltd, and the world's leading authority on the world's leading RTOS.
54 |
55 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
56 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
57 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
58 |
59 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
60 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
61 |
62 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
63 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
64 | licenses offer ticketed support, indemnification and commercial middleware.
65 |
66 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
67 | engineered and independently SIL3 certified version for use in safety and
68 | mission critical applications that require provable dependability.
69 |
70 | 1 tab == 4 spaces!
71 | */
72 |
73 | #ifndef CLIB_H
74 | #define CLIB_H
75 |
76 | void exit(int code);
77 | int printf(const char* fmt, ...);
78 | int sprintf(char* str, const char* fmt, ...);
79 |
80 | #endif /* CLIB_H */
81 |
82 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Demo/riscv-spike/arch/syscalls.h:
--------------------------------------------------------------------------------
1 | /*
2 | FreeRTOS V8.2.3 - Copyright (C) 2015 Real Time Engineers Ltd.
3 | All rights reserved
4 |
5 | VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6 |
7 | This file is part of the FreeRTOS distribution and was contributed
8 | to the project by Technolution B.V. (www.technolution.nl,
9 | freertos-riscv@technolution.eu) under the terms of the FreeRTOS
10 | contributors license.
11 |
12 | FreeRTOS is free software; you can redistribute it and/or modify it under
13 | the terms of the GNU General Public License (version 2) as published by the
14 | Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
15 |
16 | ***************************************************************************
17 | >>! NOTE: The modification to the GPL is included to allow you to !<<
18 | >>! distribute a combined work that includes FreeRTOS without being !<<
19 | >>! obliged to provide the source code for proprietary components !<<
20 | >>! outside of the FreeRTOS kernel. !<<
21 | ***************************************************************************
22 |
23 | FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
24 | WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
25 | FOR A PARTICULAR PURPOSE. Full license text is available on the following
26 | link: http://www.freertos.org/a00114.html
27 |
28 | ***************************************************************************
29 | * *
30 | * FreeRTOS provides completely free yet professionally developed, *
31 | * robust, strictly quality controlled, supported, and cross *
32 | * platform software that is more than just the market leader, it *
33 | * is the industry's de facto standard. *
34 | * *
35 | * Help yourself get started quickly while simultaneously helping *
36 | * to support the FreeRTOS project by purchasing a FreeRTOS *
37 | * tutorial book, reference manual, or both: *
38 | * http://www.FreeRTOS.org/Documentation *
39 | * *
40 | ***************************************************************************
41 |
42 | http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
43 | the FAQ page "My application does not run, what could be wrong?". Have you
44 | defined configASSERT()?
45 |
46 | http://www.FreeRTOS.org/support - In return for receiving this top quality
47 | embedded software for free we request you assist our global community by
48 | participating in the support forum.
49 |
50 | http://www.FreeRTOS.org/training - Investing in training allows your team to
51 | be as productive as possible as early as possible. Now you can receive
52 | FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
53 | Ltd, and the world's leading authority on the world's leading RTOS.
54 |
55 | http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
56 | including FreeRTOS+Trace - an indispensable productivity tool, a DOS
57 | compatible FAT file system, and our tiny thread aware UDP/IP stack.
58 |
59 | http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
60 | Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
61 |
62 | http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
63 | Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
64 | licenses offer ticketed support, indemnification and commercial middleware.
65 |
66 | http://www.SafeRTOS.com - High Integrity Systems also provide a safety
67 | engineered and independently SIL3 certified version for use in safety and
68 | mission critical applications that require provable dependability.
69 |
70 | 1 tab == 4 spaces!
71 | */
72 |
73 | #ifndef SYSCALLS_H
74 | #define SYSCALLS_H
75 |
76 | #define SYS_write 64
77 | #define SYS_exit 93
78 | #define SYS_timer 1234
79 |
80 | long syscall(long num, long arg0, long arg1, long arg2);
81 |
82 | void vSyscallInit(void);
83 | unsigned long ulSyscallTrap(long cause, long epc, long regs[32]);
84 |
85 | #endif /* SYSCALLS_H */
86 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/README.md:
--------------------------------------------------------------------------------
1 | # FreeRTOS
2 | FreeRTOS for RISC-V(32 and 64-bit)
3 |
4 | FreeRTOS is tested on Spike with several builds including single-task, multi-task and typical demo test which includes queues, semaphores, mutexes and about a dozen concurrent tasks running concurrently.
5 |
6 | ### Tools used
7 |
8 | Spike commit on 20th October, 2017 "3b1e9ab7522b3b20cde6bd8d9f2b28222463cf1b"
9 |
10 | riscv64-unknown-elf-gcc (GCC) version 7.1.1 20170509
11 |
12 |
13 | Install [riscv-tools](https://github.com/riscv/riscv-tools) and Set the RISC-V tools install path to export
14 |
15 | $ export PATH=$PATH:/{INSTALL_LOCATION}/bin
16 |
17 | ### Getting the sources
18 |
19 | $ git clone https://github.com/RISCV-on-Microsemi-FPGA/FreeRTOS
20 |
21 |
22 | Edit CCPATH to RISC-V tools install directory in `Makefile.inc` i.e available in FreeRTOS/Demo/riscv-spike/Makefile.inc
23 | `CCPATH = /{INSTALL_LOCATION}`
24 |
25 | ### Build Steps
26 |
27 | Run demo application on Spike
28 |
29 | $ cd FreeRTOS/Demo/riscv-spike
30 | $ make
31 | $ spike riscv-spike.elf
32 |
33 | output : PASS!
34 | Task - 1
35 | Task - 2
36 |
37 | Run demo application on Spike with debug mode, Follow riscv-isa-sim [README.md](https://github.com/riscv/riscv-isa-sim) to know more about debug instruction.
38 |
39 | $ spike -d riscv-spike.elf
40 |
41 | To capture debug log use below command
42 |
43 | $ spike -d riscv-spike.elf 2>&1 | tee text.txt
44 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Source/include/FreeRTOS.h.gch:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RISCV-on-Microsemi-FPGA/FreeRTOS/7af2b761c0775ee7663cc643d13f5a3eb610cd21/FreeRTOS_on_Spike/Source/include/FreeRTOS.h.gch
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Source/include/stdint.readme:
--------------------------------------------------------------------------------
1 |
2 | #ifndef FREERTOS_STDINT
3 | #define FREERTOS_STDINT
4 |
5 | /*******************************************************************************
6 | * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions
7 | * necessary to build the FreeRTOS code. It is provided to allow FreeRTOS to be
8 | * built using compilers that do not provide their own stdint.h definition.
9 | *
10 | * To use this file:
11 | *
12 | * 1) Copy this file into the directory that contains your FreeRTOSConfig.h
13 | * header file, as that directory will already be in the compilers include
14 | * path.
15 | *
16 | * 2) Rename the copied file stdint.h.
17 | *
18 | */
19 |
20 | typedef signed char int8_t;
21 | typedef unsigned char uint8_t;
22 | typedef short int16_t;
23 | typedef unsigned short uint16_t;
24 | typedef long int32_t;
25 | typedef unsigned long uint32_t;
26 |
27 | #endif /* FREERTOS_STDINT */
28 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Source/portable/MemMang/ReadMe.url:
--------------------------------------------------------------------------------
1 | [{000214A0-0000-0000-C000-000000000046}]
2 | Prop3=19,2
3 | [InternetShortcut]
4 | URL=http://www.freertos.org/a00111.html
5 | IDList=
6 | IconFile=http://www.freertos.org/favicon.ico
7 | IconIndex=1
8 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Source/portable/readme.txt:
--------------------------------------------------------------------------------
1 | Each real time kernel port consists of three files that contain the core kernel
2 | components and are common to every port, and one or more files that are
3 | specific to a particular microcontroller and/or compiler.
4 |
5 |
6 | + The FreeRTOS/Source/Portable/MemMang directory contains the five sample
7 | memory allocators as described on the http://www.FreeRTOS.org WEB site.
8 |
9 | + The other directories each contain files specific to a particular
10 | microcontroller or compiler, where the directory name denotes the compiler
11 | specific files the directory contains.
12 |
13 |
14 |
15 | For example, if you are interested in the [compiler] port for the [architecture]
16 | microcontroller, then the port specific files are contained in
17 | FreeRTOS/Source/Portable/[compiler]/[architecture] directory. If this is the
18 | only port you are interested in then all the other directories can be
19 | ignored.
20 |
21 |
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Source/readme.txt:
--------------------------------------------------------------------------------
1 | Each real time kernel port consists of three files that contain the core kernel
2 | components and are common to every port, and one or more files that are
3 | specific to a particular microcontroller and or compiler.
4 |
5 | + The FreeRTOS/Source directory contains the three files that are common to
6 | every port - list.c, queue.c and tasks.c. The kernel is contained within these
7 | three files. croutine.c implements the optional co-routine functionality - which
8 | is normally only used on very memory limited systems.
9 |
10 | + The FreeRTOS/Source/Portable directory contains the files that are specific to
11 | a particular microcontroller and or compiler.
12 |
13 | + The FreeRTOS/Source/include directory contains the real time kernel header
14 | files.
15 |
16 | See the readme file in the FreeRTOS/Source/Portable directory for more
17 | information.
--------------------------------------------------------------------------------
/FreeRTOS_on_Spike/Source/string.c:
--------------------------------------------------------------------------------
1 | #include
2 | #include
3 | #include
4 |
5 | void* memcpy(void* dest, const void* src, size_t len)
6 | {
7 | const char* s = src;
8 | char *d = dest;
9 |
10 | if ((((uintptr_t)dest | (uintptr_t)src) & (sizeof(uintptr_t)-1)) == 0) {
11 | while ((void*)d < (dest + len - (sizeof(uintptr_t)-1))) {
12 | *(uintptr_t*)d = *(const uintptr_t*)s;
13 | d += sizeof(uintptr_t);
14 | s += sizeof(uintptr_t);
15 | }
16 | }
17 |
18 | while (d < (char*)(dest + len))
19 | *d++ = *s++;
20 |
21 | return dest;
22 | }
23 |
24 | void* memset(void* dest, int byte, size_t len)
25 | {
26 | if ((((uintptr_t)dest | len) & (sizeof(uintptr_t)-1)) == 0) {
27 | uintptr_t word = byte & 0xFF;
28 | word |= word << 8;
29 | word |= word << 16;
30 | word |= word << 16 << 16;
31 |
32 | uintptr_t *d = dest;
33 | while (d < (uintptr_t*)(dest + len))
34 | *d++ = word;
35 | } else {
36 | char *d = dest;
37 | while (d < (char*)(dest + len))
38 | *d++ = byte;
39 | }
40 | return dest;
41 | }
42 |
43 | size_t strlen(const char *s)
44 | {
45 | const char *p = s;
46 | while (*p)
47 | p++;
48 | return p - s;
49 | }
50 |
51 | int strcmp(const char* s1, const char* s2)
52 | {
53 | unsigned char c1, c2;
54 |
55 | do {
56 | c1 = *s1++;
57 | c2 = *s2++;
58 | } while (c1 != 0 && c1 == c2);
59 |
60 | return c1 - c2;
61 | }
62 |
63 | char* strcpy(char* dest, const char* src)
64 | {
65 | char* d = dest;
66 | while ((*d++ = *src++))
67 | ;
68 | return dest;
69 | }
70 |
71 | long atol(const char* str)
72 | {
73 | long res = 0;
74 | int sign = 0;
75 |
76 | while (*str == ' ')
77 | str++;
78 |
79 | if (*str == '-' || *str == '+') {
80 | sign = *str == '-';
81 | str++;
82 | }
83 |
84 | while (*str) {
85 | res *= 10;
86 | res += *str++ - '0';
87 | }
88 |
89 | return sign ? -res : res;
90 | }
91 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # FreeRTOS port on Mi-V Soft Processors
2 |
3 | This repository contains the FreeRTOS example projects
4 |
5 | ## FreeRTOS_on_Spike
6 | This folder contains the details of FreeRTOS running on Spike Simulator.
7 |
8 | ### Spike
9 | Spike is the official RISC-V Instruction Set Simulator. Spike supports RV32GC and RV64GC, and has Debug and GDB support.
10 |
11 | Find more details on Spike [here](https://github.com/riscv/riscv-isa-sim/)
12 |
13 | ## FreeRTOS_on_Mi-V_Processor
14 | This folder contains FreeRTOS example projects running on a Mi-V Soft Processor. It includes launchers for hardware deployment and for Renode emulation (which is bundled with SoftConsole 5.3 or higher). Group launcher "miv-rv32im-freertos-port-test Start-Renode-emulator-and-attach" will launch Renode, attach a GDB connection and then load the FreeRTOS binary to the emulation. After a successful launch, SoftConsole should break at main() and should behave similarly to real hardware. For details on how to use Renode from within SoftConsole see SoftConsole's Release Notes.
15 |
--------------------------------------------------------------------------------