├── .gitignore ├── Documents └── Picture │ ├── POSIX.jpg │ ├── 资源占用.png │ └── 资源占用(O3优化).png ├── FreeRTOS └── FreeRTOS-Kernel │ ├── .github │ ├── CODEOWNERS │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE │ │ ├── bug-report.md │ │ ├── config.yml │ │ ├── documentation-issue.md │ │ └── feature_request.md │ ├── SECURITY.md │ ├── actions │ │ └── url_verifier.sh │ ├── lexicon.txt │ ├── pull_request_template.md │ ├── scripts │ │ ├── find_replace.sh │ │ └── kernel_checker.py │ └── workflows │ │ ├── auto-release.yml │ │ ├── ci.yml │ │ ├── git-secrets.yml │ │ ├── kernel-checks.yml │ │ └── unit-tests.yml │ ├── GitHub-FreeRTOS-Kernel-Home.url │ ├── History.txt │ ├── LICENSE.md │ ├── Quick_Start_Guide.url │ ├── README.md │ ├── croutine.c │ ├── event_groups.c │ ├── include │ ├── FreeRTOS.h │ ├── StackMacros.h │ ├── atomic.h │ ├── croutine.h │ ├── deprecated_definitions.h │ ├── event_groups.h │ ├── list.h │ ├── message_buffer.h │ ├── mpu_prototypes.h │ ├── mpu_wrappers.h │ ├── portable.h │ ├── projdefs.h │ ├── queue.h │ ├── semphr.h │ ├── stack_macros.h │ ├── stdint.readme │ ├── stream_buffer.h │ ├── task.h │ └── timers.h │ ├── list.c │ ├── portable │ ├── ARMClang │ │ └── Use-the-GCC-ports.txt │ ├── ARMv8M │ │ ├── ReadMe.txt │ │ ├── copy_files.py │ │ ├── non_secure │ │ │ ├── ReadMe.txt │ │ │ ├── port.c │ │ │ ├── portable │ │ │ │ ├── GCC │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ ├── ARM_CM23_NTZ │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ ├── ARM_CM33 │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── ARM_CM33_NTZ │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ └── portmacro.h │ │ │ │ └── IAR │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ │ ├── ARM_CM23_NTZ │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ │ ├── ARM_CM33 │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── ARM_CM33_NTZ │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ └── portasm.h │ │ └── secure │ │ │ ├── ReadMe.txt │ │ │ ├── context │ │ │ ├── portable │ │ │ │ ├── GCC │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ │ └── secure_context_port.c │ │ │ │ │ └── ARM_CM33 │ │ │ │ │ │ └── secure_context_port.c │ │ │ │ └── IAR │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ └── secure_context_port_asm.s │ │ │ │ │ └── ARM_CM33 │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ └── secure_context_port_asm.s │ │ │ ├── secure_context.c │ │ │ └── secure_context.h │ │ │ ├── heap │ │ │ ├── secure_heap.c │ │ │ └── secure_heap.h │ │ │ ├── init │ │ │ ├── secure_init.c │ │ │ └── secure_init.h │ │ │ └── macros │ │ │ └── secure_port_macros.h │ ├── BCC │ │ └── 16BitDOS │ │ │ ├── Flsh186 │ │ │ ├── port.c │ │ │ └── prtmacro.h │ │ │ ├── PC │ │ │ ├── port.c │ │ │ └── prtmacro.h │ │ │ └── common │ │ │ ├── portasm.h │ │ │ └── portcomn.c │ ├── CCS │ │ ├── ARM_CM3 │ │ │ ├── port.c │ │ │ ├── portasm.asm │ │ │ └── portmacro.h │ │ ├── ARM_CM4F │ │ │ ├── port.c │ │ │ ├── portasm.asm │ │ │ └── portmacro.h │ │ ├── ARM_Cortex-R4 │ │ │ ├── port.c │ │ │ ├── portASM.asm │ │ │ └── portmacro.h │ │ └── MSP430X │ │ │ ├── data_model.h │ │ │ ├── port.c │ │ │ ├── portext.asm │ │ │ └── portmacro.h │ ├── CodeWarrior │ │ ├── ColdFire_V1 │ │ │ ├── port.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ ├── ColdFire_V2 │ │ │ ├── port.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ └── HCS12 │ │ │ ├── port.c │ │ │ └── portmacro.h │ ├── Common │ │ └── mpu_wrappers.c │ ├── GCC │ │ ├── ARM7_AT91FR40008 │ │ │ ├── port.c │ │ │ ├── portISR.c │ │ │ └── portmacro.h │ │ ├── ARM7_AT91SAM7S │ │ │ ├── AT91SAM7X256.h │ │ │ ├── ioat91sam7x256.h │ │ │ ├── lib_AT91SAM7X256.c │ │ │ ├── lib_AT91SAM7X256.h │ │ │ ├── port.c │ │ │ ├── portISR.c │ │ │ └── portmacro.h │ │ ├── ARM7_LPC2000 │ │ │ ├── port.c │ │ │ ├── portISR.c │ │ │ └── portmacro.h │ │ ├── ARM7_LPC23xx │ │ │ ├── port.c │ │ │ ├── portISR.c │ │ │ └── portmacro.h │ │ ├── ARM_CA53_64_BIT │ │ │ ├── port.c │ │ │ ├── portASM.S │ │ │ └── portmacro.h │ │ ├── ARM_CA9 │ │ │ ├── port.c │ │ │ ├── portASM.S │ │ │ └── portmacro.h │ │ ├── ARM_CM0 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM23 │ │ │ ├── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.c │ │ │ │ ├── portasm.h │ │ │ │ └── portmacro.h │ │ │ └── secure │ │ │ │ ├── secure_context.c │ │ │ │ ├── secure_context.h │ │ │ │ ├── secure_context_port.c │ │ │ │ ├── secure_heap.c │ │ │ │ ├── secure_heap.h │ │ │ │ ├── secure_init.c │ │ │ │ ├── secure_init.h │ │ │ │ └── secure_port_macros.h │ │ ├── ARM_CM23_NTZ │ │ │ └── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.c │ │ │ │ ├── portasm.h │ │ │ │ └── portmacro.h │ │ ├── ARM_CM3 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM33 │ │ │ ├── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.c │ │ │ │ ├── portasm.h │ │ │ │ └── portmacro.h │ │ │ └── secure │ │ │ │ ├── secure_context.c │ │ │ │ ├── secure_context.h │ │ │ │ ├── secure_context_port.c │ │ │ │ ├── secure_heap.c │ │ │ │ ├── secure_heap.h │ │ │ │ ├── secure_init.c │ │ │ │ ├── secure_init.h │ │ │ │ └── secure_port_macros.h │ │ ├── ARM_CM33_NTZ │ │ │ └── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.c │ │ │ │ ├── portasm.h │ │ │ │ └── portmacro.h │ │ ├── ARM_CM3_MPU │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM4F │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM4_MPU │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM7 │ │ │ ├── ReadMe.txt │ │ │ └── r0p1 │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ ├── ARM_CR5 │ │ │ ├── port.c │ │ │ ├── portASM.S │ │ │ └── portmacro.h │ │ ├── ARM_CRx_No_GIC │ │ │ ├── port.c │ │ │ ├── portASM.S │ │ │ └── portmacro.h │ │ ├── ATMega323 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── AVR32_UC3 │ │ │ ├── exception.S │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── AVR_AVRDx │ │ │ ├── port.c │ │ │ ├── porthardware.h │ │ │ └── portmacro.h │ │ ├── AVR_Mega0 │ │ │ ├── port.c │ │ │ ├── porthardware.h │ │ │ └── portmacro.h │ │ ├── CORTUS_APS3 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ColdFire_V2 │ │ │ ├── port.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ ├── H8S2329 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── HCS12 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── IA32_flat │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portASM.S │ │ │ └── portmacro.h │ │ ├── MCF5235 │ │ │ └── readme.md │ │ ├── MSP430F449 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── MicroBlaze │ │ │ ├── port.c │ │ │ ├── portasm.s │ │ │ └── portmacro.h │ │ ├── MicroBlazeV8 │ │ │ ├── port.c │ │ │ ├── port_exceptions.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ ├── MicroBlazeV9 │ │ │ ├── port.c │ │ │ ├── port_exceptions.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ ├── NiosII │ │ │ ├── port.c │ │ │ ├── port_asm.S │ │ │ └── portmacro.h │ │ ├── PPC405_Xilinx │ │ │ ├── FPU_Macros.h │ │ │ ├── port.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ ├── PPC440_Xilinx │ │ │ ├── FPU_Macros.h │ │ │ ├── port.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ ├── RISC-V │ │ │ ├── Documentation.url │ │ │ ├── chip_specific_extensions │ │ │ │ ├── Pulpino_Vega_RV32M1RM │ │ │ │ │ └── freertos_risc_v_chip_specific_extensions.h │ │ │ │ ├── RV32I_CLINT_no_extensions │ │ │ │ │ └── freertos_risc_v_chip_specific_extensions.h │ │ │ │ └── readme.txt │ │ │ ├── port.c │ │ │ ├── portASM.S │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RL78 │ │ │ ├── isr_support.h │ │ │ ├── port.c │ │ │ ├── portasm.S │ │ │ └── portmacro.h │ │ ├── RX100 │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX200 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── RX600 │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX600v2 │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX700v3_DPFPU │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── STR75x │ │ │ ├── port.c │ │ │ ├── portISR.c │ │ │ └── portmacro.h │ │ └── TriCore_1782 │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── porttrap.c │ ├── IAR │ │ ├── 78K0R │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s26 │ │ │ └── portmacro.h │ │ ├── ARM_CA5_No_GIC │ │ │ ├── port.c │ │ │ ├── portASM.h │ │ │ ├── portASM.s │ │ │ └── portmacro.h │ │ ├── ARM_CA9 │ │ │ ├── port.c │ │ │ ├── portASM.h │ │ │ ├── portASM.s │ │ │ └── portmacro.h │ │ ├── ARM_CM0 │ │ │ ├── port.c │ │ │ ├── portasm.s │ │ │ └── portmacro.h │ │ ├── ARM_CM23 │ │ │ ├── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.h │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ │ └── secure │ │ │ │ ├── secure_context.c │ │ │ │ ├── secure_context.h │ │ │ │ ├── secure_context_port.c │ │ │ │ ├── secure_context_port_asm.s │ │ │ │ ├── secure_heap.c │ │ │ │ ├── secure_heap.h │ │ │ │ ├── secure_init.c │ │ │ │ ├── secure_init.h │ │ │ │ └── secure_port_macros.h │ │ ├── ARM_CM23_NTZ │ │ │ └── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.h │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ ├── ARM_CM3 │ │ │ ├── port.c │ │ │ ├── portasm.s │ │ │ └── portmacro.h │ │ ├── ARM_CM33 │ │ │ ├── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.h │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ │ └── secure │ │ │ │ ├── secure_context.c │ │ │ │ ├── secure_context.h │ │ │ │ ├── secure_context_port.c │ │ │ │ ├── secure_context_port_asm.s │ │ │ │ ├── secure_heap.c │ │ │ │ ├── secure_heap.h │ │ │ │ ├── secure_init.c │ │ │ │ ├── secure_init.h │ │ │ │ └── secure_port_macros.h │ │ ├── ARM_CM33_NTZ │ │ │ └── non_secure │ │ │ │ ├── port.c │ │ │ │ ├── portasm.h │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ ├── ARM_CM4F │ │ │ ├── port.c │ │ │ ├── portasm.s │ │ │ └── portmacro.h │ │ ├── ARM_CM4F_MPU │ │ │ ├── port.c │ │ │ ├── portasm.s │ │ │ └── portmacro.h │ │ ├── ARM_CM7 │ │ │ ├── ReadMe.txt │ │ │ └── r0p1 │ │ │ │ ├── port.c │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ ├── ARM_CRx_No_GIC │ │ │ ├── port.c │ │ │ ├── portASM.s │ │ │ └── portmacro.h │ │ ├── ATMega323 │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── portmacro.s90 │ │ ├── AVR32_UC3 │ │ │ ├── exception.s82 │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ ├── read.c │ │ │ └── write.c │ │ ├── AVR_AVRDx │ │ │ ├── port.c │ │ │ ├── porthardware.h │ │ │ ├── portmacro.h │ │ │ └── portmacro.s90 │ │ ├── AVR_Mega0 │ │ │ ├── port.c │ │ │ ├── porthardware.h │ │ │ ├── portmacro.h │ │ │ └── portmacro.s90 │ │ ├── AtmelSAM7S64 │ │ │ ├── AT91SAM7S64.h │ │ │ ├── AT91SAM7S64_inc.h │ │ │ ├── AT91SAM7X128.h │ │ │ ├── AT91SAM7X128_inc.h │ │ │ ├── AT91SAM7X256.h │ │ │ ├── AT91SAM7X256_inc.h │ │ │ ├── ISR_Support.h │ │ │ ├── lib_AT91SAM7S64.h │ │ │ ├── lib_AT91SAM7X128.h │ │ │ ├── lib_AT91SAM7X256.h │ │ │ ├── port.c │ │ │ ├── portasm.s79 │ │ │ └── portmacro.h │ │ ├── AtmelSAM9XE │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s79 │ │ │ └── portmacro.h │ │ ├── LPC2000 │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s79 │ │ │ └── portmacro.h │ │ ├── MSP430 │ │ │ ├── port.c │ │ │ ├── portasm.h │ │ │ ├── portext.s43 │ │ │ └── portmacro.h │ │ ├── MSP430X │ │ │ ├── data_model.h │ │ │ ├── port.c │ │ │ ├── portext.s43 │ │ │ └── portmacro.h │ │ ├── RISC-V │ │ │ ├── Documentation.url │ │ │ ├── chip_specific_extensions │ │ │ │ ├── RV32I_CLINT_no_extensions │ │ │ │ │ └── freertos_risc_v_chip_specific_extensions.h │ │ │ │ └── readme.txt │ │ │ ├── port.c │ │ │ ├── portASM.s │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RL78 │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s87 │ │ │ └── portmacro.h │ │ ├── RX100 │ │ │ ├── port.c │ │ │ ├── port_asm.s │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX600 │ │ │ ├── port.c │ │ │ ├── port_asm.s │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX700v3_DPFPU │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RXv2 │ │ │ ├── port.c │ │ │ ├── port_asm.s │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── STR71x │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s79 │ │ │ └── portmacro.h │ │ ├── STR75x │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s79 │ │ │ └── portmacro.h │ │ ├── STR91x │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s79 │ │ │ └── portmacro.h │ │ └── V850ES │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── portasm.s85 │ │ │ ├── portasm_Fx3.s85 │ │ │ ├── portasm_Hx2.s85 │ │ │ └── portmacro.h │ ├── Keil │ │ └── See-also-the-RVDS-directory.txt │ ├── MPLAB │ │ ├── PIC18F │ │ │ ├── port.c │ │ │ ├── portmacro.h │ │ │ └── stdio.h │ │ ├── PIC24_dsPIC │ │ │ ├── port.c │ │ │ ├── portasm_PIC24.S │ │ │ ├── portasm_dsPIC.S │ │ │ └── portmacro.h │ │ ├── PIC32MEC14xx │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── port_asm.S │ │ │ └── portmacro.h │ │ ├── PIC32MX │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── port_asm.S │ │ │ └── portmacro.h │ │ └── PIC32MZ │ │ │ ├── ISR_Support.h │ │ │ ├── port.c │ │ │ ├── port_asm.S │ │ │ └── portmacro.h │ ├── MSVC-MingW │ │ ├── port.c │ │ └── portmacro.h │ ├── MemMang │ │ ├── ReadMe.url │ │ ├── heap_1.c │ │ ├── heap_2.c │ │ ├── heap_3.c │ │ ├── heap_4.c │ │ └── heap_5.c │ ├── MikroC │ │ └── ARM_CM4F │ │ │ ├── port.c │ │ │ └── portmacro.h │ ├── Paradigm │ │ └── Tern_EE │ │ │ ├── large_untested │ │ │ ├── port.c │ │ │ ├── portasm.h │ │ │ └── portmacro.h │ │ │ └── small │ │ │ ├── port.c │ │ │ ├── portasm.h │ │ │ └── portmacro.h │ ├── RVDS │ │ ├── ARM7_LPC21xx │ │ │ ├── port.c │ │ │ ├── portASM.s │ │ │ ├── portmacro.h │ │ │ └── portmacro.inc │ │ ├── ARM_CA9 │ │ │ ├── port.c │ │ │ ├── portASM.s │ │ │ ├── portmacro.h │ │ │ └── portmacro.inc │ │ ├── ARM_CM0 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM3 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM4F │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ ├── ARM_CM4_MPU │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ └── ARM_CM7 │ │ │ ├── ReadMe.txt │ │ │ └── r0p1 │ │ │ ├── port.c │ │ │ └── portmacro.h │ ├── Renesas │ │ ├── RX100 │ │ │ ├── port.c │ │ │ ├── port_asm.src │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX200 │ │ │ ├── port.c │ │ │ ├── port_asm.src │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX600 │ │ │ ├── port.c │ │ │ ├── port_asm.src │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX600v2 │ │ │ ├── port.c │ │ │ ├── port_asm.src │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ ├── RX700v3_DPFPU │ │ │ ├── port.c │ │ │ ├── port_asm.src │ │ │ ├── portmacro.h │ │ │ └── readme.txt │ │ └── SH2A_FPU │ │ │ ├── ISR_Support.inc │ │ │ ├── port.c │ │ │ ├── portasm.src │ │ │ └── portmacro.h │ ├── Rowley │ │ ├── ARM7 │ │ │ └── readme.txt │ │ └── MSP430F449 │ │ │ ├── port.c │ │ │ ├── portasm.h │ │ │ ├── portext.asm │ │ │ └── portmacro.h │ ├── SDCC │ │ └── Cygnal │ │ │ ├── port.c │ │ │ └── portmacro.h │ ├── Softune │ │ ├── MB91460 │ │ │ ├── __STD_LIB_sbrk.c │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ └── MB96340 │ │ │ ├── __STD_LIB_sbrk.c │ │ │ ├── port.c │ │ │ └── portmacro.h │ ├── Tasking │ │ └── ARM_CM4F │ │ │ ├── port.c │ │ │ ├── port_asm.asm │ │ │ └── portmacro.h │ ├── ThirdParty │ │ ├── CDK │ │ │ └── T-HEAD_CK802 │ │ │ │ ├── port.c │ │ │ │ ├── portasm.S │ │ │ │ └── portmacro.h │ │ ├── GCC │ │ │ ├── ARC_EM_HS │ │ │ │ ├── arc_freertos_exceptions.c │ │ │ │ ├── arc_freertos_exceptions.h │ │ │ │ ├── arc_support.s │ │ │ │ ├── freertos_tls.c │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ │ ├── ARC_v1 │ │ │ │ ├── arc_freertos_exceptions.c │ │ │ │ ├── arc_freertos_exceptions.h │ │ │ │ ├── arc_support.s │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM33_TFM │ │ │ │ ├── README.md │ │ │ │ └── os_wrapper_freertos.c │ │ │ ├── ATmega │ │ │ │ ├── port.c │ │ │ │ ├── portmacro.h │ │ │ │ └── readme.md │ │ │ ├── Posix │ │ │ │ ├── FreeRTOS-simulator-for-Linux.url │ │ │ │ ├── port.c │ │ │ │ ├── portmacro.h │ │ │ │ └── utils │ │ │ │ │ ├── wait_for_event.c │ │ │ │ │ └── wait_for_event.h │ │ │ ├── RISC-V │ │ │ │ └── README-for-info-on-official-MIT-license-port.txt │ │ │ └── Xtensa_ESP32 │ │ │ │ ├── FreeRTOS-openocd.c │ │ │ │ ├── include │ │ │ │ ├── portbenchmark.h │ │ │ │ ├── portmacro.h │ │ │ │ ├── xt_asm_utils.h │ │ │ │ ├── xtensa_api.h │ │ │ │ ├── xtensa_config.h │ │ │ │ ├── xtensa_context.h │ │ │ │ ├── xtensa_rtos.h │ │ │ │ └── xtensa_timer.h │ │ │ │ ├── port.c │ │ │ │ ├── portasm.S │ │ │ │ ├── portmux_impl.h │ │ │ │ ├── portmux_impl.inc.h │ │ │ │ ├── xtensa_context.S │ │ │ │ ├── xtensa_init.c │ │ │ │ ├── xtensa_intr.c │ │ │ │ ├── xtensa_intr_asm.S │ │ │ │ ├── xtensa_loadstore_handler.S │ │ │ │ ├── xtensa_overlay_os_hook.c │ │ │ │ ├── xtensa_vector_defaults.S │ │ │ │ └── xtensa_vectors.S │ │ └── XCC │ │ │ └── Xtensa │ │ │ ├── Makefile │ │ │ ├── port.c │ │ │ ├── portasm.S │ │ │ ├── portbenchmark.h │ │ │ ├── portclib.c │ │ │ ├── portmacro.h │ │ │ ├── porttrace.h │ │ │ ├── readme_xtensa.txt │ │ │ ├── xtensa_api.h │ │ │ ├── xtensa_config.h │ │ │ ├── xtensa_context.S │ │ │ ├── xtensa_context.h │ │ │ ├── xtensa_init.c │ │ │ ├── xtensa_intr.c │ │ │ ├── xtensa_intr_asm.S │ │ │ ├── xtensa_overlay_os_hook.c │ │ │ ├── xtensa_rtos.h │ │ │ ├── xtensa_timer.h │ │ │ └── xtensa_vectors.S │ ├── WizC │ │ └── PIC18 │ │ │ ├── Drivers │ │ │ └── Tick │ │ │ │ ├── Tick.c │ │ │ │ └── isrTick.c │ │ │ ├── Install.bat │ │ │ ├── addFreeRTOS.h │ │ │ ├── port.c │ │ │ └── portmacro.h │ ├── oWatcom │ │ └── 16BitDOS │ │ │ ├── Flsh186 │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ │ ├── PC │ │ │ ├── port.c │ │ │ └── portmacro.h │ │ │ └── common │ │ │ ├── portasm.h │ │ │ └── portcomn.c │ └── readme.txt │ ├── queue.c │ ├── stream_buffer.c │ ├── tasks.c │ └── timers.c ├── LICENSE ├── Projects ├── FreeRTOS_Linux_Simulator │ ├── FreeRTOSConfig.h │ ├── Makefile │ ├── console.c │ ├── console.h │ ├── main.c │ └── main_blinky.c ├── FreeRTOS_STM32F1_Demo │ ├── .gitignore │ ├── .mxproject │ ├── Application │ │ ├── application.c │ │ ├── msp.c │ │ ├── msp.h │ │ └── posix_demo │ │ │ ├── posix_demo.c │ │ │ ├── posix_demo.h │ │ │ ├── thread_attr.c │ │ │ └── thread_demo.c │ ├── Core │ │ ├── Inc │ │ │ ├── FreeRTOSConfig.h │ │ │ ├── gpio.h │ │ │ ├── main.h │ │ │ ├── stm32f1xx_hal_conf.h │ │ │ ├── stm32f1xx_it.h │ │ │ └── usart.h │ │ └── Src │ │ │ ├── freertos.c │ │ │ ├── gpio.c │ │ │ ├── main.c │ │ │ ├── stm32f1xx_hal_msp.c │ │ │ ├── stm32f1xx_hal_timebase_tim.c │ │ │ ├── stm32f1xx_it.c │ │ │ ├── system_stm32f1xx.c │ │ │ └── usart.c │ ├── Demo.ioc │ ├── Drivers │ │ ├── CMSIS │ │ │ ├── Device │ │ │ │ └── ST │ │ │ │ │ └── STM32F1xx │ │ │ │ │ └── Include │ │ │ │ │ ├── stm32f103xe.h │ │ │ │ │ ├── stm32f1xx.h │ │ │ │ │ └── system_stm32f1xx.h │ │ │ └── Include │ │ │ │ ├── cmsis_armcc.h │ │ │ │ ├── cmsis_armclang.h │ │ │ │ ├── cmsis_compiler.h │ │ │ │ ├── cmsis_gcc.h │ │ │ │ ├── cmsis_iccarm.h │ │ │ │ ├── cmsis_version.h │ │ │ │ ├── core_armv8mbl.h │ │ │ │ ├── core_armv8mml.h │ │ │ │ ├── core_cm0.h │ │ │ │ ├── core_cm0plus.h │ │ │ │ ├── core_cm1.h │ │ │ │ ├── core_cm23.h │ │ │ │ ├── core_cm3.h │ │ │ │ ├── core_cm33.h │ │ │ │ ├── core_cm4.h │ │ │ │ ├── core_cm7.h │ │ │ │ ├── core_sc000.h │ │ │ │ ├── core_sc300.h │ │ │ │ ├── mpu_armv7.h │ │ │ │ ├── mpu_armv8.h │ │ │ │ └── tz_context.h │ │ └── STM32F1xx_HAL_Driver │ │ │ ├── Inc │ │ │ ├── Legacy │ │ │ │ └── stm32_hal_legacy.h │ │ │ ├── stm32f1xx_hal.h │ │ │ ├── stm32f1xx_hal_cortex.h │ │ │ ├── stm32f1xx_hal_def.h │ │ │ ├── stm32f1xx_hal_dma.h │ │ │ ├── stm32f1xx_hal_dma_ex.h │ │ │ ├── stm32f1xx_hal_exti.h │ │ │ ├── stm32f1xx_hal_flash.h │ │ │ ├── stm32f1xx_hal_flash_ex.h │ │ │ ├── stm32f1xx_hal_gpio.h │ │ │ ├── stm32f1xx_hal_gpio_ex.h │ │ │ ├── stm32f1xx_hal_pwr.h │ │ │ ├── stm32f1xx_hal_rcc.h │ │ │ ├── stm32f1xx_hal_rcc_ex.h │ │ │ ├── stm32f1xx_hal_tim.h │ │ │ ├── stm32f1xx_hal_tim_ex.h │ │ │ └── stm32f1xx_hal_uart.h │ │ │ └── Src │ │ │ ├── stm32f1xx_hal.c │ │ │ ├── stm32f1xx_hal_cortex.c │ │ │ ├── stm32f1xx_hal_dma.c │ │ │ ├── stm32f1xx_hal_exti.c │ │ │ ├── stm32f1xx_hal_flash.c │ │ │ ├── stm32f1xx_hal_flash_ex.c │ │ │ ├── stm32f1xx_hal_gpio.c │ │ │ ├── stm32f1xx_hal_gpio_ex.c │ │ │ ├── stm32f1xx_hal_pwr.c │ │ │ ├── stm32f1xx_hal_rcc.c │ │ │ ├── stm32f1xx_hal_rcc_ex.c │ │ │ ├── stm32f1xx_hal_tim.c │ │ │ ├── stm32f1xx_hal_tim_ex.c │ │ │ └── stm32f1xx_hal_uart.c │ ├── MDK-ARM │ │ ├── DebugConfig │ │ │ └── Demo_STM32F103ZE_1.0.0.dbgconf │ │ ├── Demo.uvoptx │ │ ├── Demo.uvprojx │ │ ├── Demo │ │ │ └── Demo.sct │ │ ├── EventRecorderStub.scvd │ │ ├── RTE │ │ │ └── _Demo │ │ │ │ └── RTE_Components.h │ │ └── startup_stm32f103xe.s │ ├── Middlewares │ │ └── Third_Party │ │ │ └── FreeRTOS │ │ │ └── Source │ │ │ ├── CMSIS_RTOS_V2 │ │ │ ├── cmsis_os.h │ │ │ ├── cmsis_os2.c │ │ │ └── cmsis_os2.h │ │ │ ├── croutine.c │ │ │ ├── event_groups.c │ │ │ ├── include │ │ │ ├── FreeRTOS.h │ │ │ ├── StackMacros.h │ │ │ ├── atomic.h │ │ │ ├── croutine.h │ │ │ ├── deprecated_definitions.h │ │ │ ├── event_groups.h │ │ │ ├── list.h │ │ │ ├── message_buffer.h │ │ │ ├── mpu_prototypes.h │ │ │ ├── mpu_wrappers.h │ │ │ ├── portable.h │ │ │ ├── projdefs.h │ │ │ ├── queue.h │ │ │ ├── semphr.h │ │ │ ├── stack_macros.h │ │ │ ├── stream_buffer.h │ │ │ ├── task.h │ │ │ └── timers.h │ │ │ ├── list.c │ │ │ ├── portable │ │ │ ├── ARMv8M │ │ │ │ ├── ReadMe.txt │ │ │ │ ├── copy_files.py │ │ │ │ ├── non_secure │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portable │ │ │ │ │ │ ├── GCC │ │ │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ │ ├── ARM_CM23_NTZ │ │ │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ │ ├── ARM_CM33 │ │ │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ │ └── ARM_CM33_NTZ │ │ │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ └── IAR │ │ │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ │ ├── ARM_CM23_NTZ │ │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ │ ├── ARM_CM33 │ │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ │ └── ARM_CM33_NTZ │ │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ ├── portasm.h │ │ │ │ │ └── portmacro.h │ │ │ │ └── secure │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ ├── context │ │ │ │ │ ├── portable │ │ │ │ │ │ ├── GCC │ │ │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ │ │ │ └── secure_context_port.c │ │ │ │ │ │ │ └── ARM_CM33 │ │ │ │ │ │ │ │ └── secure_context_port.c │ │ │ │ │ │ └── IAR │ │ │ │ │ │ │ ├── ARM_CM23 │ │ │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ │ │ └── secure_context_port_asm.s │ │ │ │ │ │ │ └── ARM_CM33 │ │ │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ │ │ └── secure_context_port_asm.s │ │ │ │ │ ├── secure_context.c │ │ │ │ │ └── secure_context.h │ │ │ │ │ ├── heap │ │ │ │ │ ├── secure_heap.c │ │ │ │ │ └── secure_heap.h │ │ │ │ │ ├── init │ │ │ │ │ ├── secure_init.c │ │ │ │ │ └── secure_init.h │ │ │ │ │ └── macros │ │ │ │ │ └── secure_port_macros.h │ │ │ ├── BCC │ │ │ │ └── 16BitDOS │ │ │ │ │ ├── Flsh186 │ │ │ │ │ ├── port.c │ │ │ │ │ └── prtmacro.h │ │ │ │ │ ├── PC │ │ │ │ │ ├── port.c │ │ │ │ │ └── prtmacro.h │ │ │ │ │ └── common │ │ │ │ │ ├── portasm.h │ │ │ │ │ └── portcomn.c │ │ │ ├── CCS │ │ │ │ ├── ARM_CM3 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.asm │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM4F │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.asm │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_Cortex-R4 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.asm │ │ │ │ │ └── portmacro.h │ │ │ │ └── MSP430X │ │ │ │ │ ├── data_model.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portext.asm │ │ │ │ │ └── portmacro.h │ │ │ ├── CodeWarrior │ │ │ │ ├── ColdFire_V1 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ColdFire_V2 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ └── HCS12 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── Common │ │ │ │ └── mpu_wrappers.c │ │ │ ├── Compiler │ │ │ │ └── Arch │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── GCC │ │ │ │ ├── ARM7_AT91FR40008 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portISR.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM7_AT91SAM7S │ │ │ │ │ ├── AT91SAM7X256.h │ │ │ │ │ ├── ioat91sam7x256.h │ │ │ │ │ ├── lib_AT91SAM7X256.c │ │ │ │ │ ├── lib_AT91SAM7X256.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portISR.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM7_LPC2000 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portISR.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM7_LPC23xx │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portISR.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CA53_64_BIT │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CA9 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM0 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM23 │ │ │ │ │ ├── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── secure │ │ │ │ │ │ ├── secure_context.c │ │ │ │ │ │ ├── secure_context.h │ │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ │ ├── secure_heap.c │ │ │ │ │ │ ├── secure_heap.h │ │ │ │ │ │ ├── secure_init.c │ │ │ │ │ │ ├── secure_init.h │ │ │ │ │ │ └── secure_port_macros.h │ │ │ │ ├── ARM_CM23_NTZ │ │ │ │ │ └── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM3 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM33 │ │ │ │ │ ├── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── secure │ │ │ │ │ │ ├── secure_context.c │ │ │ │ │ │ ├── secure_context.h │ │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ │ ├── secure_heap.c │ │ │ │ │ │ ├── secure_heap.h │ │ │ │ │ │ ├── secure_init.c │ │ │ │ │ │ ├── secure_init.h │ │ │ │ │ │ └── secure_port_macros.h │ │ │ │ ├── ARM_CM33_NTZ │ │ │ │ │ └── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM3_MPU │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM4F │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM4_MPU │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM7 │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── r0p1 │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CR5 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CRx_No_GIC │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ATMega323 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── AVR32_UC3 │ │ │ │ │ ├── exception.S │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── CORTUS_APS3 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ColdFire_V2 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── H8S2329 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── HCS12 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── IA32_flat │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── MCF5235 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── MSP430F449 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── MicroBlaze │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── MicroBlazeV8 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_exceptions.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── MicroBlazeV9 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_exceptions.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── NiosII │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── PPC405_Xilinx │ │ │ │ │ ├── FPU_Macros.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── PPC440_Xilinx │ │ │ │ │ ├── FPU_Macros.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RISC-V │ │ │ │ │ ├── Documentation.url │ │ │ │ │ ├── chip_specific_extensions │ │ │ │ │ │ ├── Pulpino_Vega_RV32M1RM │ │ │ │ │ │ │ └── freertos_risc_v_chip_specific_extensions.h │ │ │ │ │ │ ├── RV32I_CLINT_no_extensions │ │ │ │ │ │ │ └── freertos_risc_v_chip_specific_extensions.h │ │ │ │ │ │ └── readme.txt │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.S │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── readme.txt │ │ │ │ ├── RL78 │ │ │ │ │ ├── isr_support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX100 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX600 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX600v2 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── STR75x │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portISR.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── TriCore_1782 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── porttrap.c │ │ │ │ ├── nrf52840-dk │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_cmsis.c │ │ │ │ │ ├── port_cmsis_systick.c │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacro_cmsis.h │ │ │ │ └── stubs │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── IAR │ │ │ │ ├── 78K0R │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s26 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CA5_No_GIC │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.h │ │ │ │ │ ├── portASM.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CA9 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.h │ │ │ │ │ ├── portASM.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM0 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM23 │ │ │ │ │ ├── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── secure │ │ │ │ │ │ ├── secure_context.c │ │ │ │ │ │ ├── secure_context.h │ │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ │ ├── secure_context_port_asm.s │ │ │ │ │ │ ├── secure_heap.c │ │ │ │ │ │ ├── secure_heap.h │ │ │ │ │ │ ├── secure_init.c │ │ │ │ │ │ ├── secure_init.h │ │ │ │ │ │ └── secure_port_macros.h │ │ │ │ ├── ARM_CM23_NTZ │ │ │ │ │ └── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM3 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM33 │ │ │ │ │ ├── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── secure │ │ │ │ │ │ ├── secure_context.c │ │ │ │ │ │ ├── secure_context.h │ │ │ │ │ │ ├── secure_context_port.c │ │ │ │ │ │ ├── secure_context_port_asm.s │ │ │ │ │ │ ├── secure_heap.c │ │ │ │ │ │ ├── secure_heap.h │ │ │ │ │ │ ├── secure_init.c │ │ │ │ │ │ ├── secure_init.h │ │ │ │ │ │ └── secure_port_macros.h │ │ │ │ ├── ARM_CM33_NTZ │ │ │ │ │ └── non_secure │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.h │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM4F │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM4F_MPU │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM7 │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── r0p1 │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.s │ │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CRx_No_GIC │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ATMega323 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacro.s90 │ │ │ │ ├── AVR32_UC3 │ │ │ │ │ ├── exception.s82 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portmacro.h │ │ │ │ │ ├── read.c │ │ │ │ │ └── write.c │ │ │ │ ├── AtmelSAM7S64 │ │ │ │ │ ├── AT91SAM7S64.h │ │ │ │ │ ├── AT91SAM7S64_inc.h │ │ │ │ │ ├── AT91SAM7X128.h │ │ │ │ │ ├── AT91SAM7X128_inc.h │ │ │ │ │ ├── AT91SAM7X256.h │ │ │ │ │ ├── AT91SAM7X256_inc.h │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── lib_AT91SAM7S64.h │ │ │ │ │ ├── lib_AT91SAM7X128.h │ │ │ │ │ ├── lib_AT91SAM7X256.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s79 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── AtmelSAM9XE │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s79 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── LPC2000 │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s79 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── MSP430 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portext.s43 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── MSP430X │ │ │ │ │ ├── data_model.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portext.s43 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RL78 │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s87 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX100 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX600 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RXv2 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.s │ │ │ │ │ └── portmacro.h │ │ │ │ ├── STR71x │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s79 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── STR75x │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s79 │ │ │ │ │ └── portmacro.h │ │ │ │ ├── STR91x │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s79 │ │ │ │ │ └── portmacro.h │ │ │ │ └── V850ES │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s85 │ │ │ │ │ ├── portasm_Fx3.s85 │ │ │ │ │ ├── portasm_Hx2.s85 │ │ │ │ │ └── portmacro.h │ │ │ ├── Keil │ │ │ │ └── See-also-the-RVDS-directory.txt │ │ │ ├── MPLAB │ │ │ │ ├── PIC18F │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── stdio.h │ │ │ │ ├── PIC24_dsPIC │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm_PIC24.S │ │ │ │ │ ├── portasm_dsPIC.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── PIC32MEC14xx │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.S │ │ │ │ │ └── portmacro.h │ │ │ │ ├── PIC32MX │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.S │ │ │ │ │ └── portmacro.h │ │ │ │ └── PIC32MZ │ │ │ │ │ ├── ISR_Support.h │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.S │ │ │ │ │ └── portmacro.h │ │ │ ├── MSVC-MingW │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ │ ├── MemMang │ │ │ │ ├── ReadMe.url │ │ │ │ ├── heap_1.c │ │ │ │ ├── heap_2.c │ │ │ │ ├── heap_3.c │ │ │ │ ├── heap_4.c │ │ │ │ └── heap_5.c │ │ │ ├── MikroC │ │ │ │ └── ARM_CM4F │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── Paradigm │ │ │ │ └── Tern_EE │ │ │ │ │ ├── large_untested │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── small │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ └── portmacro.h │ │ │ ├── RVDS │ │ │ │ ├── ARM7_LPC21xx │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.s │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacro.inc │ │ │ │ ├── ARM_CA9 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portASM.s │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacro.inc │ │ │ │ ├── ARM_CM0 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM3 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM4F │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ ├── ARM_CM4_MPU │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ └── ARM_CM7 │ │ │ │ │ ├── ReadMe.txt │ │ │ │ │ └── r0p1 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── Renesas │ │ │ │ ├── RX100 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.src │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX200 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.src │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX600 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.src │ │ │ │ │ └── portmacro.h │ │ │ │ ├── RX600v2 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.src │ │ │ │ │ └── portmacro.h │ │ │ │ └── SH2A_FPU │ │ │ │ │ ├── ISR_Support.inc │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.src │ │ │ │ │ └── portmacro.h │ │ │ ├── Rowley │ │ │ │ ├── ARM7 │ │ │ │ │ └── readme.txt │ │ │ │ └── MSP430F449 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portext.asm │ │ │ │ │ └── portmacro.h │ │ │ ├── SDCC │ │ │ │ └── Cygnal │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── Softune │ │ │ │ ├── MB91460 │ │ │ │ │ ├── __STD_LIB_sbrk.c │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ └── MB96340 │ │ │ │ │ ├── __STD_LIB_sbrk.c │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── Tasking │ │ │ │ └── ARM_CM4F │ │ │ │ │ ├── port.c │ │ │ │ │ ├── port_asm.asm │ │ │ │ │ └── portmacro.h │ │ │ ├── ThirdParty │ │ │ │ ├── GCC │ │ │ │ │ ├── RISC-V │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.S │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ ├── Wiced_CY │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portASM.S │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── Xtensa_ESP32 │ │ │ │ │ │ ├── FreeRTOS-openocd.c │ │ │ │ │ │ ├── include │ │ │ │ │ │ ├── portbenchmark.h │ │ │ │ │ │ ├── portmacro.h │ │ │ │ │ │ ├── xtensa_api.h │ │ │ │ │ │ ├── xtensa_config.h │ │ │ │ │ │ ├── xtensa_context.h │ │ │ │ │ │ ├── xtensa_rtos.h │ │ │ │ │ │ └── xtensa_timer.h │ │ │ │ │ │ ├── port.c │ │ │ │ │ │ ├── portasm.S │ │ │ │ │ │ ├── portmux_impl.h │ │ │ │ │ │ ├── portmux_impl.inc.h │ │ │ │ │ │ ├── xtensa_context.S │ │ │ │ │ │ ├── xtensa_init.c │ │ │ │ │ │ ├── xtensa_intr.c │ │ │ │ │ │ ├── xtensa_intr_asm.S │ │ │ │ │ │ ├── xtensa_overlay_os_hook.c │ │ │ │ │ │ ├── xtensa_vector_defaults.S │ │ │ │ │ │ └── xtensa_vectors.S │ │ │ │ └── XCC │ │ │ │ │ └── Xtensa │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.S │ │ │ │ │ ├── portbenchmark.h │ │ │ │ │ ├── portclib.c │ │ │ │ │ ├── portmacro.h │ │ │ │ │ ├── porttrace.h │ │ │ │ │ ├── readme_xtensa.txt │ │ │ │ │ ├── xtensa_api.h │ │ │ │ │ ├── xtensa_config.h │ │ │ │ │ ├── xtensa_context.S │ │ │ │ │ ├── xtensa_context.h │ │ │ │ │ ├── xtensa_init.c │ │ │ │ │ ├── xtensa_intr.c │ │ │ │ │ ├── xtensa_intr_asm.S │ │ │ │ │ ├── xtensa_overlay_os_hook.c │ │ │ │ │ ├── xtensa_rtos.h │ │ │ │ │ ├── xtensa_timer.h │ │ │ │ │ └── xtensa_vectors.S │ │ │ ├── WizC │ │ │ │ └── PIC18 │ │ │ │ │ ├── Drivers │ │ │ │ │ └── Tick │ │ │ │ │ │ ├── Tick.c │ │ │ │ │ │ └── isrTick.c │ │ │ │ │ ├── Install.bat │ │ │ │ │ ├── addFreeRTOS.h │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── oWatcom │ │ │ │ └── 16BitDOS │ │ │ │ │ ├── Flsh186 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ │ ├── PC │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ │ │ └── common │ │ │ │ │ ├── portasm.h │ │ │ │ │ └── portcomn.c │ │ │ └── readme.txt │ │ │ ├── queue.c │ │ │ ├── stream_buffer.c │ │ │ ├── tasks.c │ │ │ └── timers.c │ ├── POSIX │ │ ├── FreeRTOS-Plus-POSIX │ │ │ ├── include │ │ │ │ ├── FreeRTOS_POSIX.h │ │ │ │ ├── FreeRTOS_POSIX_internal.h │ │ │ │ ├── FreeRTOS_POSIX_types.h │ │ │ │ └── portable │ │ │ │ │ ├── FreeRTOS_POSIX_portable_default.h │ │ │ │ │ ├── espressif │ │ │ │ │ └── esp32_devkitc_esp_wrover_kit │ │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ │ ├── microchip │ │ │ │ │ └── curiosity_pic32mzef │ │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ │ ├── nxp │ │ │ │ │ └── lpc54018iotmodule │ │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ │ ├── pc │ │ │ │ │ └── windows │ │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ │ ├── st │ │ │ │ │ └── stm32l475_discovery │ │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ │ └── ti │ │ │ │ │ └── cc3220_launchpad │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ └── source │ │ │ │ ├── FreeRTOS_POSIX_clock.c │ │ │ │ ├── FreeRTOS_POSIX_mqueue.c │ │ │ │ ├── FreeRTOS_POSIX_pthread.c │ │ │ │ ├── FreeRTOS_POSIX_pthread_barrier.c │ │ │ │ ├── FreeRTOS_POSIX_pthread_cond.c │ │ │ │ ├── FreeRTOS_POSIX_pthread_mutex.c │ │ │ │ ├── FreeRTOS_POSIX_sched.c │ │ │ │ ├── FreeRTOS_POSIX_semaphore.c │ │ │ │ ├── FreeRTOS_POSIX_timer.c │ │ │ │ ├── FreeRTOS_POSIX_unistd.c │ │ │ │ └── FreeRTOS_POSIX_utils.c │ │ └── include │ │ │ ├── FreeRTOS_POSIX │ │ │ ├── errno.h │ │ │ ├── fcntl.h │ │ │ ├── mqueue.h │ │ │ ├── pthread.h │ │ │ ├── sched.h │ │ │ ├── semaphore.h │ │ │ ├── signal.h │ │ │ ├── sys │ │ │ │ └── types.h │ │ │ ├── time.h │ │ │ ├── unistd.h │ │ │ └── utils.h │ │ │ └── private │ │ │ └── iot_doubly_linked_list.h │ └── posix移植笔记.md ├── FreeRTOS_STM32H7_Demo │ ├── .mxproject │ ├── Core │ │ ├── Inc │ │ │ ├── FreeRTOSConfig.h │ │ │ ├── gpio.h │ │ │ ├── main.h │ │ │ ├── stm32h7xx_hal_conf.h │ │ │ ├── stm32h7xx_it.h │ │ │ └── usart.h │ │ └── Src │ │ │ ├── gpio.c │ │ │ ├── main.c │ │ │ ├── stm32h7xx_hal_msp.c │ │ │ ├── stm32h7xx_hal_timebase_tim.c │ │ │ ├── stm32h7xx_it.c │ │ │ ├── system_stm32h7xx.c │ │ │ └── usart.c │ ├── Drivers │ │ ├── CMSIS │ │ │ ├── Device │ │ │ │ └── ST │ │ │ │ │ └── STM32H7xx │ │ │ │ │ └── Include │ │ │ │ │ ├── stm32h743xx.h │ │ │ │ │ ├── stm32h7xx.h │ │ │ │ │ └── system_stm32h7xx.h │ │ │ └── Include │ │ │ │ ├── cmsis_armcc.h │ │ │ │ ├── cmsis_armclang.h │ │ │ │ ├── cmsis_armclang_ltm.h │ │ │ │ ├── cmsis_compiler.h │ │ │ │ ├── cmsis_gcc.h │ │ │ │ ├── cmsis_iccarm.h │ │ │ │ ├── cmsis_version.h │ │ │ │ ├── core_armv81mml.h │ │ │ │ ├── core_armv8mbl.h │ │ │ │ ├── core_armv8mml.h │ │ │ │ ├── core_cm0.h │ │ │ │ ├── core_cm0plus.h │ │ │ │ ├── core_cm1.h │ │ │ │ ├── core_cm23.h │ │ │ │ ├── core_cm3.h │ │ │ │ ├── core_cm33.h │ │ │ │ ├── core_cm35p.h │ │ │ │ ├── core_cm4.h │ │ │ │ ├── core_cm7.h │ │ │ │ ├── core_sc000.h │ │ │ │ ├── core_sc300.h │ │ │ │ ├── mpu_armv7.h │ │ │ │ ├── mpu_armv8.h │ │ │ │ └── tz_context.h │ │ └── STM32H7xx_HAL_Driver │ │ │ ├── Inc │ │ │ ├── Legacy │ │ │ │ └── stm32_hal_legacy.h │ │ │ ├── stm32h7xx_hal.h │ │ │ ├── stm32h7xx_hal_cortex.h │ │ │ ├── stm32h7xx_hal_def.h │ │ │ ├── stm32h7xx_hal_dma.h │ │ │ ├── stm32h7xx_hal_dma_ex.h │ │ │ ├── stm32h7xx_hal_exti.h │ │ │ ├── stm32h7xx_hal_flash.h │ │ │ ├── stm32h7xx_hal_flash_ex.h │ │ │ ├── stm32h7xx_hal_gpio.h │ │ │ ├── stm32h7xx_hal_gpio_ex.h │ │ │ ├── stm32h7xx_hal_hsem.h │ │ │ ├── stm32h7xx_hal_i2c.h │ │ │ ├── stm32h7xx_hal_i2c_ex.h │ │ │ ├── stm32h7xx_hal_mdma.h │ │ │ ├── stm32h7xx_hal_pwr.h │ │ │ ├── stm32h7xx_hal_pwr_ex.h │ │ │ ├── stm32h7xx_hal_rcc.h │ │ │ ├── stm32h7xx_hal_rcc_ex.h │ │ │ ├── stm32h7xx_hal_tim.h │ │ │ ├── stm32h7xx_hal_tim_ex.h │ │ │ ├── stm32h7xx_hal_uart.h │ │ │ └── stm32h7xx_hal_uart_ex.h │ │ │ └── Src │ │ │ ├── stm32h7xx_hal.c │ │ │ ├── stm32h7xx_hal_cortex.c │ │ │ ├── stm32h7xx_hal_dma.c │ │ │ ├── stm32h7xx_hal_dma_ex.c │ │ │ ├── stm32h7xx_hal_exti.c │ │ │ ├── stm32h7xx_hal_flash.c │ │ │ ├── stm32h7xx_hal_flash_ex.c │ │ │ ├── stm32h7xx_hal_gpio.c │ │ │ ├── stm32h7xx_hal_hsem.c │ │ │ ├── stm32h7xx_hal_i2c.c │ │ │ ├── stm32h7xx_hal_i2c_ex.c │ │ │ ├── stm32h7xx_hal_mdma.c │ │ │ ├── stm32h7xx_hal_pwr.c │ │ │ ├── stm32h7xx_hal_pwr_ex.c │ │ │ ├── stm32h7xx_hal_rcc.c │ │ │ ├── stm32h7xx_hal_rcc_ex.c │ │ │ ├── stm32h7xx_hal_tim.c │ │ │ ├── stm32h7xx_hal_tim_ex.c │ │ │ ├── stm32h7xx_hal_uart.c │ │ │ └── stm32h7xx_hal_uart_ex.c │ ├── Makefile │ ├── STM32H743ZITx_FLASH.ld │ ├── STM32H7_FreeRTOS_Demo.ioc │ └── startup_stm32h743xx.s └── FreeRTOS_Windows_Simulator │ ├── FreeRTOSConfig.h │ ├── FreeRTOS_Plus_POSIX_with_actor.sln │ ├── WIN32.vcxproj │ ├── WIN32.vcxproj.filters │ ├── WIN32.vcxproj.user │ ├── lib │ ├── FreeRTOS-Plus-POSIX │ │ ├── include │ │ │ ├── FreeRTOS_POSIX.h │ │ │ ├── FreeRTOS_POSIX_internal.h │ │ │ ├── FreeRTOS_POSIX_types.h │ │ │ └── portable │ │ │ │ ├── FreeRTOS_POSIX_portable_default.h │ │ │ │ ├── espressif │ │ │ │ └── esp32_devkitc_esp_wrover_kit │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ ├── microchip │ │ │ │ └── curiosity_pic32mzef │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ ├── nxp │ │ │ │ └── lpc54018iotmodule │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ ├── pc │ │ │ │ └── windows │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ ├── st │ │ │ │ └── stm32l475_discovery │ │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ │ │ └── ti │ │ │ │ └── cc3220_launchpad │ │ │ │ └── FreeRTOS_POSIX_portable.h │ │ └── source │ │ │ ├── FreeRTOS_POSIX_clock.c │ │ │ ├── FreeRTOS_POSIX_mqueue.c │ │ │ ├── FreeRTOS_POSIX_pthread.c │ │ │ ├── FreeRTOS_POSIX_pthread_barrier.c │ │ │ ├── FreeRTOS_POSIX_pthread_cond.c │ │ │ ├── FreeRTOS_POSIX_pthread_mutex.c │ │ │ ├── FreeRTOS_POSIX_sched.c │ │ │ ├── FreeRTOS_POSIX_semaphore.c │ │ │ ├── FreeRTOS_POSIX_timer.c │ │ │ ├── FreeRTOS_POSIX_unistd.c │ │ │ └── FreeRTOS_POSIX_utils.c │ └── include │ │ ├── FreeRTOS_POSIX │ │ ├── errno.h │ │ ├── fcntl.h │ │ ├── mqueue.h │ │ ├── pthread.h │ │ ├── sched.h │ │ ├── semaphore.h │ │ ├── signal.h │ │ ├── sys │ │ │ └── types.h │ │ ├── time.h │ │ ├── unistd.h │ │ └── utils.h │ │ └── private │ │ └── iot_doubly_linked_list.h │ ├── main.c │ ├── posix_demo.c │ ├── posix_demo.h │ └── readme.txt └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Object files 2 | *.o 3 | *.elf 4 | *.d 5 | *.map 6 | *.def 7 | *.htm 8 | *.html 9 | *.axf 10 | *.crf 11 | *.uvgui.* 12 | *.OutJob 13 | *._2i 14 | *.fed 15 | *.l2p 16 | *.log 17 | *.uvguix.* 18 | *.dep 19 | *.lnp 20 | *.iex 21 | 22 | 23 | # Executables 24 | *.exe 25 | *.app 26 | *.bin 27 | *.hex 28 | 29 | 30 | # folder 31 | .vscode 32 | History 33 | .vs 34 | Debug 35 | build 36 | 37 | 38 | -------------------------------------------------------------------------------- /Documents/Picture/POSIX.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Documents/Picture/POSIX.jpg -------------------------------------------------------------------------------- /Documents/Picture/资源占用.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Documents/Picture/资源占用.png -------------------------------------------------------------------------------- /Documents/Picture/资源占用(O3优化).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Documents/Picture/资源占用(O3优化).png -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Each line is a file pattern followed by one or more owners. 2 | 3 | # These owners will be the default owners for everything in 4 | # the repo. Unless a later match takes precedence, 5 | # @global-owner1 and @global-owner2 will be requested for 6 | # review when someone opens a pull request. 7 | * @FreeRTOS/pr-bar-raiser 8 | 9 | # Order is important; the last matching pattern takes the most 10 | # precedence. When someone opens a pull request that only 11 | # modifies JS files, only @js-owner and not the global 12 | # owner(s) will be requested for a review. 13 | # *.c FreeRTOS/pr-bar-raiser 14 | 15 | # You can also use email addresses if you prefer. They'll be 16 | # used to look up users just like we do for commit author 17 | # emails. 18 | # *.go docs@example.com 19 | 20 | # In this example, @doctocat owns any files in the build/logs 21 | # directory at the root of the repository and any of its 22 | # subdirectories. 23 | # /build/logs/ @doctocat 24 | 25 | # The `docs/*` pattern will match files like 26 | # `docs/getting-started.md` but not further nested files like 27 | # `docs/build-app/troubleshooting.md`. 28 | # docs/* docs@example.com 29 | 30 | # In this example, @octocat owns any file in an apps directory 31 | # anywhere in your repository. 32 | # apps/ @octocat 33 | 34 | # In this example, @doctocat owns any file in the `/docs` 35 | # directory in the root of your repository and any of its 36 | # subdirectories. 37 | # /docs/ @doctocat 38 | 39 | 40 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/ISSUE_TEMPLATE/bug-report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve FreeRTOS. This should only be used for confirmed 4 | bugs. If you suspect something it is best to first discuss it on the FreeRTOS community 5 | support forums linked below. 6 | title: "[BUG]" 7 | labels: bug 8 | assignees: '' 9 | 10 | --- 11 | 12 | **Describe the bug** 13 | A concise description of what the bug is. 14 | 15 | **Target** 16 | - Development board: [e.g. HiFive11 RevB] 17 | - Instruction Set Architecture: [e.g. RV32IMAC] 18 | - IDE and version: [e.g. Freedom Studio 4.12.0.2019-08-2] 19 | - Toolchain and version: [e.g. riscv64-unknown-elf-gcc-8.3.0-2019.08.0] 20 | 21 | **Host** 22 | - Host OS: [e.g. MacOS] 23 | - Version: [e.g. Mojave 10.14.6] 24 | 25 | **To Reproduce** 26 | - Use project ... and configure with ... 27 | - Run on ... and could observe ... 28 | 29 | **Expected behavior** 30 | A concise description of what you expected to happen. 31 | 32 | **Screenshots** 33 | If applicable, add screenshots to help explain your problem. 34 | 35 | **Additional context** 36 | Add any other context about the problem here. 37 | e.g. code snippet to reproduce the issue. 38 | e.g. stack trace, memory dump, debugger log, and many etc. 39 | 40 | 41 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: FreeRTOS Community Support Forum 4 | url: https://forums.freertos.org/ 5 | about: Please ask and answer questions about FreeRTOS here. 6 | 7 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/ISSUE_TEMPLATE/documentation-issue.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Documentation issue 3 | about: Create a report to help us improve our documentation. 4 | title: "[DOC]" 5 | labels: documentation 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the issue** 11 | Please describe the issue and expected clarification in concise language. 12 | 13 | **Reference** 14 | Please attach the URL at which you are experiencing the issue. 15 | 16 | **Screenshot** 17 | If applicable, please attach screenshot. 18 | 19 | **Browser** 20 | - Browser: [e.g. Chrome] 21 | - Version: [e.g. 80.0.3987.132] 22 | 23 | 24 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest a new feature for this project 4 | title: "[Feature Request] " 5 | labels: enhancement 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/SECURITY.md: -------------------------------------------------------------------------------- 1 | ## Reporting a Vulnerability 2 | 3 | If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security 4 | via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/) or directly via email to aws-security@amazon.com. 5 | Please do **not** create a public github issue. 6 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/actions/url_verifier.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash - 2 | 3 | PROJECT=$1 4 | echo "Verifying url links of: ${PROJECT}" 5 | if [ ! -d "$PROJECT" ] 6 | then 7 | echo "Directory passed does not exist" 8 | exit 2 9 | fi 10 | 11 | USER_AGENT="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.146 Safari/537.36" 12 | SCRIPT_RET=0 13 | 14 | set -o nounset # Treat unset variables as an error 15 | 16 | declare -A dict 17 | 18 | function test { 19 | while IFS= read -r LINE; do 20 | FILE=$(echo $LINE | cut -f 1 -d ':') 21 | URL=$(echo $LINE | grep -IoE '\b(https?|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]*[-A-Za-z0-9+&@#/%=~_|]') 22 | 23 | # remove trailing / if it exists curl diferenciate between links with 24 | # and without / at the end 25 | # URL=`echo "$URL" | sed 's,/$,,'` 26 | dict+=(["$URL"]="$FILE ") 27 | done < <(grep -e 'https\?://' ${PROJECT} -RIa --exclude='*.exe' --exclude-dir=.git | tr '*' ' ') 28 | 29 | for UNIQ_URL in ${!dict[@]} # loop urls 30 | do 31 | CURL_RES=$(curl -si --user-agent "$(USER_AGENT)" ${UNIQ_URL} 2>/dev/null| head -n 1 | cut -f 2 -d ' ') 32 | RES=$? 33 | 34 | if [ "${CURL_RES}" == '' -o "${CURL_RES}" != '200' ] 35 | then 36 | echo "URL is: ${UNIQ_URL}" 37 | echo "File names: ${dict[$UNIQ_URL]}" 38 | if [ "${CURL_RES}" == '' ] # curl returned an error 39 | then 40 | CURL_RES=$RES 41 | SCRIPT_RET=1 42 | echo ERROR: Result is: "${CURL_RES}" 43 | elif [ "${CURL_RES}" == '403' ] 44 | then 45 | SCRIPT_RET=1 46 | echo ERROR: Result is: "${CURL_RES}" 47 | else 48 | echo WARNING: Result is: "${CURL_RES}" 49 | fi 50 | echo "=================================" 51 | fi 52 | done 53 | 54 | if [ "${SCRIPT_RET}" -eq 0 ] 55 | then 56 | exit 0 57 | else 58 | exit 1 59 | fi 60 | } 61 | 62 | test 63 | 64 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | Description 4 | ----------- 5 | 6 | 7 | Test Steps 8 | ----------- 9 | 10 | 11 | Related Issue 12 | ----------- 13 | 14 | 15 | 16 | By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice. 17 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/scripts/find_replace.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | old_text=$1 3 | new_text=$2 4 | echo "Old text: ${old_text}" 5 | echo "New text: ${new_text}" 6 | grep -rl "${old_text}" . | xargs gsed -i -e '1h;2,$H;$!d;g' -e "s/${old_text}/${new_text}/g" 7 | 8 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/workflows/auto-release.yml: -------------------------------------------------------------------------------- 1 | name: Kernel-Auto-Release 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | commit_id: 7 | description: 'Commit ID' 8 | required: true 9 | default: 'HEAD' 10 | version_number: 11 | description: 'Version Number (Ex. 10.4.4)' 12 | required: true 13 | default: '10.4.4' 14 | main_br_version: 15 | description: "Version String for task.h on main branch (leave empty to leave as-is)." 16 | require: false 17 | default: '' 18 | 19 | jobs: 20 | release-packager: 21 | name: Release Packager 22 | runs-on: ubuntu-latest 23 | steps: 24 | # Install python 3 25 | - name: Tool Setup 26 | uses: actions/setup-python@v2 27 | with: 28 | python-version: 3.7.10 29 | architecture: x64 30 | env: 31 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 32 | 33 | # Currently FreeRTOS/.github/scripts houses the release script. Download it for upcoming usage 34 | - name: Checkout FreeRTOS Release Tools 35 | uses: actions/checkout@v2 36 | with: 37 | repository: FreeRTOS/FreeRTOS 38 | path: tools 39 | 40 | # Simpler git auth if we use checkout action and forward the repo to release script 41 | - name: Checkout FreeRTOS Kernel 42 | uses: actions/checkout@v2 43 | with: 44 | path: local_kernel 45 | fetch-depth: 0 46 | 47 | - name: Release 48 | run: | 49 | # Configure repo for push 50 | git config --global user.name ${{ github.actor }} 51 | git config --global user.email ${{ github.actor }}@users.noreply.github.com 52 | # Install deps and run 53 | pip install -r ./tools/.github/scripts/release-requirements.txt 54 | ./tools/.github/scripts/release.py FreeRTOS --kernel-repo-path=local_kernel --kernel-commit=${{ github.event.inputs.commit_id }} --new-kernel-version=${{ github.event.inputs.version_number }} --new-kernel-main-br-version=${{ github.event.inputs.main_br_version }} 55 | exit $? 56 | env: 57 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 58 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI Checks 2 | on: 3 | push: 4 | branches: ["**"] 5 | pull_request: 6 | branches: [main] 7 | workflow_dispatch: 8 | jobs: 9 | spell-check: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout Parent Repo 13 | uses: actions/checkout@v2 14 | with: 15 | ref: main 16 | repository: aws/aws-iot-device-sdk-embedded-C 17 | path: main 18 | - name: Clone This Repo 19 | uses: actions/checkout@v2 20 | with: 21 | path: ./kernel 22 | - name: Install spell 23 | run: | 24 | sudo apt-get install spell 25 | sudo apt-get install util-linux 26 | - name: Check spelling 27 | run: | 28 | PATH=$PATH:main/tools/spell 29 | # Make sure that the portable directory is not included in the spellcheck. 30 | sed -i 's/find $DIRNAME/find $DIRNAME -not -path '*portable*'/g' main/tools/spell/find-unknown-comment-words 31 | find-unknown-comment-words --directory kernel/ --lexicon ./kernel/.github/lexicon.txt 32 | if [ "$?" = "0" ]; then 33 | exit 0 34 | else 35 | exit 1 36 | fi 37 | url-check: 38 | runs-on: ubuntu-latest 39 | steps: 40 | - name: Clone This Repo 41 | uses: actions/checkout@v2 42 | with: 43 | path: ./kernel 44 | - name: URL Checker 45 | run: | 46 | bash kernel/.github/actions/url_verifier.sh kernel 47 | 48 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/workflows/git-secrets.yml: -------------------------------------------------------------------------------- 1 | name: git-secrets Check 2 | on: 3 | push: 4 | pull_request: 5 | workflow_dispatch: 6 | jobs: 7 | git-secrets: 8 | runs-on: ubuntu-latest 9 | steps: 10 | - uses: actions/checkout@v2 11 | with: 12 | submodules: recursive 13 | - name: Checkout awslabs/git-secrets 14 | uses: actions/checkout@v2 15 | with: 16 | repository: awslabs/git-secrets 17 | ref: master 18 | path: git-secrets 19 | - name: Install git-secrets 20 | run: cd git-secrets && sudo make install && cd .. 21 | - name: Run git-secrets 22 | run: | 23 | git-secrets --register-aws 24 | git-secrets --scan 25 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/.github/workflows/unit-tests.yml: -------------------------------------------------------------------------------- 1 | name: CMock Unit Tests 2 | on: [push, pull_request] 3 | 4 | jobs: 5 | run: 6 | runs-on: ubuntu-latest 7 | steps: 8 | - name: Checkout Parent Repository 9 | uses: actions/checkout@v2 10 | with: 11 | ref: main 12 | repository: FreeRTOS/FreeRTOS 13 | submodules: 'recursive' 14 | fetch-depth: 1 15 | - name: Clone This Repo 16 | uses: actions/checkout@v2 17 | with: 18 | path: ./FreeRTOS/Source 19 | 20 | - name: Setup Python 21 | uses: actions/setup-python@master 22 | with: 23 | python-version: 3.8 24 | 25 | - name: Install packages 26 | run: | 27 | sudo apt-get install lcov cflow ruby doxygen build-essential 28 | - name: Run Unit Tests with ENABLE_SANITIZER=1 29 | run: | 30 | make -C FreeRTOS/Test/CMock clean 31 | make -C FreeRTOS/Test/CMock ENABLE_SANITIZER=1 run_col_formatted 32 | - name: Run Unit Tests for coverage 33 | run: | 34 | make -C FreeRTOS/Test/CMock clean 35 | make -C FreeRTOS/Test/CMock lcovhtml 36 | lcov --config-file FreeRTOS/Test/CMock/lcovrc --summary FreeRTOS/Test/CMock/build/cmock_test.info > FreeRTOS/Test/CMock/build/cmock_test_summary.txt 37 | - name: Upload coverage to Codecov 38 | uses: codecov/codecov-action@v1 39 | with: 40 | files: FreeRTOS/Test/CMock/build/cmock_test.info 41 | working-directory: . 42 | root_dir: FreeRTOS/Source 43 | flags: unittests 44 | fail_ci_if_error: false 45 | path_to_write_report: coverage/codecov_report.txt 46 | verbose: false 47 | - name: Archive code coverage data 48 | uses: actions/upload-artifact@v2 49 | with: 50 | name: coverage-data 51 | path: FreeRTOS/Test/CMock/build/cmock_test* 52 | - name: Archive code coverage html report 53 | uses: actions/upload-artifact@v2 54 | with: 55 | name: coverage-report 56 | path: FreeRTOS/Test/CMock/build/coverage 57 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/GitHub-FreeRTOS-Kernel-Home.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=https://github.com/FreeRTOS/FreeRTOS-Kernel 5 | IconIndex=0 6 | IDList= 7 | HotKey=0 8 | 9 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/Quick_Start_Guide.url: -------------------------------------------------------------------------------- 1 | [InternetShortcut] 2 | URL=https://www.FreeRTOS.org/FreeRTOS-quick-start-guide.html 3 | IDList= 4 | [{000214A0-0000-0000-C000-000000000046}] 5 | Prop3=19,2 6 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/include/StackMacros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | 30 | #ifndef _MSC_VER /* Visual Studio doesn't support #warning. */ 31 | #warning The name of this file has changed to stack_macros.h. Please update your code accordingly. This source file (which has the original name) will be removed in future released. 32 | #endif 33 | 34 | #include "stack_macros.h" 35 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ARMClang/Use-the-GCC-ports.txt: -------------------------------------------------------------------------------- 1 | The FreeRTOS GCC port layer also builds and works with the ARMClang compiler. 2 | To use the ARMClang compiler build the port files from FreeRTOS/Source/portable/GCC. -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ARMv8M/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeeRTOS Cortex-M33 port. 2 | Do not use the files located here! These file are copied into separate 3 | FreeRTOS/Source/portable/[compiler]/ARM_CM33_NNN directories prior to each 4 | FreeRTOS release. 5 | 6 | If your Cortex-M33 application uses TrustZone then use the files from the 7 | FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. 8 | 9 | If your Cortex-M33 application does not use TrustZone then use the files from 10 | the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. 11 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ARMv8M/non_secure/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeeRTOS Cortex-M33 port. 2 | Do not use the files located here! These file are copied into separate 3 | FreeRTOS/Source/portable/[compiler]/ARM_CM33_NNN directories prior to each 4 | FreeRTOS release. 5 | 6 | If your Cortex-M33 application uses TrustZone then use the files from the 7 | FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. 8 | 9 | If your Cortex-M33 application does not use TrustZone then use the files from 10 | the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. 11 | 12 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ARMv8M/secure/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeeRTOS Cortex-M33 port. 2 | Do not use the files located here! These file are copied into separate 3 | FreeRTOS/Source/portable/[compiler]/ARM_CM33_NNN directories prior to each 4 | FreeRTOS release. 5 | 6 | If your Cortex-M33 application uses TrustZone then use the files from the 7 | FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. 8 | 9 | If your Cortex-M33 application does not use TrustZone then use the files from 10 | the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. 11 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ARMv8M/secure/heap/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef __SECURE_HEAP_H__ 30 | #define __SECURE_HEAP_H__ 31 | 32 | /* Standard includes. */ 33 | #include 34 | 35 | /** 36 | * @brief Allocates memory from heap. 37 | * 38 | * @param[in] xWantedSize The size of the memory to be allocated. 39 | * 40 | * @return Pointer to the memory region if the allocation is successful, NULL 41 | * otherwise. 42 | */ 43 | void * pvPortMalloc( size_t xWantedSize ); 44 | 45 | /** 46 | * @brief Frees the previously allocated memory. 47 | * 48 | * @param[in] pv Pointer to the memory to be freed. 49 | */ 50 | void vPortFree( void * pv ); 51 | 52 | #endif /* __SECURE_HEAP_H__ */ 53 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/CCS/MSP430X/data_model.h: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.4.4 3 | ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * SPDX-License-Identifier: MIT 6 | ; * 7 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | ; * this software and associated documentation files (the "Software"), to deal in 9 | ; * the Software without restriction, including without limitation the rights to 10 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 12 | ; * subject to the following conditions: 13 | ; * 14 | ; * The above copyright notice and this permission notice shall be included in all 15 | ; * copies or substantial portions of the Software. 16 | ; * 17 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ; * 24 | ; * https://www.FreeRTOS.org 25 | ; * https://github.com/FreeRTOS 26 | ; * 27 | ; */ 28 | 29 | .if $DEFINED( __LARGE_DATA_MODEL__ ) 30 | .define "pushm.a", pushm_x 31 | .define "popm.a", popm_x 32 | .define "push.a", push_x 33 | .define "pop.a", pop_x 34 | .define "mov.a", mov_x 35 | .else 36 | .define "pushm.w", pushm_x 37 | .define "popm.w", popm_x 38 | .define "push.w", push_x 39 | .define "pop.w", pop_x 40 | .define "mov.w", mov_x 41 | .endif 42 | 43 | .if $DEFINED( __LARGE_CODE_MODEL__ ) 44 | .define "calla", call_x 45 | .define "reta", ret_x 46 | .else 47 | .define "call", call_x 48 | .define "ret", ret_x 49 | .endif 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/FreeRTOS/FreeRTOS-Kernel/portable/GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.h -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/ARM_CM23/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef __SECURE_HEAP_H__ 30 | #define __SECURE_HEAP_H__ 31 | 32 | /* Standard includes. */ 33 | #include 34 | 35 | /** 36 | * @brief Allocates memory from heap. 37 | * 38 | * @param[in] xWantedSize The size of the memory to be allocated. 39 | * 40 | * @return Pointer to the memory region if the allocation is successful, NULL 41 | * otherwise. 42 | */ 43 | void * pvPortMalloc( size_t xWantedSize ); 44 | 45 | /** 46 | * @brief Frees the previously allocated memory. 47 | * 48 | * @param[in] pv Pointer to the memory to be freed. 49 | */ 50 | void vPortFree( void * pv ); 51 | 52 | #endif /* __SECURE_HEAP_H__ */ 53 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/ARM_CM33/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef __SECURE_HEAP_H__ 30 | #define __SECURE_HEAP_H__ 31 | 32 | /* Standard includes. */ 33 | #include 34 | 35 | /** 36 | * @brief Allocates memory from heap. 37 | * 38 | * @param[in] xWantedSize The size of the memory to be allocated. 39 | * 40 | * @return Pointer to the memory region if the allocation is successful, NULL 41 | * otherwise. 42 | */ 43 | void * pvPortMalloc( size_t xWantedSize ); 44 | 45 | /** 46 | * @brief Frees the previously allocated memory. 47 | * 48 | * @param[in] pv Pointer to the memory to be freed. 49 | */ 50 | void vPortFree( void * pv ); 51 | 52 | #endif /* __SECURE_HEAP_H__ */ 53 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/ARM_CM7/ReadMe.txt: -------------------------------------------------------------------------------- 1 | There are two options for running FreeRTOS on ARM Cortex-M7 microcontrollers. 2 | The best option depends on the revision of the ARM Cortex-M7 core in use. The 3 | revision is specified by an 'r' number, and a 'p' number, so will look something 4 | like 'r0p1'. Check the documentation for the microcontroller in use to find the 5 | revision of the Cortex-M7 core used in that microcontroller. If in doubt, use 6 | the FreeRTOS port provided specifically for r0p1 revisions, as that can be used 7 | with all core revisions. 8 | 9 | The first option is to use the ARM Cortex-M4F port, and the second option is to 10 | use the Cortex-M7 r0p1 port - the latter containing a minor errata workaround. 11 | 12 | If the revision of the ARM Cortex-M7 core is not r0p1 then either option can be 13 | used, but it is recommended to use the FreeRTOS ARM Cortex-M4F port located in 14 | the /FreeRTOS/Source/portable/GCC/ARM_CM4F directory. 15 | 16 | If the revision of the ARM Cortex-M7 core is r0p1 then use the FreeRTOS ARM 17 | Cortex-M7 r0p1 port located in the /FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1 18 | directory. -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/MCF5235/readme.md: -------------------------------------------------------------------------------- 1 | The MCF5235 port is deprecated. The last FreeRTOS version that includes this port is 10.4.3. 2 | 3 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/PPC405_Xilinx/FPU_Macros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | /* When switching out a task, if the task tag contains a buffer address then 30 | save the flop context into the buffer. */ 31 | #define traceTASK_SWITCHED_OUT() \ 32 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 33 | { \ 34 | extern void vPortSaveFPURegisters( void * ); \ 35 | vPortSaveFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 36 | } 37 | 38 | /* When switching in a task, if the task tag contains a buffer address then 39 | load the flop context from the buffer. */ 40 | #define traceTASK_SWITCHED_IN() \ 41 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 42 | { \ 43 | extern void vPortRestoreFPURegisters( void * ); \ 44 | vPortRestoreFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 45 | } 46 | 47 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/PPC440_Xilinx/FPU_Macros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | /* When switching out a task, if the task tag contains a buffer address then 30 | save the flop context into the buffer. */ 31 | #define traceTASK_SWITCHED_OUT() \ 32 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 33 | { \ 34 | extern void vPortSaveFPURegisters( void * ); \ 35 | vPortSaveFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 36 | } 37 | 38 | /* When switching in a task, if the task tag contains a buffer address then 39 | load the flop context from the buffer. */ 40 | #define traceTASK_SWITCHED_IN() \ 41 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 42 | { \ 43 | extern void vPortRestoreFPURegisters( void * ); \ 44 | vPortRestoreFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 45 | } 46 | 47 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/RISC-V/Documentation.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,11 3 | [InternetShortcut] 4 | IDList= 5 | URL=https://www.FreeRTOS.org/Using-FreeRTOS-on-RISC-V.html 6 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/RISC-V/chip_specific_extensions/readme.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * The FreeRTOS kernel's RISC-V port is split between the the code that is 3 | * common across all currently supported RISC-V chips (implementations of the 4 | * RISC-V ISA), and code that tailors the port to a specific RISC-V chip: 5 | * 6 | * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that 7 | * is common to all currently supported RISC-V chips. There is only one 8 | * portASM.S file because the same file is built for all RISC-V target chips. 9 | * 10 | * + Header files called freertos_risc_v_chip_specific_extensions.h contain the 11 | * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V 12 | * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files 13 | * as there are multiple RISC-V chip implementations. 14 | * 15 | * !!!NOTE!!! 16 | * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h 17 | * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the 18 | * compiler's!) include path. For example, if the chip in use includes a core 19 | * local interrupter (CLINT) and does not include any chip specific register 20 | * extensions then add the path below to the assembler's include path: 21 | * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions 22 | * 23 | */ 24 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/GCC/RISC-V/readme.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * The FreeRTOS kernel's RISC-V port is split between the the code that is 3 | * common across all currently supported RISC-V chips (implementations of the 4 | * RISC-V ISA), and code that tailors the port to a specific RISC-V chip: 5 | * 6 | * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that 7 | * is common to all currently supported RISC-V chips. There is only one 8 | * portASM.S file because the same file is built for all RISC-V target chips. 9 | * 10 | * + Header files called freertos_risc_v_chip_specific_extensions.h contain the 11 | * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V 12 | * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files 13 | * as there are multiple RISC-V chip implementations. 14 | * 15 | * !!!NOTE!!! 16 | * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h 17 | * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the 18 | * compiler's!) include path. For example, if the chip in use includes a core 19 | * local interrupter (CLINT) and does not include any chip specific register 20 | * extensions then add the path below to the assembler's include path: 21 | * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions 22 | * 23 | */ 24 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/ARM_CM23/secure/secure_context_port.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | /* Secure context includes. */ 30 | #include "secure_context.h" 31 | 32 | /* Secure port macros. */ 33 | #include "secure_port_macros.h" 34 | 35 | /* Functions implemented in assembler file. */ 36 | extern void SecureContext_LoadContextAsm( SecureContextHandle_t xSecureContextHandle ); 37 | extern void SecureContext_SaveContextAsm( SecureContextHandle_t xSecureContextHandle ); 38 | 39 | secureportNON_SECURE_CALLABLE void SecureContext_LoadContext( SecureContextHandle_t xSecureContextHandle ) 40 | { 41 | SecureContext_LoadContextAsm( xSecureContextHandle ); 42 | } 43 | /*-----------------------------------------------------------*/ 44 | 45 | secureportNON_SECURE_CALLABLE void SecureContext_SaveContext( SecureContextHandle_t xSecureContextHandle ) 46 | { 47 | SecureContext_SaveContextAsm( xSecureContextHandle ); 48 | } 49 | /*-----------------------------------------------------------*/ 50 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/ARM_CM23/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef __SECURE_HEAP_H__ 30 | #define __SECURE_HEAP_H__ 31 | 32 | /* Standard includes. */ 33 | #include 34 | 35 | /** 36 | * @brief Allocates memory from heap. 37 | * 38 | * @param[in] xWantedSize The size of the memory to be allocated. 39 | * 40 | * @return Pointer to the memory region if the allocation is successful, NULL 41 | * otherwise. 42 | */ 43 | void * pvPortMalloc( size_t xWantedSize ); 44 | 45 | /** 46 | * @brief Frees the previously allocated memory. 47 | * 48 | * @param[in] pv Pointer to the memory to be freed. 49 | */ 50 | void vPortFree( void * pv ); 51 | 52 | #endif /* __SECURE_HEAP_H__ */ 53 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/ARM_CM33/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef __SECURE_HEAP_H__ 30 | #define __SECURE_HEAP_H__ 31 | 32 | /* Standard includes. */ 33 | #include 34 | 35 | /** 36 | * @brief Allocates memory from heap. 37 | * 38 | * @param[in] xWantedSize The size of the memory to be allocated. 39 | * 40 | * @return Pointer to the memory region if the allocation is successful, NULL 41 | * otherwise. 42 | */ 43 | void * pvPortMalloc( size_t xWantedSize ); 44 | 45 | /** 46 | * @brief Frees the previously allocated memory. 47 | * 48 | * @param[in] pv Pointer to the memory to be freed. 49 | */ 50 | void vPortFree( void * pv ); 51 | 52 | #endif /* __SECURE_HEAP_H__ */ 53 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/ARM_CM7/ReadMe.txt: -------------------------------------------------------------------------------- 1 | There are two options for running FreeRTOS on ARM Cortex-M7 microcontrollers. 2 | The best option depends on the revision of the ARM Cortex-M7 core in use. The 3 | revision is specified by an 'r' number, and a 'p' number, so will look something 4 | like 'r0p1'. Check the documentation for the microcontroller in use to find the 5 | revision of the Cortex-M7 core used in that microcontroller. If in doubt, use 6 | the FreeRTOS port provided specifically for r0p1 revisions, as that can be used 7 | with all core revisions. 8 | 9 | The first option is to use the ARM Cortex-M4F port, and the second option is to 10 | use the Cortex-M7 r0p1 port - the latter containing a minor errata workaround. 11 | 12 | If the revision of the ARM Cortex-M7 core is not r0p1 then either option can be 13 | used, but it is recommended to use the FreeRTOS ARM Cortex-M4F port located in 14 | the /FreeRTOS/Source/portable/IAR/ARM_CM4F directory. 15 | 16 | If the revision of the ARM Cortex-M7 core is r0p1 then use the FreeRTOS ARM 17 | Cortex-M7 r0p1 port located in the /FreeRTOS/Source/portable/IAR/ARM_CM7/r0p1 18 | directory. -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X128.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/FreeRTOS/FreeRTOS-Kernel/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X128.h -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X256.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/FreeRTOS/FreeRTOS-Kernel/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X256.h -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/RISC-V/Documentation.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,11 3 | [InternetShortcut] 4 | IDList= 5 | URL=https://www.FreeRTOS.org/Using-FreeRTOS-on-RISC-V.html 6 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/RISC-V/chip_specific_extensions/readme.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * The FreeRTOS kernel's RISC-V port is split between the the code that is 3 | * common across all currently supported RISC-V chips (implementations of the 4 | * RISC-V ISA), and code that tailors the port to a specific RISC-V chip: 5 | * 6 | * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that 7 | * is common to all currently supported RISC-V chips. There is only one 8 | * portASM.S file because the same file is built for all RISC-V target chips. 9 | * 10 | * + Header files called freertos_risc_v_chip_specific_extensions.h contain the 11 | * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V 12 | * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files 13 | * as there are multiple RISC-V chip implementations. 14 | * 15 | * !!!NOTE!!! 16 | * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h 17 | * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the 18 | * compiler's!) include path. For example, if the chip in use includes a core 19 | * local interrupter (CLINT) and does not include any chip specific register 20 | * extensions then add the path below to the assembler's include path: 21 | * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions 22 | * 23 | */ 24 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/IAR/RISC-V/readme.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * The FreeRTOS kernel's RISC-V port is split between the the code that is 3 | * common across all currently supported RISC-V chips (implementations of the 4 | * RISC-V ISA), and code that tailors the port to a specific RISC-V chip: 5 | * 6 | * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that 7 | * is common to all currently supported RISC-V chips. There is only one 8 | * portASM.S file because the same file is built for all RISC-V target chips. 9 | * 10 | * + Header files called freertos_risc_v_chip_specific_extensions.h contain the 11 | * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V 12 | * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files 13 | * as there are multiple RISC-V chip implementations. 14 | * 15 | * !!!NOTE!!! 16 | * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h 17 | * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the 18 | * compiler's!) include path. For example, if the chip in use includes a core 19 | * local interrupter (CLINT) and does not include any chip specific register 20 | * extensions then add the path below to the assembler's include path: 21 | * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions 22 | * 23 | */ 24 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/Keil/See-also-the-RVDS-directory.txt: -------------------------------------------------------------------------------- 1 | Nothing to see here. -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/MPLAB/PIC18F/stdio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/FreeRTOS/FreeRTOS-Kernel/portable/MPLAB/PIC18F/stdio.h -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/MemMang/ReadMe.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,2 3 | [InternetShortcut] 4 | URL=https://www.FreeRTOS.org/a00111.html 5 | IDList= 6 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/RVDS/ARM_CM7/ReadMe.txt: -------------------------------------------------------------------------------- 1 | There are two options for running FreeRTOS on ARM Cortex-M7 microcontrollers. 2 | The best option depends on the revision of the ARM Cortex-M7 core in use. The 3 | revision is specified by an 'r' number, and a 'p' number, so will look something 4 | like 'r0p1'. Check the documentation for the microcontroller in use to find the 5 | revision of the Cortex-M7 core used in that microcontroller. If in doubt, use 6 | the FreeRTOS port provided specifically for r0p1 revisions, as that can be used 7 | with all core revisions. 8 | 9 | The first option is to use the ARM Cortex-M4F port, and the second option is to 10 | use the Cortex-M7 r0p1 port - the latter containing a minor errata workaround. 11 | 12 | If the revision of the ARM Cortex-M7 core is not r0p1 then either option can be 13 | used, but it is recommended to use the FreeRTOS ARM Cortex-M4F port located in 14 | the /FreeRTOS/Source/portable/RVDS/ARM_CM4F directory. 15 | 16 | If the revision of the ARM Cortex-M7 core is r0p1 then use the FreeRTOS ARM 17 | Cortex-M7 r0p1 port located in the /FreeRTOS/Source/portable/RVDS/ARM_CM7/r0p1 18 | directory. -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/Renesas/RX100/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.4.4 3 | ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * SPDX-License-Identifier: MIT 6 | ; * 7 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | ; * this software and associated documentation files (the "Software"), to deal in 9 | ; * the Software without restriction, including without limitation the rights to 10 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 12 | ; * subject to the following conditions: 13 | ; * 14 | ; * The above copyright notice and this permission notice shall be included in all 15 | ; * copies or substantial portions of the Software. 16 | ; * 17 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ; * 24 | ; * https://www.FreeRTOS.org 25 | ; * https://github.com/FreeRTOS 26 | ; * 27 | ; */ 28 | .GLB _vSoftwareInterruptISR 29 | .GLB _vSoftwareInterruptEntry 30 | 31 | .SECTION P,CODE 32 | 33 | _vSoftwareInterruptEntry: 34 | 35 | BRA _vSoftwareInterruptISR 36 | 37 | .RVECTOR 27, _vSoftwareInterruptEntry 38 | 39 | .END 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/Renesas/RX200/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.4.4 3 | ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * SPDX-License-Identifier: MIT 6 | ; * 7 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | ; * this software and associated documentation files (the "Software"), to deal in 9 | ; * the Software without restriction, including without limitation the rights to 10 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 12 | ; * subject to the following conditions: 13 | ; * 14 | ; * The above copyright notice and this permission notice shall be included in all 15 | ; * copies or substantial portions of the Software. 16 | ; * 17 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ; * 24 | ; * https://www.FreeRTOS.org 25 | ; * https://github.com/FreeRTOS 26 | ; * 27 | ; */ 28 | .GLB _vSoftwareInterruptISR 29 | .GLB _vSoftwareInterruptEntry 30 | 31 | .SECTION P,CODE 32 | 33 | _vSoftwareInterruptEntry: 34 | 35 | BRA _vSoftwareInterruptISR 36 | 37 | .RVECTOR 27, _vSoftwareInterruptEntry 38 | 39 | .END 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/Renesas/RX600/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.4.4 3 | ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * SPDX-License-Identifier: MIT 6 | ; * 7 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | ; * this software and associated documentation files (the "Software"), to deal in 9 | ; * the Software without restriction, including without limitation the rights to 10 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 12 | ; * subject to the following conditions: 13 | ; * 14 | ; * The above copyright notice and this permission notice shall be included in all 15 | ; * copies or substantial portions of the Software. 16 | ; * 17 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ; * 24 | ; * https://www.FreeRTOS.org 25 | ; * https://github.com/FreeRTOS 26 | ; * 27 | ; */ 28 | .GLB _vSoftwareInterruptISR 29 | .GLB _vSoftwareInterruptEntry 30 | 31 | .SECTION P,CODE 32 | 33 | _vSoftwareInterruptEntry: 34 | 35 | BRA _vSoftwareInterruptISR 36 | 37 | .RVECTOR 27, _vSoftwareInterruptEntry 38 | 39 | .END 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/Renesas/RX600v2/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.4.4 3 | ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * SPDX-License-Identifier: MIT 6 | ; * 7 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | ; * this software and associated documentation files (the "Software"), to deal in 9 | ; * the Software without restriction, including without limitation the rights to 10 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 12 | ; * subject to the following conditions: 13 | ; * 14 | ; * The above copyright notice and this permission notice shall be included in all 15 | ; * copies or substantial portions of the Software. 16 | ; * 17 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ; * 24 | ; * https://www.FreeRTOS.org 25 | ; * https://github.com/FreeRTOS 26 | ; * 27 | ; */ 28 | .GLB _vSoftwareInterruptISR 29 | .GLB _vSoftwareInterruptEntry 30 | 31 | .SECTION P,CODE 32 | 33 | _vSoftwareInterruptEntry: 34 | 35 | BRA _vSoftwareInterruptISR 36 | 37 | .RVECTOR 27, _vSoftwareInterruptEntry 38 | 39 | .END 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/Renesas/RX700v3_DPFPU/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.4.4 3 | ; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * SPDX-License-Identifier: MIT 6 | ; * 7 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | ; * this software and associated documentation files (the "Software"), to deal in 9 | ; * the Software without restriction, including without limitation the rights to 10 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 12 | ; * subject to the following conditions: 13 | ; * 14 | ; * The above copyright notice and this permission notice shall be included in all 15 | ; * copies or substantial portions of the Software. 16 | ; * 17 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | ; * 24 | ; * https://www.FreeRTOS.org 25 | ; * https://github.com/FreeRTOS 26 | ; * 27 | ; */ 28 | .GLB _vSoftwareInterruptISR 29 | .GLB _vSoftwareInterruptEntry 30 | 31 | .SECTION P,CODE 32 | 33 | _vSoftwareInterruptEntry: 34 | 35 | BRA _vSoftwareInterruptISR 36 | 37 | .RVECTOR 27, _vSoftwareInterruptEntry 38 | 39 | .END 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/Rowley/ARM7/readme.txt: -------------------------------------------------------------------------------- 1 | The Rowley ARM7 demo uses the GCC ARM7 port files. -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/ARC_EM_HS/arc_freertos_exceptions.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2020 Synopsys, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | /** 30 | * \file 31 | * \brief exception processing for freertos 32 | */ 33 | 34 | /* #include "embARC.h" */ 35 | 36 | #include "arc_freertos_exceptions.h" 37 | 38 | #ifdef __GNU__ 39 | extern void gnu_printf_setup( void ); 40 | #endif 41 | 42 | /** 43 | * \brief freertos related cpu exception initialization, all the interrupts handled by freertos must be not 44 | * fast irqs. If fiq is needed, please install the default firq_exc_entry or your own fast irq entry into 45 | * the specific interrupt exception. 46 | */ 47 | void freertos_exc_init( void ) 48 | { 49 | #ifdef __GNU__ 50 | gnu_printf_setup(); 51 | #endif 52 | } 53 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/ARC_EM_HS/arc_freertos_exceptions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2020 Synopsys, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef ARC_FREERTOS_EXCEPTIONS_H 30 | #define ARC_FREERTOS_EXCEPTIONS_H 31 | 32 | /* 33 | * here, all arc cpu exceptions share the same entry, also for all interrupt 34 | * exceptions 35 | */ 36 | extern void exc_entry_cpu( void ); /* cpu exception entry for freertos */ 37 | extern void exc_entry_int( void ); /* int exception entry for freertos */ 38 | 39 | /* task dispatch functions in .s */ 40 | extern void start_r( void ); 41 | extern void start_dispatch(); 42 | extern void dispatch(); 43 | 44 | extern void freertos_exc_init( void ); 45 | 46 | #endif /* ARC_FREERTOS_EXCEPTIONS_H */ 47 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/ARC_v1/arc_freertos_exceptions.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2020 Synopsys, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | /** 30 | * \file 31 | * \brief exception processing for freertos 32 | */ 33 | 34 | /* #include "embARC.h" */ 35 | 36 | #include "arc_freertos_exceptions.h" 37 | 38 | #ifdef __GNU__ 39 | extern void gnu_printf_setup( void ); 40 | #endif 41 | 42 | /** 43 | * \brief freertos related cpu exception initialization, all the interrupts handled by freertos must be not 44 | * fast irqs. If fiq is needed, please install the default firq_exc_entry or your own fast irq entry into 45 | * the specific interrupt exception. 46 | */ 47 | void freertos_exc_init( void ) 48 | { 49 | #ifdef __GNU__ 50 | gnu_printf_setup(); 51 | #endif 52 | } 53 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/ARC_v1/arc_freertos_exceptions.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2020 Synopsys, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef ARC_FREERTOS_EXCEPTIONS_H 30 | #define ARC_FREERTOS_EXCEPTIONS_H 31 | 32 | /* 33 | * here, all arc cpu exceptions share the same entry, also for all interrupt 34 | * exceptions 35 | */ 36 | extern void exc_entry_cpu( void ); /* cpu exception entry for freertos */ 37 | extern void exc_entry_int( void ); /* int exception entry for freertos */ 38 | 39 | /* task dispatch functions in .s */ 40 | extern void start_r( void ); 41 | extern void start_dispatch(); 42 | extern void dispatch(); 43 | 44 | extern void freertos_exc_init( void ); 45 | 46 | #endif /* ARC_FREERTOS_EXCEPTIONS_H */ 47 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/Posix/FreeRTOS-simulator-for-Linux.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,11 3 | [InternetShortcut] 4 | IDList= 5 | URL=https://www.freertos.org/FreeRTOS-simulator-for-Linux.html 6 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/Posix/utils/wait_for_event.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | #ifndef _WAIT_FOR_EVENT_H_ 30 | #define _WAIT_FOR_EVENT_H_ 31 | 32 | #include 33 | #include 34 | 35 | struct event; 36 | 37 | struct event * event_create(); 38 | void event_delete( struct event * ); 39 | bool event_wait( struct event * ev ); 40 | bool event_wait_timed( struct event * ev, 41 | time_t ms ); 42 | void event_signal( struct event * ev ); 43 | 44 | 45 | 46 | #endif /* ifndef _WAIT_FOR_EVENT_H_ */ 47 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/RISC-V/README-for-info-on-official-MIT-license-port.txt: -------------------------------------------------------------------------------- 1 | The official and MIT licensed FreeRTOS ports for RISC-V are located in the following directories: 2 | \FreeRTOS\Source\portable\GCC\RISC-V 3 | \FreeRTOS\Source\portable\IAR\RISC-V 4 | 5 | Also so https://www.FreeRTOS.org/Using-FreeRTOS-on-RISC-V.html 6 | 7 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/Xtensa_ESP32/FreeRTOS-openocd.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Since at least FreeRTOS V7.5.3 uxTopUsedPriority is no longer 3 | * present in the kernel, so it has to be supplied by other means for 4 | * OpenOCD's threads awareness. 5 | * 6 | * Add this file to your project, and, if you're using --gc-sections, 7 | * ``--undefined=uxTopUsedPriority'' (or 8 | * ``-Wl,--undefined=uxTopUsedPriority'' when using gcc for final 9 | * linking) to your LDFLAGS; same with all the other symbols you need. 10 | */ 11 | 12 | #include "FreeRTOS.h" 13 | #include "esp_attr.h" 14 | #include "sdkconfig.h" 15 | 16 | #ifdef __GNUC__ 17 | #define USED __attribute__( ( used ) ) 18 | #else 19 | #define USED 20 | #endif 21 | 22 | /* 23 | * This file is no longer needed as AFTER FreeRTOS V10.14.1 OpenOCD is fixed in the kernel. 24 | * #ifdef CONFIG_ESP32_DEBUG_OCDAWARE 25 | * const int USED DRAM_ATTR uxTopUsedPriority = configMAX_PRIORITIES - 1; 26 | * #endif 27 | */ 28 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/GCC/Xtensa_ESP32/include/portbenchmark.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2003-2015 Cadence Design Systems, Inc. 4 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 5 | * 6 | * SPDX-License-Identifier: MIT 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 9 | * this software and associated documentation files (the "Software"), to deal in 10 | * the Software without restriction, including without limitation the rights to 11 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 12 | * the Software, and to permit persons to whom the Software is furnished to do so, 13 | * subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 20 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 21 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 22 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 23 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | * 25 | * https://www.FreeRTOS.org 26 | * https://github.com/FreeRTOS 27 | * 28 | */ 29 | 30 | /* 31 | * This utility helps benchmarking interrupt latency and context switches. 32 | * In order to enable it, set configBENCHMARK to 1 in FreeRTOSConfig.h. 33 | * You will also need to download the FreeRTOS_trace patch that contains 34 | * portbenchmark.c and the complete version of portbenchmark.h 35 | */ 36 | 37 | #ifndef PORTBENCHMARK_H 38 | #define PORTBENCHMARK_H 39 | 40 | #if configBENCHMARK 41 | #error "You need to download the FreeRTOS_trace patch that overwrites this file" 42 | #endif 43 | 44 | #define portbenchmarkINTERRUPT_DISABLE() 45 | #define portbenchmarkINTERRUPT_RESTORE( newstate ) 46 | #define portbenchmarkIntLatency() 47 | #define portbenchmarkIntWait() 48 | #define portbenchmarkReset() 49 | #define portbenchmarkPrint() 50 | 51 | #endif /* PORTBENCHMARK */ 52 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/XCC/Xtensa/portbenchmark.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2015-2019 Cadence Design Systems, Inc. 4 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 5 | * 6 | * SPDX-License-Identifier: MIT 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 9 | * this software and associated documentation files (the "Software"), to deal in 10 | * the Software without restriction, including without limitation the rights to 11 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 12 | * the Software, and to permit persons to whom the Software is furnished to do so, 13 | * subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 20 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 21 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 22 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 23 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | * 25 | * https://www.FreeRTOS.org 26 | * https://github.com/FreeRTOS 27 | * 28 | */ 29 | 30 | /* 31 | * This utility helps benchmarking interrupt latency and context switches. 32 | * In order to enable it, set configBENCHMARK to 1 in FreeRTOSConfig.h. 33 | * You will also need to download the FreeRTOS_trace patch that contains 34 | * portbenchmark.c and the complete version of portbenchmark.h 35 | */ 36 | 37 | #ifndef PORTBENCHMARK_H 38 | #define PORTBENCHMARK_H 39 | 40 | #if configBENCHMARK 41 | #error "You need to download the FreeRTOS_trace patch that overwrites this file" 42 | #endif 43 | 44 | #define portbenchmarkINTERRUPT_DISABLE() 45 | #define portbenchmarkINTERRUPT_RESTORE(newstate) 46 | #define portbenchmarkIntLatency() 47 | #define portbenchmarkIntWait() 48 | #define portbenchmarkReset() 49 | #define portbenchmarkPrint() 50 | 51 | #endif /* PORTBENCHMARK */ 52 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/ThirdParty/XCC/Xtensa/porttrace.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2015-2019 Cadence Design Systems, Inc. 4 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 5 | * 6 | * SPDX-License-Identifier: MIT 7 | * 8 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 9 | * this software and associated documentation files (the "Software"), to deal in 10 | * the Software without restriction, including without limitation the rights to 11 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 12 | * the Software, and to permit persons to whom the Software is furnished to do so, 13 | * subject to the following conditions: 14 | * 15 | * The above copyright notice and this permission notice shall be included in all 16 | * copies or substantial portions of the Software. 17 | * 18 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 20 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 21 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 22 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 23 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 | * 25 | * https://www.FreeRTOS.org 26 | * https://github.com/FreeRTOS 27 | * 28 | */ 29 | 30 | /* 31 | * This utility helps tracing the entering and exiting from tasks. 32 | * It maintains a circular buffer of tasks in the order they execute, 33 | * and their execution time. To enable it, set configUSE_TRACE_FACILITY_2 34 | * to 1 in FreeRTOSConfig.h. You will also need to download the 35 | * FreeRTOS_trace patch that contains porttrace.c and the complete version 36 | * of porttrace.h. 37 | */ 38 | 39 | #ifndef PORTTRACE_H 40 | #define PORTTRACE_H 41 | 42 | #if configUSE_TRACE_FACILITY_2 43 | #error "You need to download the FreeRTOS_trace patch that overwrites this file" 44 | #endif 45 | 46 | #define porttracePrint(nelements) 47 | #define porttraceStamp(stamp, count_incr) 48 | 49 | #endif /* PORTTRACE_H */ 50 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/portable/WizC/PIC18/addFreeRTOS.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.4.4 3 | * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * SPDX-License-Identifier: MIT 6 | * 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 8 | * this software and associated documentation files (the "Software"), to deal in 9 | * the Software without restriction, including without limitation the rights to 10 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 11 | * the Software, and to permit persons to whom the Software is furnished to do so, 12 | * subject to the following conditions: 13 | * 14 | * The above copyright notice and this permission notice shall be included in all 15 | * copies or substantial portions of the Software. 16 | * 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 19 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 20 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 21 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | * 24 | * https://www.FreeRTOS.org 25 | * https://github.com/FreeRTOS 26 | * 27 | */ 28 | 29 | /* 30 | Changes from V3.0.0 31 | 32 | Changes from V3.0.1 33 | 34 | Changes from V4.0.1 35 | Uselib pragma added for Croutine.c 36 | */ 37 | 38 | /* 39 | * The installation script will automatically prepend this file to the default FreeRTOS.h. 40 | */ 41 | 42 | #ifndef WIZC_FREERTOS_H 43 | #define WIZC_FREERTOS_H 44 | 45 | #pragma noheap 46 | #pragma wizcpp expandnl on 47 | #pragma wizcpp searchpath "$__PATHNAME__/libFreeRTOS/Include/" 48 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Croutine.c" 49 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Tasks.c" 50 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Queue.c" 51 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/List.c" 52 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Port.c" 53 | 54 | #endif /* WIZC_FREERTOS_H */ 55 | -------------------------------------------------------------------------------- /FreeRTOS/FreeRTOS-Kernel/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 https://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 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 garyhobson 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Linux_Simulator/console.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS V202107.00 3 | * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * https://www.FreeRTOS.org 23 | * https://github.com/FreeRTOS 24 | * 25 | */ 26 | 27 | /*----------------------------------------------------------- 28 | * Example console I/O wrappers. 29 | *----------------------------------------------------------*/ 30 | 31 | #include 32 | #include 33 | 34 | #include 35 | #include 36 | 37 | SemaphoreHandle_t xStdioMutex; 38 | StaticSemaphore_t xStdioMutexBuffer; 39 | 40 | void console_init( void ) 41 | { 42 | xStdioMutex = xSemaphoreCreateMutexStatic( &xStdioMutexBuffer ); 43 | } 44 | 45 | void console_print( const char * fmt, 46 | ... ) 47 | { 48 | va_list vargs; 49 | 50 | va_start( vargs, fmt ); 51 | 52 | xSemaphoreTake( xStdioMutex, portMAX_DELAY ); 53 | 54 | vprintf( fmt, vargs ); 55 | 56 | xSemaphoreGive( xStdioMutex ); 57 | 58 | va_end( vargs ); 59 | } 60 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Linux_Simulator/console.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS V202107.00 3 | * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * https://www.FreeRTOS.org 23 | * https://github.com/FreeRTOS 24 | * 25 | */ 26 | 27 | #ifndef CONSOLE_H 28 | #define CONSOLE_H 29 | 30 | #ifdef __cplusplus 31 | extern "C" { 32 | #endif 33 | 34 | /*----------------------------------------------------------- 35 | * Example console I/O wrappers. 36 | *----------------------------------------------------------*/ 37 | 38 | void console_init( void ); 39 | void console_print( const char * fmt, 40 | ... ); 41 | 42 | #ifdef __cplusplus 43 | } 44 | #endif 45 | 46 | #endif /* CONSOLE_H */ 47 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/.gitignore: -------------------------------------------------------------------------------- 1 | # Object files 2 | *.o 3 | *.elf 4 | *.d 5 | *.lst 6 | *.map 7 | *.def 8 | *.htm 9 | *.html 10 | *.axf 11 | *.crf 12 | *.uvgui.* 13 | *.OutJob 14 | 15 | 16 | # Executables 17 | *.exe 18 | *.app 19 | *.bin 20 | *.hex 21 | 22 | 23 | # folder 24 | .vscode 25 | History 26 | *._2i 27 | *.fed 28 | *.l2p 29 | *.log 30 | *.uvguix.* 31 | *.dep 32 | *.lnp 33 | *.iex 34 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Application/application.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Application/application.c -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Application/msp.c: -------------------------------------------------------------------------------- 1 | #include "msp.h" 2 | 3 | extern UART_HandleTypeDef huart1; 4 | 5 | UART_HandleTypeDef *debugout=&huart1; 6 | 7 | #ifdef __GNUC__ 8 | int _write(int file, char *ptr, int len) 9 | { 10 | HAL_UART_Transmit((UART_HandleTypeDef *)debugout, (uint8_t *)ptr, len, 1000*len); 11 | return len; 12 | } 13 | #else 14 | int fputc(int ch, FILE *f) 15 | { 16 | HAL_UART_Transmit((UART_HandleTypeDef *)debugout, (uint8_t *)&ch, 1, 1000); 17 | return ch; 18 | } 19 | #endif 20 | 21 | #if 1 22 | void HAL_IncTick(void) 23 | { 24 | 25 | extern __IO uint32_t uwTick; 26 | 27 | #if defined(STM32F1) || defined(STM32L0) 28 | uwTick += uwTickFreq; 29 | #endif 30 | 31 | if((uwTick&(uint32_t)0x1ff)==0){ 32 | HAL_GPIO_TogglePin(GPIOE,GPIO_PIN_5); 33 | } 34 | } 35 | #endif 36 | 37 | uint32_t millis(void) 38 | { 39 | return HAL_GetTick(); 40 | } 41 | 42 | 43 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Application/msp.h: -------------------------------------------------------------------------------- 1 | #ifndef MSP_H_ 2 | #define MSP_H_ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "main.h" 10 | 11 | #define TRACE(fmt, ...) \ 12 | do { \ 13 | printf(fmt,##__VA_ARGS__);fflush(stdout);\ 14 | } while(0) 15 | 16 | #define TRACE_INFO(fmt, ...) \ 17 | do { \ 18 | printf("%ld,%s,%d::"fmt,HAL_GetTick(), __func__,__LINE__,##__VA_ARGS__);\ 19 | } while(0) 20 | 21 | 22 | uint32_t millis(void); 23 | 24 | static inline void delay(uint32_t ms) 25 | { 26 | HAL_Delay(ms); 27 | } 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Application/posix_demo/posix_demo.h: -------------------------------------------------------------------------------- 1 | #ifndef _POSIX_DEMO_H_ 2 | #define _POSIX_DEMO_H_ 3 | 4 | void vStartPOSIXDemo( void * pvParameters ); 5 | 6 | 7 | #endif /* _POSIX_DEMO_H_ */ 8 | 9 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Core/Inc/gpio.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file gpio.h 4 | * @brief This file contains all the function prototypes for 5 | * the gpio.c file 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2021 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __GPIO_H__ 21 | #define __GPIO_H__ 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "main.h" 29 | 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | /* USER CODE BEGIN Private defines */ 35 | 36 | /* USER CODE END Private defines */ 37 | 38 | void MX_GPIO_Init(void); 39 | 40 | /* USER CODE BEGIN Prototypes */ 41 | 42 | /* USER CODE END Prototypes */ 43 | 44 | #ifdef __cplusplus 45 | } 46 | #endif 47 | #endif /*__ GPIO_H__ */ 48 | 49 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 50 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Core/Inc/stm32f1xx_it.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * @file stm32f1xx_it.h 5 | * @brief This file contains the headers of the interrupt handlers. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2021 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* USER CODE END Header */ 20 | 21 | /* Define to prevent recursive inclusion -------------------------------------*/ 22 | #ifndef __STM32F1xx_IT_H 23 | #define __STM32F1xx_IT_H 24 | 25 | #ifdef __cplusplus 26 | extern "C" { 27 | #endif 28 | 29 | /* Private includes ----------------------------------------------------------*/ 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | /* Exported types ------------------------------------------------------------*/ 35 | /* USER CODE BEGIN ET */ 36 | 37 | /* USER CODE END ET */ 38 | 39 | /* Exported constants --------------------------------------------------------*/ 40 | /* USER CODE BEGIN EC */ 41 | 42 | /* USER CODE END EC */ 43 | 44 | /* Exported macro ------------------------------------------------------------*/ 45 | /* USER CODE BEGIN EM */ 46 | 47 | /* USER CODE END EM */ 48 | 49 | /* Exported functions prototypes ---------------------------------------------*/ 50 | void NMI_Handler(void); 51 | void HardFault_Handler(void); 52 | void MemManage_Handler(void); 53 | void BusFault_Handler(void); 54 | void UsageFault_Handler(void); 55 | void DebugMon_Handler(void); 56 | void TIM2_IRQHandler(void); 57 | /* USER CODE BEGIN EFP */ 58 | 59 | /* USER CODE END EFP */ 60 | 61 | #ifdef __cplusplus 62 | } 63 | #endif 64 | 65 | #endif /* __STM32F1xx_IT_H */ 66 | 67 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 68 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Core/Inc/usart.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usart.h 4 | * @brief This file contains all the function prototypes for 5 | * the usart.c file 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2021 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under Ultimate Liberty license 13 | * SLA0044, the "License"; You may not use this file except in compliance with 14 | * the License. You may obtain a copy of the License at: 15 | * www.st.com/SLA0044 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __USART_H__ 21 | #define __USART_H__ 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "main.h" 29 | 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | extern UART_HandleTypeDef huart1; 35 | 36 | /* USER CODE BEGIN Private defines */ 37 | 38 | /* USER CODE END Private defines */ 39 | 40 | void MX_USART1_UART_Init(void); 41 | 42 | /* USER CODE BEGIN Prototypes */ 43 | 44 | /* USER CODE END Prototypes */ 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif /* __USART_H__ */ 51 | 52 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 53 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Drivers/CMSIS/Include/cmsis_version.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file cmsis_version.h 3 | * @brief CMSIS Core(M) Version definitions 4 | * @version V5.0.2 5 | * @date 19. April 2017 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2009-2017 ARM Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef __CMSIS_VERSION_H 32 | #define __CMSIS_VERSION_H 33 | 34 | /* CMSIS Version definitions */ 35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ 36 | #define __CM_CMSIS_VERSION_SUB ( 1U) /*!< [15:0] CMSIS Core(M) sub version */ 37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ 38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ 39 | #endif 40 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/MDK-ARM/Demo/Demo.sct: -------------------------------------------------------------------------------- 1 | ; ************************************************************* 2 | ; *** Scatter-Loading Description File generated by uVision *** 3 | ; ************************************************************* 4 | 5 | LR_IROM1 0x08000000 0x00080000 { ; load region size_region 6 | ER_IROM1 0x08000000 0x00080000 { ; load address = execution address 7 | *.o (RESET, +First) 8 | *(InRoot$$Sections) 9 | .ANY (+RO) 10 | .ANY (+XO) 11 | } 12 | RW_IRAM1 0x20000000 0x00010000 { ; RW data 13 | .ANY (+RW +ZI) 14 | } 15 | } 16 | 17 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/MDK-ARM/EventRecorderStub.scvd: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/MDK-ARM/RTE/_Demo/RTE_Components.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Auto generated Run-Time-Environment Configuration File 4 | * *** Do not modify ! *** 5 | * 6 | * Project: 'Demo' 7 | * Target: 'Demo' 8 | */ 9 | 10 | #ifndef RTE_COMPONENTS_H 11 | #define RTE_COMPONENTS_H 12 | 13 | 14 | /* 15 | * Define the Device Header File: 16 | */ 17 | #define CMSIS_device_header "stm32f10x.h" 18 | 19 | 20 | 21 | #endif /* RTE_COMPONENTS_H */ 22 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS_V2/cmsis_os.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ARMv8M/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeeRTOS Cortex-M33 port. 2 | Do not use the files located here! These file are copied into separate 3 | FreeRTOS/Source/portable/[compiler]/ARM_CM33_NNN directories prior to each 4 | FreeRTOS release. 5 | 6 | If your Cortex-M33 application uses TrustZone then use the files from the 7 | FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. 8 | 9 | If your Cortex-M33 application does not use TrustZone then use the files from 10 | the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. 11 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ARMv8M/non_secure/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeeRTOS Cortex-M33 port. 2 | Do not use the files located here! These file are copied into separate 3 | FreeRTOS/Source/portable/[compiler]/ARM_CM33_NNN directories prior to each 4 | FreeRTOS release. 5 | 6 | If your Cortex-M33 application uses TrustZone then use the files from the 7 | FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. 8 | 9 | If your Cortex-M33 application does not use TrustZone then use the files from 10 | the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. 11 | 12 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ARMv8M/secure/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeeRTOS Cortex-M33 port. 2 | Do not use the files located here! These file are copied into separate 3 | FreeRTOS/Source/portable/[compiler]/ARM_CM33_NNN directories prior to each 4 | FreeRTOS release. 5 | 6 | If your Cortex-M33 application uses TrustZone then use the files from the 7 | FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. 8 | 9 | If your Cortex-M33 application does not use TrustZone then use the files from 10 | the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. 11 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ARMv8M/secure/heap/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_HEAP_H__ 29 | #define __SECURE_HEAP_H__ 30 | 31 | /* Standard includes. */ 32 | #include 33 | 34 | /** 35 | * @brief Allocates memory from heap. 36 | * 37 | * @param[in] xWantedSize The size of the memory to be allocated. 38 | * 39 | * @return Pointer to the memory region if the allocation is successful, NULL 40 | * otherwise. 41 | */ 42 | void *pvPortMalloc( size_t xWantedSize ); 43 | 44 | /** 45 | * @brief Frees the previously allocated memory. 46 | * 47 | * @param[in] pv Pointer to the memory to be freed. 48 | */ 49 | void vPortFree( void *pv ); 50 | 51 | #endif /* __SECURE_HEAP_H__ */ 52 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ARMv8M/secure/init/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_INIT_H__ 29 | #define __SECURE_INIT_H__ 30 | 31 | /** 32 | * @brief De-prioritizes the non-secure exceptions. 33 | * 34 | * This is needed to ensure that the non-secure PendSV runs at the lowest 35 | * priority. Context switch is done in the non-secure PendSV handler. 36 | * 37 | * @note This function must be called in the handler mode. It is no-op if called 38 | * in the thread mode. 39 | */ 40 | void SecureInit_DePrioritizeNSExceptions( void ); 41 | 42 | /** 43 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 44 | * 45 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 46 | * Registers are not leaked to the non-secure side. 47 | * 48 | * @note This function must be called in the handler mode. It is no-op if called 49 | * in the thread mode. 50 | */ 51 | void SecureInit_EnableNSFPUAccess( void ); 52 | 53 | #endif /* __SECURE_INIT_H__ */ 54 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/CCS/MSP430X/data_model.h: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.2.1 3 | ; * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | ; * this software and associated documentation files (the "Software"), to deal in 7 | ; * the Software without restriction, including without limitation the rights to 8 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 10 | ; * subject to the following conditions: 11 | ; * 12 | ; * The above copyright notice and this permission notice shall be included in all 13 | ; * copies or substantial portions of the Software. 14 | ; * 15 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | ; * 22 | ; * http://www.FreeRTOS.org 23 | ; * http://aws.amazon.com/freertos 24 | ; * 25 | ; * 1 tab == 4 spaces! 26 | ; */ 27 | 28 | .if $DEFINED( __LARGE_DATA_MODEL__ ) 29 | .define "pushm.a", pushm_x 30 | .define "popm.a", popm_x 31 | .define "push.a", push_x 32 | .define "pop.a", pop_x 33 | .define "mov.a", mov_x 34 | .else 35 | .define "pushm.w", pushm_x 36 | .define "popm.w", popm_x 37 | .define "push.w", push_x 38 | .define "pop.w", pop_x 39 | .define "mov.w", mov_x 40 | .endif 41 | 42 | .if $DEFINED( __LARGE_CODE_MODEL__ ) 43 | .define "calla", call_x 44 | .define "reta", ret_x 45 | .else 46 | .define "call", call_x 47 | .define "ret", ret_x 48 | .endif 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Compiler/Arch/port.c: -------------------------------------------------------------------------------- 1 | /* 2 | FreeRTOS Kernel V10.2.1 3 | Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | 22 | http://aws.amazon.com/freertos 23 | http://www.FreeRTOS.org 24 | */ 25 | 26 | /* Scheduler includes. */ 27 | #include "FreeRTOS.h" 28 | #include "task.h" 29 | 30 | /* 31 | * See header file for description. 32 | */ 33 | StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) 34 | { 35 | ( void ) pxTopOfStack; 36 | ( void ) pxCode; 37 | ( void ) pvParameters; 38 | 39 | /* FIX ME. */ 40 | return ( StackType_t * ) NULL; 41 | } 42 | /*-----------------------------------------------------------*/ 43 | 44 | /* 45 | * See header file for description. 46 | */ 47 | BaseType_t xPortStartScheduler( void ) 48 | { 49 | /* FIX ME. */ 50 | return pdFAIL; 51 | } 52 | /*-----------------------------------------------------------*/ 53 | 54 | void vPortEndScheduler( void ) 55 | { 56 | /* Do not implement. */ 57 | } 58 | /*-----------------------------------------------------------*/ 59 | 60 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM23/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_HEAP_H__ 29 | #define __SECURE_HEAP_H__ 30 | 31 | /* Standard includes. */ 32 | #include 33 | 34 | /** 35 | * @brief Allocates memory from heap. 36 | * 37 | * @param[in] xWantedSize The size of the memory to be allocated. 38 | * 39 | * @return Pointer to the memory region if the allocation is successful, NULL 40 | * otherwise. 41 | */ 42 | void *pvPortMalloc( size_t xWantedSize ); 43 | 44 | /** 45 | * @brief Frees the previously allocated memory. 46 | * 47 | * @param[in] pv Pointer to the memory to be freed. 48 | */ 49 | void vPortFree( void *pv ); 50 | 51 | #endif /* __SECURE_HEAP_H__ */ 52 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM23/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_INIT_H__ 29 | #define __SECURE_INIT_H__ 30 | 31 | /** 32 | * @brief De-prioritizes the non-secure exceptions. 33 | * 34 | * This is needed to ensure that the non-secure PendSV runs at the lowest 35 | * priority. Context switch is done in the non-secure PendSV handler. 36 | * 37 | * @note This function must be called in the handler mode. It is no-op if called 38 | * in the thread mode. 39 | */ 40 | void SecureInit_DePrioritizeNSExceptions( void ); 41 | 42 | /** 43 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 44 | * 45 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 46 | * Registers are not leaked to the non-secure side. 47 | * 48 | * @note This function must be called in the handler mode. It is no-op if called 49 | * in the thread mode. 50 | */ 51 | void SecureInit_EnableNSFPUAccess( void ); 52 | 53 | #endif /* __SECURE_INIT_H__ */ 54 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM33/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_HEAP_H__ 29 | #define __SECURE_HEAP_H__ 30 | 31 | /* Standard includes. */ 32 | #include 33 | 34 | /** 35 | * @brief Allocates memory from heap. 36 | * 37 | * @param[in] xWantedSize The size of the memory to be allocated. 38 | * 39 | * @return Pointer to the memory region if the allocation is successful, NULL 40 | * otherwise. 41 | */ 42 | void *pvPortMalloc( size_t xWantedSize ); 43 | 44 | /** 45 | * @brief Frees the previously allocated memory. 46 | * 47 | * @param[in] pv Pointer to the memory to be freed. 48 | */ 49 | void vPortFree( void *pv ); 50 | 51 | #endif /* __SECURE_HEAP_H__ */ 52 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM33/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_INIT_H__ 29 | #define __SECURE_INIT_H__ 30 | 31 | /** 32 | * @brief De-prioritizes the non-secure exceptions. 33 | * 34 | * This is needed to ensure that the non-secure PendSV runs at the lowest 35 | * priority. Context switch is done in the non-secure PendSV handler. 36 | * 37 | * @note This function must be called in the handler mode. It is no-op if called 38 | * in the thread mode. 39 | */ 40 | void SecureInit_DePrioritizeNSExceptions( void ); 41 | 42 | /** 43 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 44 | * 45 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 46 | * Registers are not leaked to the non-secure side. 47 | * 48 | * @note This function must be called in the handler mode. It is no-op if called 49 | * in the thread mode. 50 | */ 51 | void SecureInit_EnableNSFPUAccess( void ); 52 | 53 | #endif /* __SECURE_INIT_H__ */ 54 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM7/ReadMe.txt: -------------------------------------------------------------------------------- 1 | There are two options for running FreeRTOS on ARM Cortex-M7 microcontrollers. 2 | The best option depends on the revision of the ARM Cortex-M7 core in use. The 3 | revision is specified by an 'r' number, and a 'p' number, so will look something 4 | like 'r0p1'. Check the documentation for the microcontroller in use to find the 5 | revision of the Cortex-M7 core used in that microcontroller. If in doubt, use 6 | the FreeRTOS port provided specifically for r0p1 revisions, as that can be used 7 | with all core revisions. 8 | 9 | The first option is to use the ARM Cortex-M4F port, and the second option is to 10 | use the Cortex-M7 r0p1 port - the latter containing a minor errata workaround. 11 | 12 | If the revision of the ARM Cortex-M7 core is not r0p1 then either option can be 13 | used, but it is recommended to use the FreeRTOS ARM Cortex-M4F port located in 14 | the /FreeRTOS/Source/portable/GCC/ARM_CM4F directory. 15 | 16 | If the revision of the ARM Cortex-M7 core is r0p1 then use the FreeRTOS ARM 17 | Cortex-M7 r0p1 port located in the /FreeRTOS/Source/portable/GCC/ARM_CM7/r0p1 18 | directory. -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/PPC405_Xilinx/FPU_Macros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | /* When switching out a task, if the task tag contains a buffer address then 29 | save the flop context into the buffer. */ 30 | #define traceTASK_SWITCHED_OUT() \ 31 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 32 | { \ 33 | extern void vPortSaveFPURegisters( void * ); \ 34 | vPortSaveFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 35 | } 36 | 37 | /* When switching in a task, if the task tag contains a buffer address then 38 | load the flop context from the buffer. */ 39 | #define traceTASK_SWITCHED_IN() \ 40 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 41 | { \ 42 | extern void vPortRestoreFPURegisters( void * ); \ 43 | vPortRestoreFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 44 | } 45 | 46 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/PPC440_Xilinx/FPU_Macros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | /* When switching out a task, if the task tag contains a buffer address then 29 | save the flop context into the buffer. */ 30 | #define traceTASK_SWITCHED_OUT() \ 31 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 32 | { \ 33 | extern void vPortSaveFPURegisters( void * ); \ 34 | vPortSaveFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 35 | } 36 | 37 | /* When switching in a task, if the task tag contains a buffer address then 38 | load the flop context from the buffer. */ 39 | #define traceTASK_SWITCHED_IN() \ 40 | if( pxCurrentTCB->pxTaskTag != NULL ) \ 41 | { \ 42 | extern void vPortRestoreFPURegisters( void * ); \ 43 | vPortRestoreFPURegisters( ( void * ) ( pxCurrentTCB->pxTaskTag ) ); \ 44 | } 45 | 46 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/RISC-V/Documentation.url: -------------------------------------------------------------------------------- 1 | [{000214A0-0000-0000-C000-000000000046}] 2 | Prop3=19,11 3 | [InternetShortcut] 4 | IDList= 5 | URL=https://freertos.org/Using-FreeRTOS-on-RISC-V.html 6 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/RISC-V/chip_specific_extensions/readme.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * The FreeRTOS kernel's RISC-V port is split between the the code that is 3 | * common across all currently supported RISC-V chips (implementations of the 4 | * RISC-V ISA), and code that tailors the port to a specific RISC-V chip: 5 | * 6 | * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that 7 | * is common to all currently supported RISC-V chips. There is only one 8 | * portASM.S file because the same file is built for all RISC-V target chips. 9 | * 10 | * + Header files called freertos_risc_v_chip_specific_extensions.h contain the 11 | * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V 12 | * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files 13 | * as there are multiple RISC-V chip implementations. 14 | * 15 | * !!!NOTE!!! 16 | * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h 17 | * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the 18 | * compiler's!) include path. For example, if the chip in use includes a core 19 | * local interrupter (CLINT) and does not include any chip specific register 20 | * extensions then add the path below to the assembler's include path: 21 | * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions 22 | * 23 | */ 24 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/RISC-V/readme.txt: -------------------------------------------------------------------------------- 1 | /* 2 | * The FreeRTOS kernel's RISC-V port is split between the the code that is 3 | * common across all currently supported RISC-V chips (implementations of the 4 | * RISC-V ISA), and code that tailors the port to a specific RISC-V chip: 5 | * 6 | * + FreeRTOS\Source\portable\GCC\RISC-V-RV32\portASM.S contains the code that 7 | * is common to all currently supported RISC-V chips. There is only one 8 | * portASM.S file because the same file is built for all RISC-V target chips. 9 | * 10 | * + Header files called freertos_risc_v_chip_specific_extensions.h contain the 11 | * code that tailors the FreeRTOS kernel's RISC-V port to a specific RISC-V 12 | * chip. There are multiple freertos_risc_v_chip_specific_extensions.h files 13 | * as there are multiple RISC-V chip implementations. 14 | * 15 | * !!!NOTE!!! 16 | * TAKE CARE TO INCLUDE THE CORRECT freertos_risc_v_chip_specific_extensions.h 17 | * HEADER FILE FOR THE CHIP IN USE. This is done using the assembler's (not the 18 | * compiler's!) include path. For example, if the chip in use includes a core 19 | * local interrupter (CLINT) and does not include any chip specific register 20 | * extensions then add the path below to the assembler's include path: 21 | * FreeRTOS\Source\portable\GCC\RISC-V-RV32\chip_specific_extensions\RV32I_CLINT_no_extensions 22 | * 23 | */ 24 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/nrf52840-dk/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.0.0 3 | * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. If you wish to use our Amazon 14 | * FreeRTOS name, please do so in a fair use way that does not cause confusion. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 18 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 19 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 20 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 21 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | * 23 | * http://www.FreeRTOS.org 24 | * http://aws.amazon.com/freertos 25 | * 26 | * 1 tab == 4 spaces! 27 | */ 28 | 29 | 30 | #ifndef PORTMACRO_H 31 | #define PORTMACRO_H 32 | 33 | #include "portmacro_cmsis.h" 34 | 35 | #endif /* PORTMACRO_H */ 36 | 37 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/stubs/port.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.0 3 | * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | /* Scheduler includes. */ 29 | #include "FreeRTOS.h" 30 | #include "task.h" 31 | 32 | /* 33 | * See header file for description. 34 | */ 35 | StackType_t *pxPortInitialiseStack( StackType_t *pxTopOfStack, TaskFunction_t pxCode, void *pvParameters ) 36 | { 37 | ( void ) pxTopOfStack; 38 | ( void ) pxCode; 39 | ( void ) pvParameters; 40 | 41 | return ( StackType_t * ) NULL; 42 | } 43 | /*-----------------------------------------------------------*/ 44 | 45 | /* 46 | * See header file for description. 47 | */ 48 | BaseType_t xPortStartScheduler( void ) 49 | { 50 | return pdFAIL; 51 | } 52 | /*-----------------------------------------------------------*/ 53 | 54 | void vPortEndScheduler( void ) 55 | { 56 | /* Do not implement. */ 57 | } 58 | /*-----------------------------------------------------------*/ 59 | 60 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/ARM_CM23/secure/secure_context_port.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | /* Secure context includes. */ 29 | #include "secure_context.h" 30 | 31 | /* Secure port macros. */ 32 | #include "secure_port_macros.h" 33 | 34 | /* Functions implemented in assembler file. */ 35 | extern void SecureContext_LoadContextAsm( SecureContextHandle_t xSecureContextHandle ); 36 | extern void SecureContext_SaveContextAsm( SecureContextHandle_t xSecureContextHandle ); 37 | 38 | secureportNON_SECURE_CALLABLE void SecureContext_LoadContext( SecureContextHandle_t xSecureContextHandle ) 39 | { 40 | SecureContext_LoadContextAsm( xSecureContextHandle ); 41 | } 42 | /*-----------------------------------------------------------*/ 43 | 44 | secureportNON_SECURE_CALLABLE void SecureContext_SaveContext( SecureContextHandle_t xSecureContextHandle ) 45 | { 46 | SecureContext_SaveContextAsm( xSecureContextHandle ); 47 | } 48 | /*-----------------------------------------------------------*/ 49 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/ARM_CM23/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_HEAP_H__ 29 | #define __SECURE_HEAP_H__ 30 | 31 | /* Standard includes. */ 32 | #include 33 | 34 | /** 35 | * @brief Allocates memory from heap. 36 | * 37 | * @param[in] xWantedSize The size of the memory to be allocated. 38 | * 39 | * @return Pointer to the memory region if the allocation is successful, NULL 40 | * otherwise. 41 | */ 42 | void *pvPortMalloc( size_t xWantedSize ); 43 | 44 | /** 45 | * @brief Frees the previously allocated memory. 46 | * 47 | * @param[in] pv Pointer to the memory to be freed. 48 | */ 49 | void vPortFree( void *pv ); 50 | 51 | #endif /* __SECURE_HEAP_H__ */ 52 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/ARM_CM23/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_INIT_H__ 29 | #define __SECURE_INIT_H__ 30 | 31 | /** 32 | * @brief De-prioritizes the non-secure exceptions. 33 | * 34 | * This is needed to ensure that the non-secure PendSV runs at the lowest 35 | * priority. Context switch is done in the non-secure PendSV handler. 36 | * 37 | * @note This function must be called in the handler mode. It is no-op if called 38 | * in the thread mode. 39 | */ 40 | void SecureInit_DePrioritizeNSExceptions( void ); 41 | 42 | /** 43 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 44 | * 45 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 46 | * Registers are not leaked to the non-secure side. 47 | * 48 | * @note This function must be called in the handler mode. It is no-op if called 49 | * in the thread mode. 50 | */ 51 | void SecureInit_EnableNSFPUAccess( void ); 52 | 53 | #endif /* __SECURE_INIT_H__ */ 54 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/ARM_CM33/secure/secure_context_port.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | /* Secure context includes. */ 29 | #include "secure_context.h" 30 | 31 | /* Secure port macros. */ 32 | #include "secure_port_macros.h" 33 | 34 | /* Functions implemented in assembler file. */ 35 | extern void SecureContext_LoadContextAsm( SecureContextHandle_t xSecureContextHandle ); 36 | extern void SecureContext_SaveContextAsm( SecureContextHandle_t xSecureContextHandle ); 37 | 38 | secureportNON_SECURE_CALLABLE void SecureContext_LoadContext( SecureContextHandle_t xSecureContextHandle ) 39 | { 40 | SecureContext_LoadContextAsm( xSecureContextHandle ); 41 | } 42 | /*-----------------------------------------------------------*/ 43 | 44 | secureportNON_SECURE_CALLABLE void SecureContext_SaveContext( SecureContextHandle_t xSecureContextHandle ) 45 | { 46 | SecureContext_SaveContextAsm( xSecureContextHandle ); 47 | } 48 | /*-----------------------------------------------------------*/ 49 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/ARM_CM33/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_HEAP_H__ 29 | #define __SECURE_HEAP_H__ 30 | 31 | /* Standard includes. */ 32 | #include 33 | 34 | /** 35 | * @brief Allocates memory from heap. 36 | * 37 | * @param[in] xWantedSize The size of the memory to be allocated. 38 | * 39 | * @return Pointer to the memory region if the allocation is successful, NULL 40 | * otherwise. 41 | */ 42 | void *pvPortMalloc( size_t xWantedSize ); 43 | 44 | /** 45 | * @brief Frees the previously allocated memory. 46 | * 47 | * @param[in] pv Pointer to the memory to be freed. 48 | */ 49 | void vPortFree( void *pv ); 50 | 51 | #endif /* __SECURE_HEAP_H__ */ 52 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/ARM_CM33/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef __SECURE_INIT_H__ 29 | #define __SECURE_INIT_H__ 30 | 31 | /** 32 | * @brief De-prioritizes the non-secure exceptions. 33 | * 34 | * This is needed to ensure that the non-secure PendSV runs at the lowest 35 | * priority. Context switch is done in the non-secure PendSV handler. 36 | * 37 | * @note This function must be called in the handler mode. It is no-op if called 38 | * in the thread mode. 39 | */ 40 | void SecureInit_DePrioritizeNSExceptions( void ); 41 | 42 | /** 43 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 44 | * 45 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 46 | * Registers are not leaked to the non-secure side. 47 | * 48 | * @note This function must be called in the handler mode. It is no-op if called 49 | * in the thread mode. 50 | */ 51 | void SecureInit_EnableNSFPUAccess( void ); 52 | 53 | #endif /* __SECURE_INIT_H__ */ 54 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/ARM_CM7/ReadMe.txt: -------------------------------------------------------------------------------- 1 | There are two options for running FreeRTOS on ARM Cortex-M7 microcontrollers. 2 | The best option depends on the revision of the ARM Cortex-M7 core in use. The 3 | revision is specified by an 'r' number, and a 'p' number, so will look something 4 | like 'r0p1'. Check the documentation for the microcontroller in use to find the 5 | revision of the Cortex-M7 core used in that microcontroller. If in doubt, use 6 | the FreeRTOS port provided specifically for r0p1 revisions, as that can be used 7 | with all core revisions. 8 | 9 | The first option is to use the ARM Cortex-M4F port, and the second option is to 10 | use the Cortex-M7 r0p1 port - the latter containing a minor errata workaround. 11 | 12 | If the revision of the ARM Cortex-M7 core is not r0p1 then either option can be 13 | used, but it is recommended to use the FreeRTOS ARM Cortex-M4F port located in 14 | the /FreeRTOS/Source/portable/IAR/ARM_CM4F directory. 15 | 16 | If the revision of the ARM Cortex-M7 core is r0p1 then use the FreeRTOS ARM 17 | Cortex-M7 r0p1 port located in the /FreeRTOS/Source/portable/IAR/ARM_CM7/r0p1 18 | directory. -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X128.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X128.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X256.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/AtmelSAM7S64/lib_AT91SAM7X256.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/AtmelSAM9XE/ISR_Support.h: -------------------------------------------------------------------------------- 1 | EXTERN pxCurrentTCB 2 | EXTERN ulCriticalNesting 3 | 4 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 5 | ; Context save and restore macro definitions 6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 7 | 8 | portSAVE_CONTEXT MACRO 9 | 10 | ; Push R0 as we are going to use the register. 11 | STMDB SP!, {R0} 12 | 13 | ; Set R0 to point to the task stack pointer. 14 | STMDB SP, {SP}^ 15 | NOP 16 | SUB SP, SP, #4 17 | LDMIA SP!, {R0} 18 | 19 | ; Push the return address onto the stack. 20 | STMDB R0!, {LR} 21 | 22 | ; Now we have saved LR we can use it instead of R0. 23 | MOV LR, R0 24 | 25 | ; Pop R0 so we can save it onto the system mode stack. 26 | LDMIA SP!, {R0} 27 | 28 | ; Push all the system mode registers onto the task stack. 29 | STMDB LR, {R0-LR}^ 30 | NOP 31 | SUB LR, LR, #60 32 | 33 | ; Push the SPSR onto the task stack. 34 | MRS R0, SPSR 35 | STMDB LR!, {R0} 36 | 37 | LDR R0, =ulCriticalNesting 38 | LDR R0, [R0] 39 | STMDB LR!, {R0} 40 | 41 | ; Store the new top of stack for the task. 42 | LDR R1, =pxCurrentTCB 43 | LDR R0, [R1] 44 | STR LR, [R0] 45 | 46 | ENDM 47 | 48 | 49 | portRESTORE_CONTEXT MACRO 50 | 51 | ; Set the LR to the task stack. 52 | LDR R1, =pxCurrentTCB 53 | LDR R0, [R1] 54 | LDR LR, [R0] 55 | 56 | ; The critical nesting depth is the first item on the stack. 57 | ; Load it into the ulCriticalNesting variable. 58 | LDR R0, =ulCriticalNesting 59 | LDMFD LR!, {R1} 60 | STR R1, [R0] 61 | 62 | ; Get the SPSR from the stack. 63 | LDMFD LR!, {R0} 64 | MSR SPSR_cxsf, R0 65 | 66 | ; Restore all system mode registers for the task. 67 | LDMFD LR, {R0-R14}^ 68 | NOP 69 | 70 | ; Restore the return address. 71 | LDR LR, [LR, #+60] 72 | 73 | ; And return - correcting the offset in the LR to obtain the 74 | ; correct address. 75 | SUBS PC, LR, #4 76 | 77 | ENDM 78 | 79 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/IAR/AtmelSAM9XE/portasm.s79: -------------------------------------------------------------------------------- 1 | RSEG ICODE:CODE 2 | CODE32 3 | 4 | EXTERN vTaskSwitchContext 5 | 6 | PUBLIC vPortYieldProcessor 7 | PUBLIC vPortStartFirstTask 8 | 9 | #include "ISR_Support.h" 10 | 11 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 12 | ; Starting the first task is just a matter of restoring the context that 13 | ; was created by pxPortInitialiseStack(). 14 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 15 | vPortStartFirstTask: 16 | portRESTORE_CONTEXT 17 | 18 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 19 | ; Manual context switch function. This is the SWI hander. 20 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 21 | vPortYieldProcessor: 22 | ADD LR, LR, #4 ; Add 4 to the LR to make the LR appear exactly 23 | ; as if the context was saved during and IRQ 24 | ; handler. 25 | 26 | portSAVE_CONTEXT ; Save the context of the current task... 27 | LDR R0, =vTaskSwitchContext ; before selecting the next task to execute. 28 | mov lr, pc 29 | BX R0 30 | portRESTORE_CONTEXT ; Restore the context of the selected task. 31 | 32 | 33 | END 34 | 35 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Keil/See-also-the-RVDS-directory.txt: -------------------------------------------------------------------------------- 1 | Nothing to see here. -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/MPLAB/PIC18F/stdio.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/MPLAB/PIC18F/stdio.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/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 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/RVDS/ARM_CM7/ReadMe.txt: -------------------------------------------------------------------------------- 1 | There are two options for running FreeRTOS on ARM Cortex-M7 microcontrollers. 2 | The best option depends on the revision of the ARM Cortex-M7 core in use. The 3 | revision is specified by an 'r' number, and a 'p' number, so will look something 4 | like 'r0p1'. Check the documentation for the microcontroller in use to find the 5 | revision of the Cortex-M7 core used in that microcontroller. If in doubt, use 6 | the FreeRTOS port provided specifically for r0p1 revisions, as that can be used 7 | with all core revisions. 8 | 9 | The first option is to use the ARM Cortex-M4F port, and the second option is to 10 | use the Cortex-M7 r0p1 port - the latter containing a minor errata workaround. 11 | 12 | If the revision of the ARM Cortex-M7 core is not r0p1 then either option can be 13 | used, but it is recommended to use the FreeRTOS ARM Cortex-M4F port located in 14 | the /FreeRTOS/Source/portable/RVDS/ARM_CM4F directory. 15 | 16 | If the revision of the ARM Cortex-M7 core is r0p1 then use the FreeRTOS ARM 17 | Cortex-M7 r0p1 port located in the /FreeRTOS/Source/portable/RVDS/ARM_CM7/r0p1 18 | directory. -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Renesas/RX100/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.2.1 3 | ; * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | ; * this software and associated documentation files (the "Software"), to deal in 7 | ; * the Software without restriction, including without limitation the rights to 8 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 10 | ; * subject to the following conditions: 11 | ; * 12 | ; * The above copyright notice and this permission notice shall be included in all 13 | ; * copies or substantial portions of the Software. 14 | ; * 15 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | ; * 22 | ; * http://www.FreeRTOS.org 23 | ; * http://aws.amazon.com/freertos 24 | ; * 25 | ; * 1 tab == 4 spaces! 26 | ; */ 27 | .GLB _vSoftwareInterruptISR 28 | .GLB _vSoftwareInterruptEntry 29 | 30 | .SECTION P,CODE 31 | 32 | _vSoftwareInterruptEntry: 33 | 34 | BRA _vSoftwareInterruptISR 35 | 36 | .RVECTOR 27, _vSoftwareInterruptEntry 37 | 38 | .END 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Renesas/RX200/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.2.1 3 | ; * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | ; * this software and associated documentation files (the "Software"), to deal in 7 | ; * the Software without restriction, including without limitation the rights to 8 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 10 | ; * subject to the following conditions: 11 | ; * 12 | ; * The above copyright notice and this permission notice shall be included in all 13 | ; * copies or substantial portions of the Software. 14 | ; * 15 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | ; * 22 | ; * http://www.FreeRTOS.org 23 | ; * http://aws.amazon.com/freertos 24 | ; * 25 | ; * 1 tab == 4 spaces! 26 | ; */ 27 | .GLB _vSoftwareInterruptISR 28 | .GLB _vSoftwareInterruptEntry 29 | 30 | .SECTION P,CODE 31 | 32 | _vSoftwareInterruptEntry: 33 | 34 | BRA _vSoftwareInterruptISR 35 | 36 | .RVECTOR 27, _vSoftwareInterruptEntry 37 | 38 | .END 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Renesas/RX600/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.2.1 3 | ; * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | ; * this software and associated documentation files (the "Software"), to deal in 7 | ; * the Software without restriction, including without limitation the rights to 8 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 10 | ; * subject to the following conditions: 11 | ; * 12 | ; * The above copyright notice and this permission notice shall be included in all 13 | ; * copies or substantial portions of the Software. 14 | ; * 15 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | ; * 22 | ; * http://www.FreeRTOS.org 23 | ; * http://aws.amazon.com/freertos 24 | ; * 25 | ; * 1 tab == 4 spaces! 26 | ; */ 27 | .GLB _vSoftwareInterruptISR 28 | .GLB _vSoftwareInterruptEntry 29 | 30 | .SECTION P,CODE 31 | 32 | _vSoftwareInterruptEntry: 33 | 34 | BRA _vSoftwareInterruptISR 35 | 36 | .RVECTOR 27, _vSoftwareInterruptEntry 37 | 38 | .END 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Renesas/RX600v2/port_asm.src: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.2.1 3 | ; * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | ; * 5 | ; * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | ; * this software and associated documentation files (the "Software"), to deal in 7 | ; * the Software without restriction, including without limitation the rights to 8 | ; * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | ; * the Software, and to permit persons to whom the Software is furnished to do so, 10 | ; * subject to the following conditions: 11 | ; * 12 | ; * The above copyright notice and this permission notice shall be included in all 13 | ; * copies or substantial portions of the Software. 14 | ; * 15 | ; * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | ; * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | ; * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | ; * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | ; * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | ; * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | ; * 22 | ; * http://www.FreeRTOS.org 23 | ; * http://aws.amazon.com/freertos 24 | ; * 25 | ; * 1 tab == 4 spaces! 26 | ; */ 27 | .GLB _vSoftwareInterruptISR 28 | .GLB _vSoftwareInterruptEntry 29 | 30 | .SECTION P,CODE 31 | 32 | _vSoftwareInterruptEntry: 33 | 34 | BRA _vSoftwareInterruptISR 35 | 36 | .RVECTOR 27, _vSoftwareInterruptEntry 37 | 38 | .END 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Rowley/ARM7/readme.txt: -------------------------------------------------------------------------------- 1 | The Rowley ARM7 demo uses the GCC ARM7 port files. -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Softune/MB91460/__STD_LIB_sbrk.c: -------------------------------------------------------------------------------- 1 | #include "FreeRTOSConfig.h" 2 | #include 3 | 4 | static long brk_siz = 0; 5 | // #if configTOTAL_HEAP_SIZE != 0 6 | typedef int _heep_t; 7 | #define ROUNDUP(s) (((s)+sizeof(_heep_t)-1)&~(sizeof(_heep_t)-1)) 8 | static _heep_t _heep[ROUNDUP(configTOTAL_HEAP_SIZE)/sizeof(_heep_t)]; 9 | #define _heep_size ROUNDUP(configTOTAL_HEAP_SIZE) 10 | /* #else 11 | extern char *_heep; 12 | extern long _heep_size; 13 | #endif 14 | */ 15 | extern char *sbrk(int size) 16 | { 17 | if (brk_siz + size > _heep_size || brk_siz + size < 0) 18 | 19 | return((char*)-1); 20 | brk_siz += size; 21 | return( (char*)_heep + brk_siz - size); 22 | } 23 | 24 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/Softune/MB96340/__STD_LIB_sbrk.c: -------------------------------------------------------------------------------- 1 | /* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */ 2 | /* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */ 3 | /* ELIGIBILITY FOR ANY PURPOSES. */ 4 | /* (C) Fujitsu Microelectronics Europe GmbH */ 5 | /*--------------------------------------------------------------------------- 6 | __STD_LIB_sbrk.C 7 | - Used by heap_3.c for memory accocation and deletion. 8 | 9 | /*---------------------------------------------------------------------------*/ 10 | 11 | #include "FreeRTOSConfig.h" 12 | #include 13 | 14 | static long brk_siz = 0; 15 | typedef int _heep_t; 16 | #define ROUNDUP(s) (((s)+sizeof(_heep_t)-1)&~(sizeof(_heep_t)-1)) 17 | static _heep_t _heep[ROUNDUP(configTOTAL_HEAP_SIZE)/sizeof(_heep_t)]; 18 | #define _heep_size ROUNDUP(configTOTAL_HEAP_SIZE) 19 | 20 | extern char *sbrk(int size) 21 | { 22 | if (brk_siz + size > _heep_size || brk_siz + size < 0) 23 | 24 | return((char*)-1); 25 | brk_siz += size; 26 | return( (char*)_heep + brk_siz - size); 27 | } 28 | 29 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ThirdParty/GCC/Xtensa_ESP32/FreeRTOS-openocd.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Since at least FreeRTOS V7.5.3 uxTopUsedPriority is no longer 3 | * present in the kernel, so it has to be supplied by other means for 4 | * OpenOCD's threads awareness. 5 | * 6 | * Add this file to your project, and, if you're using --gc-sections, 7 | * ``--undefined=uxTopUsedPriority'' (or 8 | * ``-Wl,--undefined=uxTopUsedPriority'' when using gcc for final 9 | * linking) to your LDFLAGS; same with all the other symbols you need. 10 | */ 11 | 12 | #include "FreeRTOS.h" 13 | #include "esp_attr.h" 14 | #include "sdkconfig.h" 15 | 16 | #ifdef __GNUC__ 17 | #define USED __attribute__((used)) 18 | #else 19 | #define USED 20 | #endif 21 | 22 | #ifdef CONFIG_ESP32_DEBUG_OCDAWARE 23 | const int USED DRAM_ATTR uxTopUsedPriority = configMAX_PRIORITIES - 1; 24 | #endif 25 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ThirdParty/GCC/Xtensa_ESP32/include/portbenchmark.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | // Copyright (c) 2003-2015 Cadence Design Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining 5 | // a copy of this software and associated documentation files (the 6 | // "Software"), to deal in the Software without restriction, including 7 | // without limitation the rights to use, copy, modify, merge, publish, 8 | // distribute, sublicense, and/or sell copies of the Software, and to 9 | // permit persons to whom the Software is furnished to do so, subject to 10 | // the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included 13 | // in all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- 23 | */ 24 | 25 | /* 26 | * This utility helps benchmarking interrupt latency and context switches. 27 | * In order to enable it, set configBENCHMARK to 1 in FreeRTOSConfig.h. 28 | * You will also need to download the FreeRTOS_trace patch that contains 29 | * portbenchmark.c and the complete version of portbenchmark.h 30 | */ 31 | 32 | #ifndef PORTBENCHMARK_H 33 | #define PORTBENCHMARK_H 34 | 35 | #if configBENCHMARK 36 | #error "You need to download the FreeRTOS_trace patch that overwrites this file" 37 | #endif 38 | 39 | #define portbenchmarkINTERRUPT_DISABLE() 40 | #define portbenchmarkINTERRUPT_RESTORE(newstate) 41 | #define portbenchmarkIntLatency() 42 | #define portbenchmarkIntWait() 43 | #define portbenchmarkReset() 44 | #define portbenchmarkPrint() 45 | 46 | #endif /* PORTBENCHMARK */ 47 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ThirdParty/GCC/Xtensa_ESP32/xtensa_init.c: -------------------------------------------------------------------------------- 1 | /******************************************************************************* 2 | // Copyright (c) 2003-2015 Cadence Design Systems, Inc. 3 | // 4 | // Permission is hereby granted, free of charge, to any person obtaining 5 | // a copy of this software and associated documentation files (the 6 | // "Software"), to deal in the Software without restriction, including 7 | // without limitation the rights to use, copy, modify, merge, publish, 8 | // distribute, sublicense, and/or sell copies of the Software, and to 9 | // permit persons to whom the Software is furnished to do so, subject to 10 | // the following conditions: 11 | // 12 | // The above copyright notice and this permission notice shall be included 13 | // in all copies or substantial portions of the Software. 14 | // 15 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 17 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 18 | // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 19 | // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 20 | // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 21 | // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 22 | -------------------------------------------------------------------------------- 23 | 24 | XTENSA INITIALIZATION ROUTINES CODED IN C 25 | 26 | This file contains miscellaneous Xtensa RTOS-generic initialization functions 27 | that are implemented in C. 28 | 29 | *******************************************************************************/ 30 | 31 | 32 | #ifdef XT_BOARD 33 | #include 34 | #endif 35 | 36 | #include "xtensa_rtos.h" 37 | #include "esp_clk.h" 38 | 39 | #ifdef XT_RTOS_TIMER_INT 40 | 41 | unsigned _xt_tick_divisor = 0; /* cached number of cycles per tick */ 42 | 43 | void _xt_tick_divisor_init(void) 44 | { 45 | _xt_tick_divisor = esp_clk_cpu_freq() / XT_TICK_PER_SEC; 46 | } 47 | 48 | /* Deprecated, to be removed */ 49 | int xt_clock_freq(void) 50 | { 51 | return esp_clk_cpu_freq(); 52 | } 53 | 54 | #endif /* XT_RTOS_TIMER_INT */ 55 | 56 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ThirdParty/XCC/Xtensa/portbenchmark.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (c) 2015-2019 Cadence Design Systems, Inc. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining 6 | * a copy of this software and associated documentation files (the 7 | * "Software"), to deal in the Software without restriction, including 8 | * without limitation the rights to use, copy, modify, merge, publish, 9 | * distribute, sublicense, and/or sell copies of the Software, and to 10 | * permit persons to whom the Software is furnished to do so, subject to 11 | * the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included 14 | * in all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | 25 | /* 26 | * This utility helps benchmarking interrupt latency and context switches. 27 | * In order to enable it, set configBENCHMARK to 1 in FreeRTOSConfig.h. 28 | * You will also need to download the FreeRTOS_trace patch that contains 29 | * portbenchmark.c and the complete version of portbenchmark.h 30 | */ 31 | 32 | #ifndef PORTBENCHMARK_H 33 | #define PORTBENCHMARK_H 34 | 35 | #if configBENCHMARK 36 | #error "You need to download the FreeRTOS_trace patch that overwrites this file" 37 | #endif 38 | 39 | #define portbenchmarkINTERRUPT_DISABLE() 40 | #define portbenchmarkINTERRUPT_RESTORE(newstate) 41 | #define portbenchmarkIntLatency() 42 | #define portbenchmarkIntWait() 43 | #define portbenchmarkReset() 44 | #define portbenchmarkPrint() 45 | 46 | #endif /* PORTBENCHMARK */ 47 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/ThirdParty/XCC/Xtensa/porttrace.h: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (c) 2015-2019 Cadence Design Systems, Inc. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining 6 | * a copy of this software and associated documentation files (the 7 | * "Software"), to deal in the Software without restriction, including 8 | * without limitation the rights to use, copy, modify, merge, publish, 9 | * distribute, sublicense, and/or sell copies of the Software, and to 10 | * permit persons to whom the Software is furnished to do so, subject to 11 | * the following conditions: 12 | * 13 | * The above copyright notice and this permission notice shall be included 14 | * in all copies or substantial portions of the Software. 15 | * 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 19 | * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 20 | * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 21 | * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 22 | * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | */ 24 | 25 | /* 26 | * This utility helps tracing the entering and exiting from tasks. 27 | * It maintains a circular buffer of tasks in the order they execute, 28 | * and their execution time. To enable it, set configUSE_TRACE_FACILITY_2 29 | * to 1 in FreeRTOSConfig.h. You will also need to download the 30 | * FreeRTOS_trace patch that contains porttrace.c and the complete version 31 | * of porttrace.h. 32 | */ 33 | 34 | #ifndef PORTTRACE_H 35 | #define PORTTRACE_H 36 | 37 | #if configUSE_TRACE_FACILITY_2 38 | #error "You need to download the FreeRTOS_trace patch that overwrites this file" 39 | #endif 40 | 41 | #define porttracePrint(nelements) 42 | #define porttraceStamp(stamp, count_incr) 43 | 44 | #endif /* PORTTRACE_H */ 45 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/Source/portable/WizC/PIC18/addFreeRTOS.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.2.1 3 | * Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | /* 29 | Changes from V3.0.0 30 | 31 | Changes from V3.0.1 32 | 33 | Changes from V4.0.1 34 | Uselib pragma added for Croutine.c 35 | */ 36 | 37 | /* 38 | * The installation script will automatically prepend this file to the default FreeRTOS.h. 39 | */ 40 | 41 | #ifndef WIZC_FREERTOS_H 42 | #define WIZC_FREERTOS_H 43 | 44 | #pragma noheap 45 | #pragma wizcpp expandnl on 46 | #pragma wizcpp searchpath "$__PATHNAME__/libFreeRTOS/Include/" 47 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Croutine.c" 48 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Tasks.c" 49 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Queue.c" 50 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/List.c" 51 | #pragma wizcpp uselib "$__PATHNAME__/libFreeRTOS/Modules/Port.c" 52 | 53 | #endif /* WIZC_FREERTOS_H */ 54 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/Middlewares/Third_Party/FreeRTOS/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 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/POSIX/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS POSIX V1.1.0 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX.h 28 | * @brief FreeRTOS+POSIX header. 29 | * 30 | * This file must be included before all other FreeRTOS+POSIX includes. 31 | */ 32 | 33 | #ifndef _FREERTOS_POSIX_H_ 34 | #define _FREERTOS_POSIX_H_ 35 | 36 | /* FreeRTOS+POSIX platform-specific configuration headers. */ 37 | #include "FreeRTOS_POSIX_portable.h" 38 | #include "FreeRTOS_POSIX_portable_default.h" 39 | 40 | /* FreeRTOS includes. */ 41 | #include "FreeRTOS.h" 42 | #include "event_groups.h" 43 | #include "semphr.h" 44 | #include "task.h" 45 | 46 | /* FreeRTOS+POSIX data types and internal structs. */ 47 | #include "FreeRTOS_POSIX/sys/types.h" 48 | #include "FreeRTOS_POSIX_internal.h" 49 | 50 | #endif /* _FREERTOS_POSIX_H_ */ 51 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/POSIX/FreeRTOS-Plus-POSIX/include/portable/microchip/curiosity_pic32mzef/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* Microchip includes. */ 35 | #include 36 | 37 | /* Microchip already typedefs the following types. */ 38 | #define posixconfigENABLE_MODE_T 0 39 | #define posixconfigENABLE_PID_T 0 40 | #define posixconfigENABLE_SSIZE_T 0 41 | #define posixconfigENABLE_USECONDS_T 0 42 | /* Microchip -mnewlib compiler option supports these types. */ 43 | #define posixconfigENABLE_TIMESPEC 0 44 | #define posixconfigENABLE_ITIMERSPEC 0 45 | #define posixconfigENABLE_CLOCKID_T 0 46 | #define posixconfigENABLE_TIME_T 0 47 | #define posixconfigENABLE_TIMER_T 0 48 | 49 | 50 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 51 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/POSIX/FreeRTOS-Plus-POSIX/include/portable/nxp/lpc54018iotmodule/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/POSIX/FreeRTOS-Plus-POSIX/include/portable/pc/windows/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/POSIX/FreeRTOS-Plus-POSIX/include/portable/st/stm32l475_discovery/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/POSIX/FreeRTOS-Plus-POSIX/include/portable/ti/cc3220_launchpad/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/POSIX/FreeRTOS-Plus-POSIX/source/FreeRTOS_POSIX_unistd.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS POSIX V1.1.0 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_unistd.c 28 | * @brief Implementation of functions in unistd.h 29 | */ 30 | 31 | /* FreeRTOS+POSIX includes. */ 32 | #include "FreeRTOS_POSIX.h" 33 | #include "FreeRTOS_POSIX/unistd.h" 34 | 35 | /*-----------------------------------------------------------*/ 36 | 37 | unsigned sleep( unsigned seconds ) 38 | { 39 | vTaskDelay( pdMS_TO_TICKS( seconds * 1000 ) ); 40 | 41 | return 0; 42 | } 43 | 44 | /*-----------------------------------------------------------*/ 45 | 46 | int usleep( useconds_t usec ) 47 | { 48 | /* To avoid delaying for less than usec, always round up. */ 49 | vTaskDelay( pdMS_TO_TICKS( usec / 1000 + ( usec % 1000 != 0 ) ) ); 50 | 51 | return 0; 52 | } 53 | 54 | /*-----------------------------------------------------------*/ 55 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32F1_Demo/posix移植笔记.md: -------------------------------------------------------------------------------- 1 | 2 | ## 添加头文件路径 3 | 4 | ``` 5 | ..\POSIX\FreeRTOS-Plus-POSIX\include\portable\st\stm32l475_discovery; 6 | ..\POSIX\FreeRTOS-Plus-POSIX\include\portable; 7 | ..\POSIX\FreeRTOS-Plus-POSIX\include; 8 | ..\POSIX\FreeRTOS-Plus-POSIX\source; 9 | ..\POSIX\include\private; 10 | ..\POSIX\include; 11 | 12 | ``` -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32H7_Demo/Core/Inc/gpio.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file gpio.h 4 | * @brief This file contains all the function prototypes for 5 | * the gpio.c file 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2021 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __GPIO_H__ 21 | #define __GPIO_H__ 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "main.h" 29 | 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | /* USER CODE BEGIN Private defines */ 35 | 36 | /* USER CODE END Private defines */ 37 | 38 | void MX_GPIO_Init(void); 39 | 40 | /* USER CODE BEGIN Prototypes */ 41 | 42 | /* USER CODE END Prototypes */ 43 | 44 | #ifdef __cplusplus 45 | } 46 | #endif 47 | #endif /*__ GPIO_H__ */ 48 | 49 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 50 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32H7_Demo/Core/Inc/usart.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file usart.h 4 | * @brief This file contains all the function prototypes for 5 | * the usart.c file 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | *

© Copyright (c) 2021 STMicroelectronics. 10 | * All rights reserved.

11 | * 12 | * This software component is licensed by ST under BSD 3-Clause license, 13 | * the "License"; You may not use this file except in compliance with the 14 | * License. You may obtain a copy of the License at: 15 | * opensource.org/licenses/BSD-3-Clause 16 | * 17 | ****************************************************************************** 18 | */ 19 | /* Define to prevent recursive inclusion -------------------------------------*/ 20 | #ifndef __USART_H__ 21 | #define __USART_H__ 22 | 23 | #ifdef __cplusplus 24 | extern "C" { 25 | #endif 26 | 27 | /* Includes ------------------------------------------------------------------*/ 28 | #include "main.h" 29 | 30 | /* USER CODE BEGIN Includes */ 31 | 32 | /* USER CODE END Includes */ 33 | 34 | extern UART_HandleTypeDef huart3; 35 | 36 | /* USER CODE BEGIN Private defines */ 37 | 38 | /* USER CODE END Private defines */ 39 | 40 | void MX_USART3_UART_Init(void); 41 | 42 | /* USER CODE BEGIN Prototypes */ 43 | 44 | /* USER CODE END Prototypes */ 45 | 46 | #ifdef __cplusplus 47 | } 48 | #endif 49 | 50 | #endif /* __USART_H__ */ 51 | 52 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 53 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32H7_Demo/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gary-Hobson/FreeRTOS_POSIX_STM32/9656d1a7e38d796f71eabb4959120dea234982d6/Projects/FreeRTOS_STM32H7_Demo/Drivers/CMSIS/Device/ST/STM32H7xx/Include/stm32h7xx.h -------------------------------------------------------------------------------- /Projects/FreeRTOS_STM32H7_Demo/Drivers/CMSIS/Include/cmsis_version.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file cmsis_version.h 3 | * @brief CMSIS Core(M) Version definitions 4 | * @version V5.0.3 5 | * @date 24. June 2019 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2009-2019 ARM Limited. All rights reserved. 9 | * 10 | * SPDX-License-Identifier: Apache-2.0 11 | * 12 | * Licensed under the Apache License, Version 2.0 (the License); you may 13 | * not use this file except in compliance with the License. 14 | * You may obtain a copy of the License at 15 | * 16 | * www.apache.org/licenses/LICENSE-2.0 17 | * 18 | * Unless required by applicable law or agreed to in writing, software 19 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 20 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 21 | * See the License for the specific language governing permissions and 22 | * limitations under the License. 23 | */ 24 | 25 | #if defined ( __ICCARM__ ) 26 | #pragma system_include /* treat file as system include file for MISRA check */ 27 | #elif defined (__clang__) 28 | #pragma clang system_header /* treat file as system include file */ 29 | #endif 30 | 31 | #ifndef __CMSIS_VERSION_H 32 | #define __CMSIS_VERSION_H 33 | 34 | /* CMSIS Version definitions */ 35 | #define __CM_CMSIS_VERSION_MAIN ( 5U) /*!< [31:16] CMSIS Core(M) main version */ 36 | #define __CM_CMSIS_VERSION_SUB ( 3U) /*!< [15:0] CMSIS Core(M) sub version */ 37 | #define __CM_CMSIS_VERSION ((__CM_CMSIS_VERSION_MAIN << 16U) | \ 38 | __CM_CMSIS_VERSION_SUB ) /*!< CMSIS Core(M) version number */ 39 | #endif 40 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/FreeRTOS_Plus_POSIX_with_actor.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.28010.2050 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "RTOS_POSIX_Demo", "WIN32.vcxproj", "{C686325E-3261-42F7-AEB1-DDE5280E1CEB}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Release|Win32 = Release|Win32 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Debug|Win32.ActiveCfg = Debug|Win32 15 | {C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Debug|Win32.Build.0 = Debug|Win32 16 | {C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Release|Win32.ActiveCfg = Release|Win32 17 | {C686325E-3261-42F7-AEB1-DDE5280E1CEB}.Release|Win32.Build.0 = Release|Win32 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {18112148-F9F0-43E0-B713-B146289BDEF3} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/WIN32.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/lib/FreeRTOS-Plus-POSIX/include/FreeRTOS_POSIX.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS POSIX V1.1.0 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX.h 28 | * @brief FreeRTOS+POSIX header. 29 | * 30 | * This file must be included before all other FreeRTOS+POSIX includes. 31 | */ 32 | 33 | #ifndef _FREERTOS_POSIX_H_ 34 | #define _FREERTOS_POSIX_H_ 35 | 36 | /* FreeRTOS+POSIX platform-specific configuration headers. */ 37 | #include "FreeRTOS_POSIX_portable.h" 38 | #include "FreeRTOS_POSIX_portable_default.h" 39 | 40 | /* FreeRTOS includes. */ 41 | #include "FreeRTOS.h" 42 | #include "event_groups.h" 43 | #include "semphr.h" 44 | #include "task.h" 45 | 46 | /* FreeRTOS+POSIX data types and internal structs. */ 47 | #include "FreeRTOS_POSIX/sys/types.h" 48 | #include "FreeRTOS_POSIX_internal.h" 49 | 50 | #endif /* _FREERTOS_POSIX_H_ */ 51 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/lib/FreeRTOS-Plus-POSIX/include/portable/microchip/curiosity_pic32mzef/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* Microchip includes. */ 35 | #include 36 | 37 | /* Microchip already typedefs the following types. */ 38 | #define posixconfigENABLE_MODE_T 0 39 | #define posixconfigENABLE_PID_T 0 40 | #define posixconfigENABLE_SSIZE_T 0 41 | #define posixconfigENABLE_USECONDS_T 0 42 | /* Microchip -mnewlib compiler option supports these types. */ 43 | #define posixconfigENABLE_TIMESPEC 0 44 | #define posixconfigENABLE_ITIMERSPEC 0 45 | #define posixconfigENABLE_CLOCKID_T 0 46 | #define posixconfigENABLE_TIME_T 0 47 | #define posixconfigENABLE_TIMER_T 0 48 | 49 | 50 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 51 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/lib/FreeRTOS-Plus-POSIX/include/portable/nxp/lpc54018iotmodule/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/lib/FreeRTOS-Plus-POSIX/include/portable/pc/windows/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/lib/FreeRTOS-Plus-POSIX/include/portable/st/stm32l475_discovery/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/lib/FreeRTOS-Plus-POSIX/include/portable/ti/cc3220_launchpad/FreeRTOS_POSIX_portable.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS+POSIX V1.0.4 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_portable.h 28 | * @brief Port-specific configuration of FreeRTOS+POSIX. 29 | */ 30 | 31 | #ifndef _FREERTOS_POSIX_PORTABLE_H_ 32 | #define _FREERTOS_POSIX_PORTABLE_H_ 33 | 34 | /* This port uses the defaults in FreeRTOS_POSIX_portable_default.h, so this 35 | * file is empty. */ 36 | 37 | #endif /* _FREERTOS_POSIX_PORTABLE_H_ */ 38 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/lib/FreeRTOS-Plus-POSIX/source/FreeRTOS_POSIX_unistd.c: -------------------------------------------------------------------------------- 1 | /* 2 | * Amazon FreeRTOS POSIX V1.1.0 3 | * Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://aws.amazon.com/freertos 23 | * http://www.FreeRTOS.org 24 | */ 25 | 26 | /** 27 | * @file FreeRTOS_POSIX_unistd.c 28 | * @brief Implementation of functions in unistd.h 29 | */ 30 | 31 | /* FreeRTOS+POSIX includes. */ 32 | #include "FreeRTOS_POSIX.h" 33 | #include "FreeRTOS_POSIX/unistd.h" 34 | 35 | /*-----------------------------------------------------------*/ 36 | 37 | unsigned sleep( unsigned seconds ) 38 | { 39 | vTaskDelay( pdMS_TO_TICKS( seconds * 1000 ) ); 40 | 41 | return 0; 42 | } 43 | 44 | /*-----------------------------------------------------------*/ 45 | 46 | int usleep( useconds_t usec ) 47 | { 48 | /* To avoid delaying for less than usec, always round up. */ 49 | vTaskDelay( pdMS_TO_TICKS( usec / 1000 + ( usec % 1000 != 0 ) ) ); 50 | 51 | return 0; 52 | } 53 | 54 | /*-----------------------------------------------------------*/ 55 | -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/posix_demo.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.0.1 3 | * Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved. 4 | * 5 | * Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | * this software and associated documentation files (the "Software"), to deal in 7 | * the Software without restriction, including without limitation the rights to 8 | * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | * the Software, and to permit persons to whom the Software is furnished to do so, 10 | * subject to the following conditions: 11 | * 12 | * The above copyright notice and this permission notice shall be included in all 13 | * copies or substantial portions of the Software. 14 | * 15 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | * 22 | * http://www.FreeRTOS.org 23 | * http://aws.amazon.com/freertos 24 | * 25 | * 1 tab == 4 spaces! 26 | */ 27 | 28 | #ifndef _POSIX_DEMO_H_ 29 | #define _POSIX_DEMO_H_ 30 | void vStartPOSIXDemo( void * pvParameters ); 31 | 32 | #endif /* _POSIX_DEMO_H_ */ -------------------------------------------------------------------------------- /Projects/FreeRTOS_Windows_Simulator/readme.txt: -------------------------------------------------------------------------------- 1 | Directories: 2 | 3 | + FreeRTOS-Plus\Demo\FreeRTOS_Plus_POSIX_with_actor_Windows_Simulator 4 | contains a FreeRTOS windows simulator demo project for FreeRTOS+POSIX. 5 | See http://www.FreeRTOS.org/FreeRTOS-Plus/FreeRTOS_Plus_POSIX/ for information about this project. 6 | 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # FreeRTOS_POSIX 2 | 在 FreeRTOS 上使用 POSIX 接口,使用 POSIX 接口作为嵌入式软件的隔离层。 3 | 4 | 该仓库参考 [FreeRTOS-POSIX](https://www.freertos.org/FreeRTOS-Plus/FreeRTOS_Plus_POSIX/index.html#supported_features) 官网,并将其移植到STM32 5 | 6 | > 开发环境: 7 | > 8 | > Keil 5.33 + ARMCC V5.06 9 | > 10 | > STM32CubeMX 6.11 + HAL 库 V1.83 11 | > 12 | > 硬件 : 13 | > 14 | > STM32F103ZET6 15 | > 16 | > 内部RC 64M 、串口波特率 115200 17 | > 18 | > PE5 系统运行指示灯、PB5任务运行指示灯 19 | 20 | --- 21 | 22 | ## FreeRTOS_POSIX_Simulation 23 | 24 | 该文件夹为 FreeRTOS 提供的 VS 工程,在VS环境中运行 FreeRTOS ,并实现 POSIX 接口访问。 25 | 26 | **整体架构图:** 27 | 28 | ![](./Document/Picture/POSIX.jpg) 29 | 30 | ## FreeRTOS_POSIX_STM32 31 | 32 | 该文件为在STM32移植 FreeRTOS POSIX 接口, 33 | 34 | 使用 STM32CubeMX 配置生成工程,然后将VS相关文件添加到 keil 工程 35 | --------------------------------------------------------------------------------