├── .gitignore ├── 3rd_party ├── CMSIS │ ├── Include │ │ ├── cmsis_armcc.h │ │ ├── cmsis_armclang.h │ │ ├── cmsis_armclang_ltm.h │ │ ├── cmsis_ccs.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 │ ├── LICENSE.txt │ └── README.txt ├── FreeRTOS-Kernel │ ├── CMakeLists.txt │ ├── 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 │ ├── manifest.yml │ ├── 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 │ │ │ │ │ │ ├── ARM_CM55 │ │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ └── ARM_CM85 │ │ │ │ │ │ │ └── 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 │ │ │ │ │ │ ├── ARM_CM55 │ │ │ │ │ │ └── portmacro.h │ │ │ │ │ │ └── ARM_CM85 │ │ │ │ │ │ └── portmacro.h │ │ │ │ ├── portasm.h │ │ │ │ └── portmacrocommon.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_asm.s │ │ │ │ │ │ └── ARM_CM33 │ │ │ │ │ │ └── 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 │ │ ├── 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 │ │ ├── CMakeLists.txt │ │ ├── Common │ │ │ └── mpu_wrappers.c │ │ ├── GCC │ │ │ ├── ARM_CA53_64_BIT │ │ │ │ ├── port.c │ │ │ │ ├── portASM.S │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CA53_64_BIT_SRE │ │ │ │ ├── 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 │ │ │ │ │ └── portmacrocommon.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 │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CM3 │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM33 │ │ │ │ ├── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.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 │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CM3_MPU │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM4F │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM4_MPU │ │ │ │ ├── port.c │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM55 │ │ │ │ ├── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.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_CM55_NTZ │ │ │ │ └── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CM7 │ │ │ │ ├── ReadMe.txt │ │ │ │ └── r0p1 │ │ │ │ │ ├── port.c │ │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM85 │ │ │ │ ├── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.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_CM85_NTZ │ │ │ │ └── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CR5 │ │ │ │ ├── port.c │ │ │ │ ├── portASM.S │ │ │ │ └── portmacro.h │ │ │ └── ARM_CRx_No_GIC │ │ │ │ ├── port.c │ │ │ │ ├── portASM.S │ │ │ │ └── portmacro.h │ │ ├── IAR │ │ │ ├── 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 │ │ │ │ │ └── portmacrocommon.h │ │ │ │ └── secure │ │ │ │ │ ├── secure_context.c │ │ │ │ │ ├── secure_context.h │ │ │ │ │ ├── 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 │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CM3 │ │ │ │ ├── port.c │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM33 │ │ │ │ ├── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portasm.s │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.h │ │ │ │ └── secure │ │ │ │ │ ├── secure_context.c │ │ │ │ │ ├── secure_context.h │ │ │ │ │ ├── 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 │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CM4F │ │ │ │ ├── port.c │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM4F_MPU │ │ │ │ ├── port.c │ │ │ │ ├── portasm.s │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM55 │ │ │ │ ├── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portasm.s │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.h │ │ │ │ └── secure │ │ │ │ │ ├── secure_context.c │ │ │ │ │ ├── secure_context.h │ │ │ │ │ ├── secure_context_port_asm.s │ │ │ │ │ ├── secure_heap.c │ │ │ │ │ ├── secure_heap.h │ │ │ │ │ ├── secure_init.c │ │ │ │ │ ├── secure_init.h │ │ │ │ │ └── secure_port_macros.h │ │ │ ├── ARM_CM55_NTZ │ │ │ │ └── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portasm.s │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CM7 │ │ │ │ ├── ReadMe.txt │ │ │ │ └── r0p1 │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.s │ │ │ │ │ └── portmacro.h │ │ │ ├── ARM_CM85 │ │ │ │ ├── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portasm.s │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.h │ │ │ │ └── secure │ │ │ │ │ ├── secure_context.c │ │ │ │ │ ├── secure_context.h │ │ │ │ │ ├── secure_context_port_asm.s │ │ │ │ │ ├── secure_heap.c │ │ │ │ │ ├── secure_heap.h │ │ │ │ │ ├── secure_init.c │ │ │ │ │ ├── secure_init.h │ │ │ │ │ └── secure_port_macros.h │ │ │ ├── ARM_CM85_NTZ │ │ │ │ └── non_secure │ │ │ │ │ ├── port.c │ │ │ │ │ ├── portasm.h │ │ │ │ │ ├── portasm.s │ │ │ │ │ ├── portmacro.h │ │ │ │ │ └── portmacrocommon.h │ │ │ ├── ARM_CRx_No_GIC │ │ │ │ ├── port.c │ │ │ │ ├── portASM.s │ │ │ │ └── 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 │ │ ├── Keil │ │ │ └── See-also-the-RVDS-directory.txt │ │ ├── MemMang │ │ │ ├── ReadMe.url │ │ │ ├── heap_1.c │ │ │ ├── heap_2.c │ │ │ ├── heap_3.c │ │ │ ├── heap_4.c │ │ │ └── heap_5.c │ │ ├── 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 │ │ └── readme.txt │ ├── queue.c │ ├── sbom.spdx │ ├── stream_buffer.c │ ├── tasks.c │ ├── timers.c │ └── version_FeeRTOS-202210-LTS.txt ├── README.txt ├── efm32pg1b │ ├── README.txt │ ├── arm │ │ └── startup_efm32pg1b.s │ ├── bsp_bcp.h │ ├── bspconfig.h │ ├── display_ls013b7dh03.c │ ├── display_ls013b7dh03.h │ ├── display_ls013b7dh03config.h │ ├── displaypal.h │ ├── displaypalconfig.h │ ├── displaypalemlib.c │ ├── efm32pg1b200f256gm48.h │ ├── efm32pg1b_acmp.h │ ├── efm32pg1b_adc.h │ ├── efm32pg1b_af_pins.h │ ├── efm32pg1b_af_ports.h │ ├── efm32pg1b_cmu.h │ ├── efm32pg1b_cryotimer.h │ ├── efm32pg1b_crypto.h │ ├── efm32pg1b_devinfo.h │ ├── efm32pg1b_dma_descriptor.h │ ├── efm32pg1b_dmareq.h │ ├── efm32pg1b_emu.h │ ├── efm32pg1b_fpueh.h │ ├── efm32pg1b_gpcrc.h │ ├── efm32pg1b_gpio.h │ ├── efm32pg1b_gpio_p.h │ ├── efm32pg1b_i2c.h │ ├── efm32pg1b_idac.h │ ├── efm32pg1b_ldma.h │ ├── efm32pg1b_ldma_ch.h │ ├── efm32pg1b_letimer.h │ ├── efm32pg1b_leuart.h │ ├── efm32pg1b_msc.h │ ├── efm32pg1b_pcnt.h │ ├── efm32pg1b_prs.h │ ├── efm32pg1b_prs_ch.h │ ├── efm32pg1b_prs_signals.h │ ├── efm32pg1b_rmu.h │ ├── efm32pg1b_romtable.h │ ├── efm32pg1b_rtcc.h │ ├── efm32pg1b_rtcc_cc.h │ ├── efm32pg1b_rtcc_ret.h │ ├── efm32pg1b_timer.h │ ├── efm32pg1b_timer_cc.h │ ├── efm32pg1b_usart.h │ ├── efm32pg1b_wdog.h │ ├── efm32pg1b_wdog_pch.h │ ├── em_assert.c │ ├── em_assert.h │ ├── em_bus.h │ ├── em_chip.h │ ├── em_cmu.c │ ├── em_cmu.h │ ├── em_common.h │ ├── em_device.h │ ├── em_emu.c │ ├── em_emu.h │ ├── em_gpio.c │ ├── em_gpio.h │ ├── em_int.c │ ├── em_int.h │ ├── em_prs.c │ ├── em_prs.h │ ├── em_rtcc.c │ ├── em_rtcc.h │ ├── em_system.c │ ├── em_system.h │ ├── em_types.h │ ├── em_usart.c │ ├── em_usart.h │ ├── emstatus.h │ ├── gnu │ │ ├── efm32pg1b.ld │ │ └── startup_efm32pg1b.c │ ├── iar │ │ └── startup_efm32pg1b.s │ ├── system_efm32pg1b.c │ ├── system_efm32pg1b.h │ ├── udelay.c │ └── udelay.h ├── ek-tm4c123gxl │ ├── README.txt │ ├── TM4C123GH6PM.h │ ├── arm │ │ └── startup_TM4C123GH6PM.s │ ├── gnu │ │ ├── ek-tm4c123gxl.ld │ │ └── startup_TM4C123GH6PM.c │ ├── gpio.h │ ├── iar │ │ └── startup_TM4C123GH6PM.s │ ├── rom.h │ ├── sysctl.h │ ├── system_TM4C123GH6PM.c │ └── system_TM4C123GH6PM.h └── nucleo-h743zi │ ├── README.txt │ ├── arm │ └── startup_stm32h743xx.s │ ├── gnu │ ├── nucleo-h743zi.ld │ └── startup_stm32h743xx.c │ ├── iar │ └── startup_stm32h743xx.s │ ├── stm32h743xx.h │ ├── stm32h7xx.h │ ├── system_stm32h7xx.c │ └── system_stm32h7xx.h ├── LICENSE ├── README.md ├── examples └── blinky_button │ ├── FreeRTOSConfig.h │ ├── armclang │ ├── efm32pg1b.uvoptx │ ├── efm32pg1b.uvprojx │ ├── ek-tm4c123gxl.uvoptx │ ├── ek-tm4c123gxl.uvprojx │ ├── nucleo-h743zi.uvoptx │ └── nucleo-h743zi.uvprojx │ ├── bsp.h │ ├── bsp_efm32pg1b.c │ ├── bsp_ek-tm4c123gxl.c │ ├── bsp_nucleo-h743zi.c │ ├── gnu │ ├── ek-tm4c123gxl.mak │ ├── flash_ek-tm4c123gxl.bat │ └── nucleo-h743zi.mak │ └── main.c ├── img ├── Beyond_the_RTOS.jpg ├── EOC_Miro.png ├── FreeACT.png ├── bd-NUCLEO-H743ZI.png ├── bd_EFM32-SLSTK3401A.png ├── bd_EK-TM4C123GXL.jpg └── github-star.jpg ├── inc └── FreeAct.h └── src └── FreeAct.c /.gitignore: -------------------------------------------------------------------------------- 1 | *.obj 2 | *.o 3 | *.d 4 | *.lib 5 | *.a 6 | *.elf 7 | *.err 8 | *.hex 9 | *.exe 10 | *.EXE 11 | *.map 12 | *.dep 13 | *.pdf 14 | *.PDF 15 | *.Hbp 16 | *.nav 17 | *.tps 18 | *.tws 19 | *.tmp 20 | *.log 21 | *.chm 22 | *.zip 23 | *.pdb 24 | *.ncb 25 | *.suo 26 | *.chw 27 | *.sfr 28 | *.ewt 29 | *.user 30 | *.avrsuo 31 | *.Debug 32 | *.Release 33 | lint*.txt 34 | *.Miro 35 | *.bak 36 | *.qlc 37 | JLink*.* 38 | version-* 39 | metrics.dox 40 | 41 | html/ 42 | test_priv/ 43 | dbg/ 44 | rel/ 45 | spy/ 46 | build/ 47 | build_rel/ 48 | build_spy/ 49 | settings/ 50 | .settings/ 51 | targetConfigs/ 52 | 53 | Debug/ 54 | Release/ 55 | 56 | lib/ 57 | obj/ 58 | output/ 59 | -------------------------------------------------------------------------------- /3rd_party/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 | -------------------------------------------------------------------------------- /3rd_party/CMSIS/Include/tz_context.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | * @file tz_context.h 3 | * @brief Context Management for Armv8-M TrustZone 4 | * @version V1.0.1 5 | * @date 10. January 2018 6 | ******************************************************************************/ 7 | /* 8 | * Copyright (c) 2017-2018 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 TZ_CONTEXT_H 32 | #define TZ_CONTEXT_H 33 | 34 | #include 35 | 36 | #ifndef TZ_MODULEID_T 37 | #define TZ_MODULEID_T 38 | /// \details Data type that identifies secure software modules called by a process. 39 | typedef uint32_t TZ_ModuleId_t; 40 | #endif 41 | 42 | /// \details TZ Memory ID identifies an allocated memory slot. 43 | typedef uint32_t TZ_MemoryId_t; 44 | 45 | /// Initialize secure context memory system 46 | /// \return execution status (1: success, 0: error) 47 | uint32_t TZ_InitContextSystem_S (void); 48 | 49 | /// Allocate context memory for calling secure software modules in TrustZone 50 | /// \param[in] module identifies software modules called from non-secure mode 51 | /// \return value != 0 id TrustZone memory slot identifier 52 | /// \return value 0 no memory available or internal error 53 | TZ_MemoryId_t TZ_AllocModuleContext_S (TZ_ModuleId_t module); 54 | 55 | /// Free context memory that was previously allocated with \ref TZ_AllocModuleContext_S 56 | /// \param[in] id TrustZone memory slot identifier 57 | /// \return execution status (1: success, 0: error) 58 | uint32_t TZ_FreeModuleContext_S (TZ_MemoryId_t id); 59 | 60 | /// Load secure context (called on RTOS thread context switch) 61 | /// \param[in] id TrustZone memory slot identifier 62 | /// \return execution status (1: success, 0: error) 63 | uint32_t TZ_LoadContext_S (TZ_MemoryId_t id); 64 | 65 | /// Store secure context (called on RTOS thread context switch) 66 | /// \param[in] id TrustZone memory slot identifier 67 | /// \return execution status (1: success, 0: error) 68 | uint32_t TZ_StoreContext_S (TZ_MemoryId_t id); 69 | 70 | #endif // TZ_CONTEXT_H 71 | -------------------------------------------------------------------------------- /3rd_party/CMSIS/README.txt: -------------------------------------------------------------------------------- 1 | About CMSIS 2 | =========== 3 | This folder contains the Cortex Microcontroller Software Interface Standard 4 | CMSIS 5.6.0 (https://github.com/ARM-software/CMSIS_5/releases/tag/5.6.0). 5 | 6 | CMSIS provides a single standard across all Cortex-M processor series vendors. 7 | It enables code re-use and code sharing across software projects and reduces 8 | time-to-market for new embedded applications. 9 | 10 | 11 | Licensing 12 | ========= 13 | CMSIS-5 is released under the terms of the Apache License Version 2.0 14 | included in the file LICENSE.txt. 15 | 16 | 17 | Complete Downloads 18 | ================== 19 | To reduce the size of the distribution, this CMSIS folder contains only the 20 | Include sub-directory. The complete CMSIS-5 is available at: 21 | 22 | https://github.com/ARM-software/CMSIS_5 23 | 24 | -------------------------------------------------------------------------------- /3rd_party/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 | -------------------------------------------------------------------------------- /3rd_party/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 | -------------------------------------------------------------------------------- /3rd_party/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 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/README.md: -------------------------------------------------------------------------------- 1 | > NOTE
2 | This directory is the FreeRTOS Kernel part of the FreeRTOS 202210 LTS 3 | distribution. To reduce the size, the `portable` sub-directory has been 4 | pruned and several FreeRTOS ports have been removed. 5 | 6 | Quantum Leaps, March 4, 2023 7 | 8 | ## Getting started 9 | This repository contains FreeRTOS kernel source/header files and kernel ports only. This repository is referenced as a submodule in [FreeRTOS/FreeRTOS](https://github.com/FreeRTOS/FreeRTOS) repository, which contains pre-configured demo application projects under ```FreeRTOS/Demo``` directory. 10 | 11 | The easiest way to use FreeRTOS is to start with one of the pre-configured demo application projects. That way you will have the correct FreeRTOS source files included, and the correct include paths configured. Once a demo application is building and executing you can remove the demo application files, and start to add in your own application source files. See the [FreeRTOS Kernel Quick Start Guide](https://www.FreeRTOS.org/FreeRTOS-quick-start-guide.html) for detailed instructions and other useful links. 12 | 13 | Additionally, for FreeRTOS kernel feature information refer to the [Developer Documentation](https://www.FreeRTOS.org/features.html), and [API Reference](https://www.FreeRTOS.org/a00106.html). 14 | 15 | ### Getting help 16 | If you have any questions or need assistance troubleshooting your FreeRTOS project, we have an active community that can help on the [FreeRTOS Community Support Forum](https://forums.freertos.org). 17 | 18 | ## Cloning this repository 19 | 20 | To clone using HTTPS: 21 | ``` 22 | git clone https://github.com/FreeRTOS/FreeRTOS-Kernel.git 23 | ``` 24 | Using SSH: 25 | ``` 26 | git clone git@github.com:FreeRTOS/FreeRTOS-Kernel.git 27 | ``` 28 | 29 | ## Repository structure 30 | - The root of this repository contains the three files that are common to 31 | every port - list.c, queue.c and tasks.c. The kernel is contained within these 32 | three files. croutine.c implements the optional co-routine functionality - which 33 | is normally only used on very memory limited systems. 34 | 35 | - The ```./portable``` directory contains the files that are specific to a particular microcontroller and/or compiler. 36 | See the readme file in the ```./portable``` directory for more information. 37 | 38 | - The ```./include``` directory contains the real time kernel header files. 39 | 40 | ### Code Formatting 41 | FreeRTOS files are formatted using the "uncrustify" tool. The configuration file used by uncrustify can be found in the [FreeRTOS/FreeRTOS repository](https://github.com/FreeRTOS/FreeRTOS/blob/main/tools/uncrustify.cfg). 42 | 43 | ### Spelling 44 | *lexicon.txt* contains words that are not traditionally found in an English dictionary. It is used by the spellchecker to verify the various jargon, variable names, and other odd words used in the FreeRTOS code base. If your pull request fails to pass the spelling and you believe this is a mistake, then add the word to *lexicon.txt*. 45 | Note that only the FreeRTOS Kernel source files are checked for proper spelling, the portable section is ignored. 46 | 47 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/include/StackMacros.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 a future release. 32 | #endif 33 | 34 | #include "stack_macros.h" 35 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/include/stdint.readme: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 FREERTOS_STDINT 30 | #define FREERTOS_STDINT 31 | 32 | /******************************************************************************* 33 | * THIS IS NOT A FULL stdint.h IMPLEMENTATION - It only contains the definitions 34 | * necessary to build the FreeRTOS code. It is provided to allow FreeRTOS to be 35 | * built using compilers that do not provide their own stdint.h definition. 36 | * 37 | * To use this file: 38 | * 39 | * 1) Copy this file into the directory that contains your FreeRTOSConfig.h 40 | * header file, as that directory will already be in the compiler's include 41 | * path. 42 | * 43 | * 2) Rename the copied file stdint.h. 44 | * 45 | */ 46 | 47 | typedef signed char int8_t; 48 | typedef unsigned char uint8_t; 49 | typedef short int16_t; 50 | typedef unsigned short uint16_t; 51 | typedef long int32_t; 52 | typedef unsigned long uint32_t; 53 | 54 | #ifndef SIZE_MAX 55 | #define SIZE_MAX ( ( size_t ) -1 ) 56 | #endif 57 | 58 | #endif /* FREERTOS_STDINT */ 59 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/manifest.yml: -------------------------------------------------------------------------------- 1 | name : "FreeRTOS-Kernel" 2 | version: "v10.5.1" 3 | description: "FreeRTOS Kernel." 4 | license: "MIT" 5 | -------------------------------------------------------------------------------- /3rd_party/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. -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeeRTOS Armv8-M and 2 | Armv8.1-M ports. 3 | Do not use the files located here! These file are copied into separate 4 | FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85]_NNN directories prior to each 5 | FreeRTOS release. 6 | 7 | If your Armv8-M and Armv8.1-M application uses TrustZone then use the files from the 8 | FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85] directories. 9 | 10 | If your Armv8-M and Armv8.1-M application does not use TrustZone then use the files from 11 | the FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85]_NTZ directories. 12 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeRTOS Armv8-M and 2 | Armv8.1-M ports. 3 | Do not use the files located here! These file are copied into separate 4 | FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85]_NNN directories prior to 5 | each FreeRTOS release. 6 | 7 | If your Armv8-M/Armv8.1-M application uses TrustZone then use the files from the 8 | FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85] directories. 9 | 10 | If your Armv8-M/Armv8.1-M application does not use TrustZone then use the files from 11 | the FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85]_NTZ directories. 12 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | /** 56 | * @brief Critical section management. 57 | */ 58 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 59 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 60 | /*-----------------------------------------------------------*/ 61 | 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | 66 | #endif /* PORTMACRO_H */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | /** 56 | * @brief Critical section management. 57 | */ 58 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 59 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 60 | /*-----------------------------------------------------------*/ 61 | 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | 66 | #endif /* PORTMACRO_H */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/GCC/ARM_CM55/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M55" 57 | #define portDONT_DISCARD __attribute__( ( used ) ) 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/GCC/ARM_CM85/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M85" 57 | #define portDONT_DISCARD __attribute__( ( used ) ) 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/IAR/ARM_CM23_NTZ/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/IAR/ARM_CM33_NTZ/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/IAR/ARM_CM55/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M55" 57 | #define portDONT_DISCARD __root 58 | /*-----------------------------------------------------------*/ 59 | 60 | #if( configTOTAL_MPU_REGIONS == 16 ) 61 | #error 16 MPU regions are not yet supported for this port. 62 | #endif 63 | /*-----------------------------------------------------------*/ 64 | 65 | /** 66 | * @brief Critical section management. 67 | */ 68 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 69 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 70 | /*-----------------------------------------------------------*/ 71 | 72 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 73 | * the source code because to do so would cause other compilers to generate 74 | * warnings. */ 75 | #pragma diag_suppress=Be006 76 | #pragma diag_suppress=Pa082 77 | /*-----------------------------------------------------------*/ 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | 83 | #endif /* PORTMACRO_H */ 84 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/non_secure/portable/IAR/ARM_CM85/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M85" 57 | #define portDONT_DISCARD __root 58 | /*-----------------------------------------------------------*/ 59 | 60 | #if( configTOTAL_MPU_REGIONS == 16 ) 61 | #error 16 MPU regions are not yet supported for this port. 62 | #endif 63 | /*-----------------------------------------------------------*/ 64 | 65 | /** 66 | * @brief Critical section management. 67 | */ 68 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 69 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 70 | /*-----------------------------------------------------------*/ 71 | 72 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 73 | * the source code because to do so would cause other compilers to generate 74 | * warnings. */ 75 | #pragma diag_suppress=Be006 76 | #pragma diag_suppress=Pa082 77 | /*-----------------------------------------------------------*/ 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | 83 | #endif /* PORTMACRO_H */ 84 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/secure/ReadMe.txt: -------------------------------------------------------------------------------- 1 | This directory tree contains the master copy of the FreeRTOS Armv8-M and 2 | Armv8.1-M ports. 3 | Do not use the files located here! These file are copied into separate 4 | FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85]_NNN directories prior to 5 | each FreeRTOS release. 6 | 7 | If your Armv8-M/Armv8.1-M application uses TrustZone then use the files from the 8 | FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85] directories. 9 | 10 | If your Armv8-M/Armv8.1-M application does not use TrustZone then use the files from 11 | the FreeRTOS/Source/portable/[compiler]/ARM_CM[23|33|55|85]_NTZ directories. 12 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/secure/heap/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/ARMv8M/secure/init/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/CCS/MSP430X/data_model.h: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.5.1 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 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM23/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM23/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM23/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM23_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM33/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | /** 56 | * @brief Critical section management. 57 | */ 58 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 59 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 60 | /*-----------------------------------------------------------*/ 61 | 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | 66 | #endif /* PORTMACRO_H */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM33/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM33/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM33_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __attribute__( ( used ) ) 53 | /*-----------------------------------------------------------*/ 54 | 55 | /** 56 | * @brief Critical section management. 57 | */ 58 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 59 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 60 | /*-----------------------------------------------------------*/ 61 | 62 | #ifdef __cplusplus 63 | } 64 | #endif 65 | 66 | #endif /* PORTMACRO_H */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM55/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M55" 57 | #define portDONT_DISCARD __attribute__( ( used ) ) 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM55/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM55/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM55_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M55" 57 | #define portDONT_DISCARD __attribute__( ( used ) ) 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/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. -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM85/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M85" 57 | #define portDONT_DISCARD __attribute__( ( used ) ) 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM85/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM85/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/GCC/ARM_CM85_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M85" 57 | #define portDONT_DISCARD __attribute__( ( used ) ) 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | #ifdef __cplusplus 68 | } 69 | #endif 70 | 71 | #endif /* PORTMACRO_H */ 72 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM23/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM23/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM23/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM23_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M23" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() __asm volatile ( " cpsid i " ::: "memory" ) 64 | #define portENABLE_INTERRUPTS() __asm volatile ( " cpsie i " ::: "memory" ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM33/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM33/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM33/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM33_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | /** 49 | * Architecture specifics. 50 | */ 51 | #define portARCH_NAME "Cortex-M33" 52 | #define portDONT_DISCARD __root 53 | /*-----------------------------------------------------------*/ 54 | 55 | #if( configTOTAL_MPU_REGIONS == 16 ) 56 | #error 16 MPU regions are not yet supported for this port. 57 | #endif 58 | /*-----------------------------------------------------------*/ 59 | 60 | /** 61 | * @brief Critical section management. 62 | */ 63 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 64 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 65 | /*-----------------------------------------------------------*/ 66 | 67 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 68 | * the source code because to do so would cause other compilers to generate 69 | * warnings. */ 70 | #pragma diag_suppress=Be006 71 | #pragma diag_suppress=Pa082 72 | /*-----------------------------------------------------------*/ 73 | 74 | #ifdef __cplusplus 75 | } 76 | #endif 77 | 78 | #endif /* PORTMACRO_H */ 79 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM55/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M55" 57 | #define portDONT_DISCARD __root 58 | /*-----------------------------------------------------------*/ 59 | 60 | #if( configTOTAL_MPU_REGIONS == 16 ) 61 | #error 16 MPU regions are not yet supported for this port. 62 | #endif 63 | /*-----------------------------------------------------------*/ 64 | 65 | /** 66 | * @brief Critical section management. 67 | */ 68 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 69 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 70 | /*-----------------------------------------------------------*/ 71 | 72 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 73 | * the source code because to do so would cause other compilers to generate 74 | * warnings. */ 75 | #pragma diag_suppress=Be006 76 | #pragma diag_suppress=Pa082 77 | /*-----------------------------------------------------------*/ 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | 83 | #endif /* PORTMACRO_H */ 84 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM55/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM55/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM55_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M55" 57 | #define portDONT_DISCARD __root 58 | /*-----------------------------------------------------------*/ 59 | 60 | #if( configTOTAL_MPU_REGIONS == 16 ) 61 | #error 16 MPU regions are not yet supported for this port. 62 | #endif 63 | /*-----------------------------------------------------------*/ 64 | 65 | /** 66 | * @brief Critical section management. 67 | */ 68 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 69 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 70 | /*-----------------------------------------------------------*/ 71 | 72 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 73 | * the source code because to do so would cause other compilers to generate 74 | * warnings. */ 75 | #pragma diag_suppress=Be006 76 | #pragma diag_suppress=Pa082 77 | /*-----------------------------------------------------------*/ 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | 83 | #endif /* PORTMACRO_H */ 84 | -------------------------------------------------------------------------------- /3rd_party/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. -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM85/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M85" 57 | #define portDONT_DISCARD __root 58 | /*-----------------------------------------------------------*/ 59 | 60 | #if( configTOTAL_MPU_REGIONS == 16 ) 61 | #error 16 MPU regions are not yet supported for this port. 62 | #endif 63 | /*-----------------------------------------------------------*/ 64 | 65 | /** 66 | * @brief Critical section management. 67 | */ 68 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 69 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 70 | /*-----------------------------------------------------------*/ 71 | 72 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 73 | * the source code because to do so would cause other compilers to generate 74 | * warnings. */ 75 | #pragma diag_suppress=Be006 76 | #pragma diag_suppress=Pa082 77 | /*-----------------------------------------------------------*/ 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | 83 | #endif /* PORTMACRO_H */ 84 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM85/secure/secure_heap.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /** 53 | * @brief Get the free heap size. 54 | * 55 | * @return Free heap size. 56 | */ 57 | size_t xPortGetFreeHeapSize( void ); 58 | 59 | /** 60 | * @brief Get the minimum ever free heap size. 61 | * 62 | * @return Minimum ever free heap size. 63 | */ 64 | size_t xPortGetMinimumEverFreeHeapSize( void ); 65 | 66 | #endif /* __SECURE_HEAP_H__ */ 67 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM85/secure/secure_init.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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_INIT_H__ 30 | #define __SECURE_INIT_H__ 31 | 32 | /** 33 | * @brief De-prioritizes the non-secure exceptions. 34 | * 35 | * This is needed to ensure that the non-secure PendSV runs at the lowest 36 | * priority. Context switch is done in the non-secure PendSV handler. 37 | * 38 | * @note This function must be called in the handler mode. It is no-op if called 39 | * in the thread mode. 40 | */ 41 | void SecureInit_DePrioritizeNSExceptions( void ); 42 | 43 | /** 44 | * @brief Sets up the Floating Point Unit (FPU) for Non-Secure access. 45 | * 46 | * Also sets FPCCR.TS=1 to ensure that the content of the Floating Point 47 | * Registers are not leaked to the non-secure side. 48 | * 49 | * @note This function must be called in the handler mode. It is no-op if called 50 | * in the thread mode. 51 | */ 52 | void SecureInit_EnableNSFPUAccess( void ); 53 | 54 | #endif /* __SECURE_INIT_H__ */ 55 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/ARM_CM85_NTZ/non_secure/portmacro.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTMACRO_H 30 | #define PORTMACRO_H 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | #include "portmacrocommon.h" 37 | 38 | /*------------------------------------------------------------------------------ 39 | * Port specific definitions. 40 | * 41 | * The settings in this file configure FreeRTOS correctly for the given hardware 42 | * and compiler. 43 | * 44 | * These settings should not be altered. 45 | *------------------------------------------------------------------------------ 46 | */ 47 | 48 | #ifndef configENABLE_MVE 49 | #error configENABLE_MVE must be defined in FreeRTOSConfig.h. Set configENABLE_MVE to 1 to enable the MVE or 0 to disable the MVE. 50 | #endif /* configENABLE_MVE */ 51 | /*-----------------------------------------------------------*/ 52 | 53 | /** 54 | * Architecture specifics. 55 | */ 56 | #define portARCH_NAME "Cortex-M85" 57 | #define portDONT_DISCARD __root 58 | /*-----------------------------------------------------------*/ 59 | 60 | #if( configTOTAL_MPU_REGIONS == 16 ) 61 | #error 16 MPU regions are not yet supported for this port. 62 | #endif 63 | /*-----------------------------------------------------------*/ 64 | 65 | /** 66 | * @brief Critical section management. 67 | */ 68 | #define portDISABLE_INTERRUPTS() ulSetInterruptMask() 69 | #define portENABLE_INTERRUPTS() vClearInterruptMask( 0 ) 70 | /*-----------------------------------------------------------*/ 71 | 72 | /* Suppress warnings that are generated by the IAR tools, but cannot be fixed in 73 | * the source code because to do so would cause other compilers to generate 74 | * warnings. */ 75 | #pragma diag_suppress=Be006 76 | #pragma diag_suppress=Pa082 77 | /*-----------------------------------------------------------*/ 78 | 79 | #ifdef __cplusplus 80 | } 81 | #endif 82 | 83 | #endif /* PORTMACRO_H */ 84 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/MSP430/portasm.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 PORTASM_H 30 | #define PORTASM_H 31 | 32 | portSAVE_CONTEXT macro 33 | 34 | IMPORT pxCurrentTCB 35 | IMPORT usCriticalNesting 36 | 37 | /* Save the remaining registers. */ 38 | push r4 39 | push r5 40 | push r6 41 | push r7 42 | push r8 43 | push r9 44 | push r10 45 | push r11 46 | push r12 47 | push r13 48 | push r14 49 | push r15 50 | mov.w &usCriticalNesting, r14 51 | push r14 52 | mov.w &pxCurrentTCB, r12 53 | mov.w r1, 0(r12) 54 | endm 55 | /*-----------------------------------------------------------*/ 56 | 57 | portRESTORE_CONTEXT macro 58 | mov.w &pxCurrentTCB, r12 59 | mov.w @r12, r1 60 | pop r15 61 | mov.w r15, &usCriticalNesting 62 | pop r15 63 | pop r14 64 | pop r13 65 | pop r12 66 | pop r11 67 | pop r10 68 | pop r9 69 | pop r8 70 | pop r7 71 | pop r6 72 | pop r5 73 | pop r4 74 | 75 | /* The last thing on the stack will be the status register. 76 | Ensure the power down bits are clear ready for the next 77 | time this power down register is popped from the stack. */ 78 | bic.w #0xf0,0(SP) 79 | 80 | reti 81 | endm 82 | /*-----------------------------------------------------------*/ 83 | 84 | #endif 85 | 86 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/IAR/MSP430X/data_model.h: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 DATA_MODEL_H 30 | #define DATA_MODEL_H 31 | 32 | #if __DATA_MODEL__ == __DATA_MODEL_SMALL__ 33 | #define pushm_x pushm.w 34 | #define popm_x popm.w 35 | #define push_x push.w 36 | #define pop_x pop.w 37 | #define mov_x mov.w 38 | #define cmp_x cmp.w 39 | #endif 40 | 41 | #if __DATA_MODEL__ == __DATA_MODEL_MEDIUM__ 42 | #define pushm_x pushm.a 43 | #define popm_x popm.a 44 | #define push_x pushx.a 45 | #define pop_x popx.a 46 | #define mov_x mov.w 47 | #define cmp_x cmp.w 48 | #endif 49 | 50 | #if __DATA_MODEL__ == __DATA_MODEL_LARGE__ 51 | #define pushm_x pushm.a 52 | #define popm_x popm.a 53 | #define push_x pushx.a 54 | #define pop_x popx.a 55 | #define mov_x movx.a 56 | #define cmp_x cmpx.a 57 | #endif 58 | 59 | #ifndef pushm_x 60 | #error The assembler options must define one of the following symbols: __DATA_MODEL_SMALL__, __DATA_MODEL_MEDIUM__, or __DATA_MODEL_LARGE__ 61 | #endif 62 | 63 | #endif /* DATA_MODEL_H */ 64 | 65 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/Keil/See-also-the-RVDS-directory.txt: -------------------------------------------------------------------------------- 1 | Nothing to see here. -------------------------------------------------------------------------------- /3rd_party/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 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/MemMang/heap_3.c: -------------------------------------------------------------------------------- 1 | /* 2 | * FreeRTOS Kernel V10.5.1 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 | /* 31 | * Implementation of pvPortMalloc() and vPortFree() that relies on the 32 | * compilers own malloc() and free() implementations. 33 | * 34 | * This file can only be used if the linker is configured to to generate 35 | * a heap memory area. 36 | * 37 | * See heap_1.c, heap_2.c and heap_4.c for alternative implementations, and the 38 | * memory management pages of https://www.FreeRTOS.org for more information. 39 | */ 40 | 41 | #include 42 | 43 | /* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining 44 | * all the API functions to use the MPU wrappers. That should only be done when 45 | * task.h is included from an application file. */ 46 | #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE 47 | 48 | #include "FreeRTOS.h" 49 | #include "task.h" 50 | 51 | #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE 52 | 53 | #if ( configSUPPORT_DYNAMIC_ALLOCATION == 0 ) 54 | #error This file must not be used if configSUPPORT_DYNAMIC_ALLOCATION is 0 55 | #endif 56 | 57 | /*-----------------------------------------------------------*/ 58 | 59 | void * pvPortMalloc( size_t xWantedSize ) 60 | { 61 | void * pvReturn; 62 | 63 | vTaskSuspendAll(); 64 | { 65 | pvReturn = malloc( xWantedSize ); 66 | traceMALLOC( pvReturn, xWantedSize ); 67 | } 68 | ( void ) xTaskResumeAll(); 69 | 70 | #if ( configUSE_MALLOC_FAILED_HOOK == 1 ) 71 | { 72 | if( pvReturn == NULL ) 73 | { 74 | vApplicationMallocFailedHook(); 75 | } 76 | } 77 | #endif 78 | 79 | return pvReturn; 80 | } 81 | /*-----------------------------------------------------------*/ 82 | 83 | void vPortFree( void * pv ) 84 | { 85 | if( pv != NULL ) 86 | { 87 | vTaskSuspendAll(); 88 | { 89 | free( pv ); 90 | traceFREE( pv, 0 ); 91 | } 92 | ( void ) xTaskResumeAll(); 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/portable/RVDS/ARM7_LPC21xx/portmacro.inc: -------------------------------------------------------------------------------- 1 | ;/* 2 | ; * FreeRTOS Kernel V10.5.1 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 | IMPORT ulCriticalNesting ; 30 | IMPORT pxCurrentTCB ; 31 | 32 | 33 | MACRO 34 | portRESTORE_CONTEXT 35 | 36 | 37 | LDR R0, =pxCurrentTCB ; Set the LR to the task stack. The location was... 38 | LDR R0, [R0] ; ... stored in pxCurrentTCB 39 | LDR LR, [R0] 40 | 41 | LDR R0, =ulCriticalNesting ; The critical nesting depth is the first item on... 42 | LDMFD LR!, {R1} ; ...the stack. Load it into the ulCriticalNesting var. 43 | STR R1, [R0] ; 44 | 45 | LDMFD LR!, {R0} ; Get the SPSR from the stack. 46 | MSR SPSR_cxsf, R0 ; 47 | 48 | LDMFD LR, {R0-R14}^ ; Restore all system mode registers for the task. 49 | NOP ; 50 | 51 | LDR LR, [LR, #+60] ; Restore the return address 52 | 53 | ; And return - correcting the offset in the LR to obtain ... 54 | SUBS PC, LR, #4 ; ...the correct address. 55 | 56 | MEND 57 | 58 | ; /**********************************************************************/ 59 | 60 | MACRO 61 | portSAVE_CONTEXT 62 | 63 | 64 | STMDB SP!, {R0} ; Store R0 first as we need to use it. 65 | 66 | STMDB SP,{SP}^ ; Set R0 to point to the task stack pointer. 67 | NOP ; 68 | SUB SP, SP, #4 ; 69 | LDMIA SP!,{R0} ; 70 | 71 | STMDB R0!, {LR} ; Push the return address onto the stack. 72 | MOV LR, R0 ; Now we have saved LR we can use it instead of R0. 73 | LDMIA SP!, {R0} ; Pop R0 so we can save it onto the system mode stack. 74 | 75 | STMDB LR,{R0-LR}^ ; Push all the system mode registers onto the task stack. 76 | NOP ; 77 | SUB LR, LR, #60 ; 78 | 79 | MRS R0, SPSR ; Push the SPSR onto the task stack. 80 | STMDB LR!, {R0} ; 81 | 82 | LDR R0, =ulCriticalNesting ; 83 | LDR R0, [R0] ; 84 | STMDB LR!, {R0} ; 85 | 86 | LDR R0, =pxCurrentTCB ; Store the new top of stack for the task. 87 | LDR R1, [R0] ; 88 | STR LR, [R1] ; 89 | 90 | MEND 91 | 92 | END 93 | -------------------------------------------------------------------------------- /3rd_party/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. -------------------------------------------------------------------------------- /3rd_party/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 | -------------------------------------------------------------------------------- /3rd_party/FreeRTOS-Kernel/version_FeeRTOS-202210-LTS.txt: -------------------------------------------------------------------------------- 1 | This directory is the FreeRTOS Kernel part of the FreeRTOS 202210 LTS. 2 | To reduce the size, the portable sub-directory has been pruned and 3 | several FreeRTOS ports have been removed. -------------------------------------------------------------------------------- /3rd_party/README.txt: -------------------------------------------------------------------------------- 1 | About 3rd-Party Components 2 | ========================== 3 | This folder contains the Third-Party code used in the QP examples 4 | and is provided in this "3rd_party" folder only to demonstrate 5 | the use of the QP frameworks in conjunction with the Third-Party 6 | software components. 7 | 8 | 9 | Licensing Information 10 | ===================== 11 | Quantum Leaps, LLC expressly makes NO claims of ownership to any of the 12 | code in the "3rd_party" folder, even though some of the code might be 13 | customized or modified by Quantum Leaps. 14 | 15 | The Third-Party software components included in this "3rd_party" 16 | folder are licensed under a variety of different licensing terms that 17 | are defined by the respective owners of this software and are spelled 18 | out in the README.txt or LICENSE.txt files included in the respective 19 | sub-folders. 20 | 21 | 22 | Code Quality 23 | ============ 24 | The code in the "3rd_party" folder comes from various sources, and 25 | contains code of varying quality. Specifically, Quantum Leaps cannot 26 | take responsibility for the quality of the code in the "3rd_party" 27 | folder. 28 | 29 | *** 30 | NOTE: Some of the code in the "3rd_party" folder might cause compiler 31 | warnings. 32 | *** 33 | 34 | 35 | Disclaimer of Warranty 36 | ====================== 37 | QUANTUM LEAPS, LLC DOES NOT MAKE ANY WARRANTIES OF ANY KIND THAT THE 38 | THIRD-PARTY SOFTWARE DOES NOT OR WILL NOT INFRINGE ANY PATENT, TRADE 39 | SECRET, TRADEMARK, MASK WORK, OR OTHER INTELLECTUAL PROPERTY RIGHT 40 | OF ANY THIRD PARTY IN ANY COUNTRY. 41 | 42 | TO THE FULLEST EXTENT PERMITTED BY LAW, QUANTUM LEAPS, LLC DISCLAIMS 43 | ANY EXPRESS OR IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 44 | A PARTICULAR PURPOSE AND ALL OTHER WARRANTIES WITH RESPECT TO THE 45 | THIRD-PARTY SOFTWARE. THE ENTIRE RISK AS TO THE QUALITY OF THE 46 | THIRD-PARTY SOFTWARE IS WITH THE USER. 47 | 48 | 49 | Limitation of Liability 50 | ======================= 51 | UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT 52 | (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL QUANTUM LEAPS, 53 | LLC BE LIABLE TO ANY PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, 54 | OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER ARISING AS A RESULT OF 55 | THE USE OF THE THIRD-PART SOFTWARE INCLUDING, WITHOUT LIMITATION, 56 | DAMAGES FOR LOSS OF GOODWILL, LOSS OF PROFITS, WORK STOPPAGE, COMPUTER 57 | FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER COMMERCIAL DAMAGES OR 58 | LOSSES. 59 | 60 | 61 | Contact Information: 62 | ==================== 63 | Quantum Leaps, LLC 64 | https://www.state-machine.com 65 | info@state-machine.com 66 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains the support code for the EFM32-SLSTK3401A 2 | board (Pearl Gecko Starter Kit). 3 | 4 | The sub-directories contain code that is specific to the particular 5 | ARM toolchains, such as ARM (MDK-ARM), GCC, and IAR. 6 | 7 | 8 | CMSIS-Compliant Device Files 9 | ============================ 10 | The code also includes the CMSIS-compliant interface to the 11 | EFM32PG1B200F256GM48 MCU files: 12 | 13 | efm32pg1b200f256gm48.h 14 | system_efm32pg1b.h 15 | system_efm32pg1b.c 16 | arm\startup_efm32pg1b.s 17 | gcc\startup_efm32pg1b.c 18 | iar\startup_efm32pg1b.s 19 | 20 | 21 | Adjusting the CPU Clock Speed 22 | ----------------------------- 23 | The current setting is to run at 50MHz from PLL, but the CPU clock speed 24 | can be modified by editing the file system_efm32pg1b.c. 25 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/display_ls013b7dh03.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Device driver for the Sharp Memory LCD LS013B7DH03 3 | * Adapted and simplified from the file: displayls013b7dh03.h 4 | * by Quantum Leaps, LLC 5 | * 2016-05-12 6 | */ 7 | /******************************************************************************* 8 | * @section License 9 | * Copyright 2015 Silicon Labs, Inc. http://www.silabs.com 10 | ******************************************************************************* 11 | * 12 | * This file is licensed under the Silabs License Agreement. See the file 13 | * "Silabs_License_Agreement.txt" for details. Before using this software for 14 | * any purpose, you must agree to the terms of that agreement. 15 | * 16 | ******************************************************************************/ 17 | 18 | #ifndef _DISPLAY_LS013B7DH03_H_ 19 | #define _DISPLAY_LS013B7DH03_H_ 20 | 21 | #ifdef __cplusplus 22 | extern "C" { 23 | #endif 24 | 25 | /* Display geometry */ 26 | #define LS013B7DH03_WIDTH 128 27 | #define LS013B7DH03_HEIGHT 128 28 | 29 | /* initialize the display */ 30 | bool Display_init(void); 31 | void Display_clear(void); 32 | void Display_enable(bool enable); 33 | void Display_refresh(void); 34 | 35 | /* send horizontal pixel array to the display. 36 | * The pixel array has the full width of the display 37 | * and height [in pixels] specified by 'h' 38 | * 39 | * @par pa - pointer to the pixel array 40 | * @par y - start row 41 | * @par h - height of the pixel array 42 | */ 43 | void Display_sendPA(uint32_t const *pa, 44 | uint8_t y, uint8_t h); 45 | #ifdef __cplusplus 46 | } 47 | #endif 48 | 49 | #endif /* DISPLAY_LS013B7DH03_H_ */ 50 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/display_ls013b7dh03config.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Device driver for the Sharp Memory LCD LS013B7DH03 3 | * Adapted and simplified from the file: displayls013b7dh03config.h 4 | * by Quantum Leaps, LLC 5 | * 2016-05-12 6 | */ 7 | /***************************************************************************** 8 | * @section License 9 | * Copyright 2015 Silicon Labs, Inc. http://www.silabs.com 10 | ***************************************************************************** 11 | * 12 | * This file is licensed under the Silabs License Agreement. See the file 13 | * "Silabs_License_Agreement.txt" for details. Before using this software for 14 | * any purpose, you must agree to the terms of that agreement. 15 | * 16 | ****************************************************************************/ 17 | 18 | 19 | #ifndef __SILICON_LABS_DISPLAYLS013B7DH03CONFIG_H__ 20 | #define __SILICON_LABS_DISPLAYLS013B7DH03CONFIG_H__ 21 | 22 | //#include "displayconfigapp.h" 23 | 24 | /* Display device name. */ 25 | #define SHARP_MEMLCD_DEVICE_NAME "Sharp LS013B7DH03 #1" 26 | 27 | 28 | /* LCD and SPI GPIO pin connections on the SLSTK3401A kit. */ 29 | #define LCD_PORT_SCLK (gpioPortC) /* EFM_DISP_SCLK on PC8 */ 30 | #define LCD_PIN_SCLK (8) 31 | #define LCD_PORT_SI (gpioPortC) /* EFM_DISP_MOSI on PC6 */ 32 | #define LCD_PIN_SI (6) 33 | #define LCD_PORT_SCS (gpioPortD) /* EFM_DISP_CS on PD14 */ 34 | #define LCD_PIN_SCS (14) 35 | #define LCD_PORT_EXTCOMIN (gpioPortD) /* EFM_DISP_COM on PD13 */ 36 | #define LCD_PIN_EXTCOMIN (13) 37 | #define LCD_PORT_DISP_PWR (gpioPortD) /* EFM_DISP_ENABLE on PD15 */ 38 | #define LCD_PIN_DISP_PWR (15) 39 | 40 | /* PRS settings for polarity inversion extcomin auto toggle. */ 41 | #define LCD_AUTO_TOGGLE_PRS_CH (4) /* PRS channel 4. */ 42 | #define LCD_AUTO_TOGGLE_PRS_ROUTELOC() PRS->ROUTELOC1 = \ 43 | ((PRS->ROUTELOC1 & ~_PRS_ROUTELOC1_CH4LOC_MASK) | PRS_ROUTELOC1_CH4LOC_LOC4) 44 | #define LCD_AUTO_TOGGLE_PRS_ROUTEPEN PRS_ROUTEPEN_CH4PEN 45 | 46 | /* 47 | * Select how LCD polarity inversion should be handled: 48 | * 49 | * If POLARITY_INVERSION_EXTCOMIN is defined, 50 | * and the polarity inversion is armed for every rising edge of the EXTCOMIN 51 | * pin. The actual polarity inversion is triggered at the next transision of 52 | * SCS. This mode is recommended because it causes less CPU and SPI load than 53 | * the alternative mode, see below. 54 | * If POLARITY_INVERSION_EXTCOMIN is undefined, 55 | * the polarity inversion is toggled by sending an SPI command. This mode 56 | * causes more CPU and SPI load than using the EXTCOMIN pin mode. 57 | */ 58 | #define POLARITY_INVERSION_EXTCOMIN 59 | 60 | /* Define POLARITY_INVERSION_EXTCOMIN_PAL_AUTO_TOGGLE if you want the PAL 61 | * (Platform Abstraction Layer interface) to automatically toggle the EXTCOMIN 62 | * pin. 63 | * If the PAL_TIMER_REPEAT function is defined the EXTCOMIN toggling is handled 64 | * by a timer repeat system, therefore we must undefine 65 | * POLARITY_INVERSION_EXTCOMIN_PAL_AUTO_TOGGLE; 66 | */ 67 | #ifndef PAL_TIMER_REPEAT_FUNCTION 68 | #define POLARITY_INVERSION_EXTCOMIN_PAL_AUTO_TOGGLE 69 | #endif 70 | 71 | #endif /* __SILICON_LABS_DISPLAYLS013B7DH03CONFIG_H__ */ 72 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/displaypalconfig.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************//** 2 | * @file displaypalconfig.h 3 | * @brief Configuration file for PAL (Platform Abstraction Layer) 4 | * @version 4.3.0 5 | ******************************************************************************* 6 | * @section License 7 | * Copyright 2015 Silicon Labs, Inc. http://www.silabs.com 8 | ******************************************************************************* 9 | * 10 | * This file is licensed under the Silabs License Agreement. See the file 11 | * "Silabs_License_Agreement.txt" for details. Before using this software for 12 | * any purpose, you must agree to the terms of that agreement. 13 | * 14 | ******************************************************************************/ 15 | 16 | #ifndef __SILICON_LABS_DISPLAYPALCONFIG_H__ 17 | #define __SILICON_LABS_DISPLAYPALCONFIG_H__ 18 | 19 | /* 20 | * Select which oscillator should source the RTC clock. 21 | */ 22 | #undef PAL_RTCC_CLOCK_LFXO 23 | #define PAL_RTCC_CLOCK_LFRCO 24 | #undef PAL_RTCC_CLOCK_ULFRCO 25 | 26 | /* 27 | * PAL SPI / USART configuration for the SLSTK3401A. 28 | * Select which USART and location is connected to the device via SPI. 29 | */ 30 | #define PAL_SPI_USART_UNIT (USART1) 31 | #define PAL_SPI_USART_CLOCK (cmuClock_USART1) 32 | #define PAL_SPI_USART_LOCATION_TX (11) 33 | #define PAL_SPI_USART_LOCATION_SCLK (11) 34 | 35 | /* 36 | * Specify the SPI baud rate: 37 | */ 38 | #define PAL_SPI_BAUDRATE (3500000) /* Max baudrate on EFM32PG. */ 39 | 40 | /* 41 | * On the SLSTK3401A, we can toggle some GPIO pins with hw only, 42 | * especially the GPIO port D pin 13 signal which is connected to the 43 | * polarity inversion (EXTCOMIN) pin on the Sharp Memory LCD. By defining 44 | * INCLUDE_PAL_GPIO_PIN_AUTO_TOGGLE_HW_ONLY the toggling of EXTCOMIN will 45 | * be handled by hardware, without software intervention, which saves power. 46 | */ 47 | #define INCLUDE_PAL_GPIO_PIN_AUTO_TOGGLE_HW_ONLY 48 | 49 | 50 | #endif /* __SILICON_LABS_DISPLAYPALCONFIG_H__ */ 51 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_dma_descriptor.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_dma_descriptor.h 3 | * @brief EFM32PG1B_DMA_DESCRIPTOR register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @defgroup EFM32PG1B_DMA_DESCRIPTOR 38 | * @{ 39 | *****************************************************************************/ 40 | typedef struct 41 | { 42 | /* Note! Use of double __IO (volatile) qualifier to ensure that both */ 43 | /* pointer and referenced memory are declared volatile. */ 44 | __IO uint32_t CTRL; /**< DMA control register */ 45 | __IO void * __IO SRC; /**< DMA source address */ 46 | __IO void * __IO DST; /**< DMA destination address */ 47 | __IO void * __IO LINK; /**< DMA link address */ 48 | } DMA_DESCRIPTOR_TypeDef; /**< @} */ 49 | 50 | /** @} End of group Parts */ 51 | 52 | 53 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_gpio_p.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_gpio_p.h 3 | * @brief EFM32PG1B_GPIO_P register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @brief GPIO_P EFM32PG1B GPIO P 38 | *****************************************************************************/ 39 | typedef struct 40 | { 41 | __IO uint32_t CTRL; /**< Port Control Register */ 42 | __IO uint32_t MODEL; /**< Port Pin Mode Low Register */ 43 | __IO uint32_t MODEH; /**< Port Pin Mode High Register */ 44 | __IO uint32_t DOUT; /**< Port Data Out Register */ 45 | uint32_t RESERVED0[2]; /**< Reserved for future use **/ 46 | __IO uint32_t DOUTTGL; /**< Port Data Out Toggle Register */ 47 | __I uint32_t DIN; /**< Port Data In Register */ 48 | __IO uint32_t PINLOCKN; /**< Port Unlocked Pins Register */ 49 | uint32_t RESERVED1[1]; /**< Reserved for future use **/ 50 | __IO uint32_t OVTDIS; /**< Over Voltage Disable for all modes */ 51 | uint32_t RESERVED2[1]; /**< Reserved future */ 52 | } GPIO_P_TypeDef; 53 | 54 | /** @} End of group Parts */ 55 | 56 | 57 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_ldma_ch.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_ldma_ch.h 3 | * @brief EFM32PG1B_LDMA_CH register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @brief LDMA_CH EFM32PG1B LDMA CH 38 | *****************************************************************************/ 39 | typedef struct 40 | { 41 | __IO uint32_t REQSEL; /**< Channel Peripheral Request Select Register */ 42 | __IO uint32_t CFG; /**< Channel Configuration Register */ 43 | __IO uint32_t LOOP; /**< Channel Loop Counter Register */ 44 | __IO uint32_t CTRL; /**< Channel Descriptor Control Word Register */ 45 | __IO uint32_t SRC; /**< Channel Descriptor Source Data Address Register */ 46 | __IO uint32_t DST; /**< Channel Descriptor Destination Data Address Register */ 47 | __IO uint32_t LINK; /**< Channel Descriptor Link Structure Address Register */ 48 | uint32_t RESERVED0[5]; /**< Reserved future */ 49 | } LDMA_CH_TypeDef; 50 | 51 | /** @} End of group Parts */ 52 | 53 | 54 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_prs_ch.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_prs_ch.h 3 | * @brief EFM32PG1B_PRS_CH register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @brief PRS_CH EFM32PG1B PRS CH 38 | *****************************************************************************/ 39 | typedef struct 40 | { 41 | __IO uint32_t CTRL; /**< Channel Control Register */ 42 | } PRS_CH_TypeDef; 43 | 44 | /** @} End of group Parts */ 45 | 46 | 47 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_rtcc_cc.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_rtcc_cc.h 3 | * @brief EFM32PG1B_RTCC_CC register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @brief RTCC_CC EFM32PG1B RTCC CC 38 | *****************************************************************************/ 39 | typedef struct 40 | { 41 | __IO uint32_t CTRL; /**< CC Channel Control Register */ 42 | __IO uint32_t CCV; /**< Capture/Compare Value Register */ 43 | __IO uint32_t TIME; /**< Capture/Compare Time Register */ 44 | __IO uint32_t DATE; /**< Capture/Compare Date Register */ 45 | } RTCC_CC_TypeDef; 46 | 47 | /** @} End of group Parts */ 48 | 49 | 50 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_rtcc_ret.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_rtcc_ret.h 3 | * @brief EFM32PG1B_RTCC_RET register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @brief RTCC_RET EFM32PG1B RTCC RET 38 | *****************************************************************************/ 39 | typedef struct 40 | { 41 | __IO uint32_t REG; /**< Retention register */ 42 | } RTCC_RET_TypeDef; 43 | 44 | /** @} End of group Parts */ 45 | 46 | 47 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_timer_cc.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_timer_cc.h 3 | * @brief EFM32PG1B_TIMER_CC register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @brief TIMER_CC EFM32PG1B TIMER CC 38 | *****************************************************************************/ 39 | typedef struct 40 | { 41 | __IO uint32_t CTRL; /**< CC Channel Control Register */ 42 | __IO uint32_t CCV; /**< CC Channel Value Register */ 43 | __I uint32_t CCVP; /**< CC Channel Value Peek Register */ 44 | __IO uint32_t CCVB; /**< CC Channel Buffer Register */ 45 | } TIMER_CC_TypeDef; 46 | 47 | /** @} End of group Parts */ 48 | 49 | 50 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/efm32pg1b_wdog_pch.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file efm32pg1b_wdog_pch.h 3 | * @brief EFM32PG1B_WDOG_PCH register and bit field definitions 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ****************************************************************************** 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software.@n 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software.@n 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 21 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 22 | * providing the Software "AS IS", with no express or implied warranties of any 23 | * kind, including, but not limited to, any implied warranties of 24 | * merchantability or fitness for any particular purpose or warranties against 25 | * infringement of any proprietary rights of a third party. 26 | * 27 | * Silicon Laboratories, Inc. will not be liable for any consequential, 28 | * incidental, or special damages, or any other relief, or for any claim by 29 | * any third party, arising from your use of this Software. 30 | * 31 | *****************************************************************************/ 32 | /**************************************************************************//** 33 | * @addtogroup Parts 34 | * @{ 35 | ******************************************************************************/ 36 | /**************************************************************************//** 37 | * @brief WDOG_PCH EFM32PG1B WDOG PCH 38 | *****************************************************************************/ 39 | typedef struct 40 | { 41 | __IO uint32_t PRSCTRL; /**< PRS Control Register */ 42 | } WDOG_PCH_TypeDef; 43 | 44 | /** @} End of group Parts */ 45 | 46 | 47 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/em_assert.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************//** 2 | * @file em_assert.c 3 | * @brief Assert API 4 | * @version 4.3.0 5 | ******************************************************************************* 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ******************************************************************************* 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software. 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software. 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no 21 | * obligation to support this Software. Silicon Labs is providing the 22 | * Software "AS IS", with no express or implied warranties of any kind, 23 | * including, but not limited to, any implied warranties of merchantability 24 | * or fitness for any particular purpose or warranties against infringement 25 | * of any proprietary rights of a third party. 26 | * 27 | * Silicon Labs will not be liable for any consequential, incidental, or 28 | * special damages, or any other relief, or for any claim by any third party, 29 | * arising from your use of this Software. 30 | * 31 | ******************************************************************************/ 32 | 33 | 34 | #include "em_assert.h" 35 | #include 36 | 37 | #if defined(DEBUG_EFM) 38 | 39 | /***************************************************************************//** 40 | * @brief 41 | * EFM internal assert handling. 42 | * 43 | * This function is invoked through EFM_ASSERT() macro usage only, it should 44 | * not be used explicitly. 45 | * 46 | * Currently this implementation only enters an indefinite loop, allowing 47 | * the use of a debugger to determine cause of failure. By defining 48 | * DEBUG_EFM_USER to the preprocessor for all files, a user defined version 49 | * of this function must be defined and will be invoked instead, possibly 50 | * providing output of assertion location. 51 | * 52 | * Please notice that this function is not used unless DEBUG_EFM is defined 53 | * during preprocessing of EFM_ASSERT() usage. 54 | * 55 | * @param[in] file 56 | * Name of source file where assertion failed. 57 | * 58 | * @param[in] line 59 | * Line number in source file where assertion failed. 60 | ******************************************************************************/ 61 | void assertEFM(const char *file, int line) 62 | { 63 | (void)file; /* Unused parameter */ 64 | (void)line; /* Unused parameter */ 65 | 66 | while (true) 67 | { 68 | } 69 | } 70 | 71 | #endif /* DEBUG_EFM */ 72 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/em_device.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file em_device.h 3 | * @brief CMSIS Cortex-M Peripheral Access Layer for Silicon Laboratories 4 | * microcontroller devices 5 | * 6 | * This is a convenience header file for defining the part number on the 7 | * build command line, instead of specifying the part specific header file. 8 | * 9 | * @verbatim 10 | * Example: Add "-DEFM32G890F128" to your build options, to define part 11 | * Add "#include "em_device.h" to your source files 12 | * 13 | * 14 | * @endverbatim 15 | * @version 4.3.0 16 | ****************************************************************************** 17 | * @section License 18 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 19 | ****************************************************************************** 20 | * 21 | * Permission is granted to anyone to use this software for any purpose, 22 | * including commercial applications, and to alter it and redistribute it 23 | * freely, subject to the following restrictions: 24 | * 25 | * 1. The origin of this software must not be misrepresented; you must not 26 | * claim that you wrote the original software.@n 27 | * 2. Altered source versions must be plainly marked as such, and must not be 28 | * misrepresented as being the original software.@n 29 | * 3. This notice may not be removed or altered from any source distribution. 30 | * 31 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Laboratories, Inc. 32 | * has no obligation to support this Software. Silicon Laboratories, Inc. is 33 | * providing the Software "AS IS", with no express or implied warranties of any 34 | * kind, including, but not limited to, any implied warranties of 35 | * merchantability or fitness for any particular purpose or warranties against 36 | * infringement of any proprietary rights of a third party. 37 | * 38 | * Silicon Laboratories, Inc. will not be liable for any consequential, 39 | * incidental, or special damages, or any other relief, or for any claim by 40 | * any third party, arising from your use of this Software. 41 | * 42 | *****************************************************************************/ 43 | 44 | #ifndef EM_DEVICE_H 45 | #define EM_DEVICE_H 46 | 47 | #if defined(EFM32PG1B100F128GM32) 48 | #include "efm32pg1b100f128gm32.h" 49 | 50 | #elif defined(EFM32PG1B100F256GM32) 51 | #include "efm32pg1b100f256gm32.h" 52 | 53 | #elif defined(EFM32PG1B200F128GM32) 54 | #include "efm32pg1b200f128gm32.h" 55 | 56 | #elif defined(EFM32PG1B200F128GM48) 57 | #include "efm32pg1b200f128gm48.h" 58 | 59 | #elif defined(EFM32PG1B200F256GM32) 60 | #include "efm32pg1b200f256gm32.h" 61 | 62 | #elif defined(EFM32PG1B200F256GM48) 63 | #include "efm32pg1b200f256gm48.h" 64 | 65 | #else 66 | #error "em_device.h: PART NUMBER undefined" 67 | #endif 68 | #endif /* EM_DEVICE_H */ 69 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/em_int.c: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file em_int.c 3 | * @brief Interrupt enable/disable unit API 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2016 Silicon Laboratories, Inc. http://www.silabs.com 8 | ******************************************************************************* 9 | * 10 | * Permission is granted to anyone to use this software for any purpose, 11 | * including commercial applications, and to alter it and redistribute it 12 | * freely, subject to the following restrictions: 13 | * 14 | * 1. The origin of this software must not be misrepresented; you must not 15 | * claim that you wrote the original software. 16 | * 2. Altered source versions must be plainly marked as such, and must not be 17 | * misrepresented as being the original software. 18 | * 3. This notice may not be removed or altered from any source distribution. 19 | * 20 | * DISCLAIMER OF WARRANTY/LIMITATION OF REMEDIES: Silicon Labs has no 21 | * obligation to support this Software. Silicon Labs is providing the 22 | * Software "AS IS", with no express or implied warranties of any kind, 23 | * including, but not limited to, any implied warranties of merchantability 24 | * or fitness for any particular purpose or warranties against infringement 25 | * of any proprietary rights of a third party. 26 | * 27 | * Silicon Labs will not be liable for any consequential, incidental, or 28 | * special damages, or any other relief, or for any claim by any third party, 29 | * arising from your use of this Software. 30 | * 31 | ******************************************************************************/ 32 | 33 | #include 34 | #include "em_int.h" 35 | 36 | /***************************************************************************//** 37 | * @addtogroup emlib 38 | * @{ 39 | ******************************************************************************/ 40 | 41 | /***************************************************************************//** 42 | * @addtogroup INT 43 | * @brief Safe nesting of interrupt disable/enable API 44 | * @{ 45 | * @details 46 | * This module contains functions to safely disable and enable interrupts 47 | * at CPU level. INT_Disable() disables interrupts globally and increments a lock 48 | * level counter (counting semaphore). INT_Enable() decrements the lock level 49 | * counter and enable interrupts if the counter reaches zero. 50 | * 51 | * These functions would normally be used to secure critical regions, and 52 | * to make sure that a critical section that calls into another critical 53 | * section does not unintentionally terminate the callee critical section. 54 | * 55 | * These functions should also be used inside interrupt handlers: 56 | * @verbatim 57 | * void SysTick_Handler(void) 58 | * { 59 | * INT_Disable(); 60 | * . 61 | * . 62 | * . 63 | * INT_Enable(); 64 | * } 65 | * @endverbatim 66 | ******************************************************************************/ 67 | 68 | /** Interrupt lock level counter. Set to zero initially as we normally enter 69 | * main with interrupts enabled */ 70 | uint32_t INT_LockCnt = 0; 71 | 72 | /** @} (end addtogroup INT) */ 73 | /** @} (end addtogroup emlib) */ 74 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/em_types.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file 3 | * @brief Definition of EMSTATUS used by graphics library 4 | * @version 2.0.1 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2015 Silicon Labs, http://www.silabs.com 8 | ******************************************************************************* 9 | * 10 | * This file is licensensed under the Silabs License Agreement. See the file 11 | * "Silabs_License_Agreement.txt" for details. Before using this software for 12 | * any purpose, you must agree to the terms of that agreement. 13 | * 14 | ******************************************************************************/ 15 | 16 | 17 | 18 | #ifndef __EM_TYPES_H_ 19 | #define __EM_TYPES_H_ 20 | 21 | #include 22 | 23 | typedef uint32_t EMSTATUS; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/emstatus.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file emstatus.h 3 | * @brief EMSTATUS definitions. 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2015 Silicon Labs, Inc. http://www.silabs.com 8 | ******************************************************************************* 9 | * 10 | * This file is licensed under the Silabs License Agreement. See the file 11 | * "Silabs_License_Agreement.txt" for details. Before using this software for 12 | * any purpose, you must agree to the terms of that agreement. 13 | * 14 | ******************************************************************************/ 15 | 16 | 17 | 18 | #ifndef _EMSTATUS_H_ 19 | #define _EMSTATUS_H_ 20 | 21 | #include 22 | #include "em_types.h" /* typedef uint32_t EMSTATUS; */ 23 | 24 | /** Common EMSTATUS codes: */ 25 | #define EMSTATUS_OK (0) /**< Operation successful. */ 26 | 27 | /** EMSTATUS base codes for display modules. */ 28 | #define DISPLAY_EMSTATUS_BASE (0x8011UL<<16) /**< EMSTATUS base code of DISPLAY driver interface. */ 29 | #define TEXTDISPLAY_EMSTATUS_BASE (0x8012UL<<16) /**< EMSTATUS base code of TEXTDISPLAY module. */ 30 | #define PAL_EMSTATUS_BASE (0x8013UL<<16) /**< EMSTATUS base code of PAL interface. */ 31 | 32 | #endif /* _EMSTATUS_H_ */ 33 | -------------------------------------------------------------------------------- /3rd_party/efm32pg1b/udelay.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file udelay.h 3 | * @brief Microsecond delay routine. 4 | * @version 4.3.0 5 | ****************************************************************************** 6 | * @section License 7 | * Copyright 2015 Silicon Labs, Inc. http://www.silabs.com 8 | ******************************************************************************* 9 | * 10 | * This file is licensed under the Silabs License Agreement. See the file 11 | * "Silabs_License_Agreement.txt" for details. Before using this software for 12 | * any purpose, you must agree to the terms of that agreement. 13 | * 14 | ******************************************************************************/ 15 | 16 | 17 | #ifndef __UDELAY_H 18 | #define __UDELAY_H 19 | 20 | #include 21 | 22 | /***************************************************************************//** 23 | * @addtogroup kitdrv 24 | * @{ 25 | ******************************************************************************/ 26 | 27 | /***************************************************************************//** 28 | * @addtogroup Udelay 29 | * @{ 30 | ******************************************************************************/ 31 | 32 | #ifdef __cplusplus 33 | extern "C" { 34 | #endif 35 | 36 | void UDELAY_Calibrate(void); 37 | void UDELAY_Delay(uint32_t usecs); 38 | 39 | #ifdef __cplusplus 40 | } 41 | #endif 42 | 43 | /** @} (end group Udelay) */ 44 | /** @} (end group Drivers) */ 45 | 46 | #endif 47 | -------------------------------------------------------------------------------- /3rd_party/ek-tm4c123gxl/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains the support code for the EK-TM4C123GXL board 2 | (TivaC LauchPad). 3 | 4 | The sub-directories contain code that is specific to the particular 5 | ARM toolchains, such as ARM (MDK-ARM), GCC, and IAR. 6 | 7 | 8 | CMSIS-Compliant Device Files 9 | ============================ 10 | The code also includes the CMSIS-compliant interface to the TM4C123GH6PM 11 | MCU files: 12 | 13 | TM4C123GH6PM.h 14 | system_TM4C123GH6PM.h 15 | system_TM4C123GH6PM.c 16 | arm\startup_TM4C123GH6PM.s 17 | gcc\startup_TM4C123GH6PM.c 18 | iar\startup_TM4C123GH6PM.s 19 | 20 | 21 | Adjusting the CPU Clock Speed 22 | ----------------------------- 23 | The current setting is to run at 50MHz from PLL, but the CPU clock speed 24 | can be modified by editing the file system_TM4C123GH6PM.c. 25 | -------------------------------------------------------------------------------- /3rd_party/ek-tm4c123gxl/system_TM4C123GH6PM.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************//** 2 | * @file system_TM4C123GH6PM.h 3 | * @brief CMSIS Cortex-M4 Device Peripheral Access Layer Header File for 4 | * TI Tiva TM4C123 Class Devices 5 | * @version V3.1 6 | * @date 15. May 2013 7 | * 8 | * @note 9 | * Copyright (C) 2010-2011 ARM Limited. All rights reserved. 10 | * 11 | * @par 12 | * ARM Limited (ARM) is supplying this software for use with Cortex-M 13 | * processor based microcontrollers. This file can be freely distributed 14 | * within development tools that are supporting such ARM based processors. 15 | * 16 | * @par 17 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED 18 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF 19 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. 20 | * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR 21 | * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. 22 | ******************************************************************************/ 23 | 24 | 25 | #ifndef SYSTEM_TM4C123_H 26 | #define SYSTEM_TM4C123_H 27 | 28 | #include 29 | 30 | #ifdef __cplusplus 31 | extern "C" { 32 | #endif 33 | 34 | extern uint32_t SystemCoreClock; /*!< System Clock Frequency (Core Clock) */ 35 | 36 | 37 | /** 38 | * Initialize the system 39 | * 40 | * @param none 41 | * @return none 42 | * 43 | * @brief Setup the microcontroller system. 44 | * Initialize the System and update the SystemCoreClock variable. 45 | */ 46 | extern void SystemInit (void); 47 | 48 | /** 49 | * Update SystemCoreClock variable 50 | * 51 | * @param none 52 | * @return none 53 | * 54 | * @brief Updates the SystemCoreClock with current core Clock 55 | * retrieved from cpu registers. 56 | */ 57 | extern void SystemCoreClockUpdate (void); 58 | 59 | #ifdef __cplusplus 60 | } 61 | #endif 62 | 63 | #endif /* SYSTEM_TM4C123_H */ 64 | -------------------------------------------------------------------------------- /3rd_party/nucleo-h743zi/README.txt: -------------------------------------------------------------------------------- 1 | This folder contains the support code for the NUCLEO-H743ZI board. 2 | 3 | 4 | CMSIS-Compliant Device Files 5 | ============================ 6 | The code also includes the CMSIS-compliant interface to the 7 | STM32L053xx MCU files: 8 | 9 | arm\startup_stm32h743xx.s 10 | gnu\startup_stm32h743xx.c 11 | iar\startup_stm32h743xx.s 12 | cmsis_* 13 | stm32h7xx.h 14 | stm32h743xx.h 15 | system_stm32h7xx.h 16 | system_stm32h7xx.c 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /3rd_party/nucleo-h743zi/system_stm32h7xx.h: -------------------------------------------------------------------------------- 1 | /** 2 | ****************************************************************************** 3 | * @file system_stm32h7xx.h 4 | * @author MCD Application Team 5 | * @brief CMSIS Cortex-Mx Device System Source File for STM32H7xx devices. 6 | ****************************************************************************** 7 | * @attention 8 | * 9 | * Copyright (c) 2017 STMicroelectronics. 10 | * All rights reserved. 11 | * 12 | * This software is licensed under terms that can be found in the LICENSE file 13 | * in the root directory of this software component. 14 | * If no LICENSE file comes with this software, it is provided AS-IS. 15 | * 16 | ****************************************************************************** 17 | */ 18 | 19 | /** @addtogroup CMSIS 20 | * @{ 21 | */ 22 | 23 | /** @addtogroup stm32h7xx_system 24 | * @{ 25 | */ 26 | 27 | /** 28 | * @brief Define to prevent recursive inclusion 29 | */ 30 | #ifndef SYSTEM_STM32H7XX_H 31 | #define SYSTEM_STM32H7XX_H 32 | 33 | #ifdef __cplusplus 34 | extern "C" { 35 | #endif 36 | 37 | /** @addtogroup STM32H7xx_System_Includes 38 | * @{ 39 | */ 40 | 41 | /** 42 | * @} 43 | */ 44 | 45 | 46 | /** @addtogroup STM32H7xx_System_Exported_types 47 | * @{ 48 | */ 49 | /* This variable is updated in three ways: 50 | 1) by calling CMSIS function SystemCoreClockUpdate() 51 | 2) by calling HAL API function HAL_RCC_GetSysClockFreq() 52 | 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency 53 | Note: If you use this function to configure the system clock; then there 54 | is no need to call the 2 first functions listed above, since SystemCoreClock 55 | variable is updated automatically. 56 | */ 57 | extern uint32_t SystemCoreClock; /*!< System Domain1 Clock Frequency */ 58 | extern uint32_t SystemD2Clock; /*!< System Domain2 Clock Frequency */ 59 | extern const uint8_t D1CorePrescTable[16] ; /*!< D1CorePrescTable prescalers table values */ 60 | 61 | /** 62 | * @} 63 | */ 64 | 65 | /** @addtogroup STM32H7xx_System_Exported_Constants 66 | * @{ 67 | */ 68 | 69 | /** 70 | * @} 71 | */ 72 | 73 | /** @addtogroup STM32H7xx_System_Exported_Macros 74 | * @{ 75 | */ 76 | 77 | /** 78 | * @} 79 | */ 80 | 81 | /** @addtogroup STM32H7xx_System_Exported_Functions 82 | * @{ 83 | */ 84 | 85 | extern void SystemInit(void); 86 | extern void SystemCoreClockUpdate(void); 87 | /** 88 | * @} 89 | */ 90 | 91 | #ifdef __cplusplus 92 | } 93 | #endif 94 | 95 | #endif /* SYSTEM_STM32H7XX_H */ 96 | 97 | /** 98 | * @} 99 | */ 100 | 101 | /** 102 | * @} 103 | */ 104 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 jothepro 4 | Copyright (c) 2021 Quantum Leaps 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 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, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /examples/blinky_button/bsp.h: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Lab Project: BlinkyButton/Button with Active Objects and FreeRTOS 3 | * Board: EMF32-SLSTK3401A 4 | * 5 | * Q u a n t u m L e a P s 6 | * ------------------------ 7 | * Modern Embedded Software 8 | * 9 | * Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved. 10 | * 11 | * Contact information: 12 | * 13 | * 14 | *****************************************************************************/ 15 | #ifndef BSP_H 16 | #define BSP_H 17 | 18 | void BSP_init(void); 19 | void BSP_start(void); 20 | void BSP_led0_on(void); 21 | void BSP_led0_off(void); 22 | void BSP_led1_on(void); 23 | void BSP_led1_off(void); 24 | 25 | enum Signals { 26 | TIMEOUT_SIG = USER_SIG, 27 | BUTTON_PRESSED_SIG, 28 | BUTTON_RELEASED_SIG, 29 | }; 30 | 31 | extern Active *AO_blinkyButton; 32 | 33 | #endif /* BSP_H */ 34 | -------------------------------------------------------------------------------- /examples/blinky_button/gnu/flash_ek-tm4c123gxl.bat: -------------------------------------------------------------------------------- 1 | ::============================================================================ 2 | :: Batch file to program the flash of EK-TM4C123GXL 3 | :: 4 | :: NOTE: requires the LMFlash programmer (included in QTools for Windows) 5 | :: 6 | @echo off 7 | setlocal 8 | 9 | @echo Load a given binary file to the flash of EK-TM4C123GXL 10 | @echo usage: flash binary-file 11 | @echo example: flash dbg\blinky-qk.bin 12 | 13 | ::---------------------------------------------------------------------------- 14 | :: NOTE: The following symbol LMFLASH assumes that LMFlash.exe can 15 | :: be found on the PATH. You might need to adjust this symbol to the 16 | :: location of the LMFlash utility on your machine 17 | :: 18 | set LMFLASH=LMFlash.exe 19 | 20 | if ["%~1"]==[""] ( 21 | @echo The binary file missing 22 | @goto end 23 | ) 24 | if not exist %~s1 ( 25 | @echo The binary file '%1' does not exist 26 | @goto end 27 | ) 28 | 29 | %LMFLASH% -q ek-tm4c123gxl -e -v -r %1 30 | 31 | :end 32 | 33 | endlocal -------------------------------------------------------------------------------- /examples/blinky_button/main.c: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * Lab Project: BlinkyButton/Button with RTOS (FreeRTOS) and blocking 3 | * Board: EMF32-SLSTK3401A 4 | * 5 | * Q u a n t u m L e a P s 6 | * ------------------------ 7 | * Modern Embedded Software 8 | * 9 | * Copyright (C) 2005-2020 Quantum Leaps, LLC. All rights reserved. 10 | * 11 | * Contact information: 12 | * 13 | * 14 | *****************************************************************************/ 15 | #include "FreeAct.h" /* Free Active Object interface */ 16 | #include "bsp.h" 17 | #include 18 | 19 | /* The BlinkyButton AO ===========================================================*/ 20 | typedef struct { 21 | Active super; /* inherit Active base class */ 22 | /* add private data for the AO... */ 23 | TimeEvent te; 24 | bool isLedOn; 25 | } BlinkyButton; 26 | 27 | /* Function Prototype ============================================================*/ 28 | void BlinkyButton_ctor(BlinkyButton * const me); 29 | 30 | static void BlinkyButton_dispatch(BlinkyButton * const me, Event const * const e) { 31 | switch (e->sig) { 32 | case INIT_SIG: /* intentionally fall through... */ 33 | case TIMEOUT_SIG: { 34 | if (!me->isLedOn) { /* LED not on */ 35 | BSP_led0_on(); 36 | me->isLedOn = true; 37 | TimeEvent_arm(&me->te, (200 / portTICK_RATE_MS)); 38 | } 39 | else { /* LED is on */ 40 | BSP_led0_off(); 41 | me->isLedOn = false; 42 | TimeEvent_arm(&me->te, (800 / portTICK_RATE_MS)); 43 | } 44 | break; 45 | } 46 | case BUTTON_PRESSED_SIG: { 47 | BSP_led1_on(); 48 | break; 49 | } 50 | case BUTTON_RELEASED_SIG: { 51 | BSP_led1_off(); 52 | break; 53 | } 54 | default: { 55 | break; 56 | } 57 | } 58 | } 59 | void BlinkyButton_ctor(BlinkyButton * const me) { 60 | Active_ctor(&me->super, (DispatchHandler)&BlinkyButton_dispatch); 61 | me->te.type = TYPE_ONE_SHOT; 62 | TimeEvent_ctor(&me->te, TIMEOUT_SIG, &me->super); 63 | me->isLedOn = false; 64 | } 65 | static StackType_t blinkyButton_stack[configMINIMAL_STACK_SIZE]; /* task stack */ 66 | static Event *blinkyButton_queue[10]; 67 | static BlinkyButton blinkyButton; 68 | Active *AO_blinkyButton = &blinkyButton.super; 69 | 70 | /* the main function =======================================================*/ 71 | int main() { 72 | 73 | BSP_init(); /* initialize the BSP */ 74 | 75 | /* create and start the BlinkyButton AO */ 76 | BlinkyButton_ctor(&blinkyButton); 77 | Active_start(AO_blinkyButton, 78 | 1U, 79 | blinkyButton_queue, 80 | sizeof(blinkyButton_queue)/sizeof(blinkyButton_queue[0]), 81 | blinkyButton_stack, 82 | sizeof(blinkyButton_stack), 83 | 0U); 84 | 85 | BSP_start(); /* configure and start interrupts */ 86 | 87 | vTaskStartScheduler(); /* start the FreeRTOS scheduler... */ 88 | return 0; /* NOTE: the scheduler does NOT return */ 89 | } 90 | 91 | -------------------------------------------------------------------------------- /img/Beyond_the_RTOS.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumLeaps/FreeACT/9affe05ad1314f94579c89abe15884b683bf03fe/img/Beyond_the_RTOS.jpg -------------------------------------------------------------------------------- /img/EOC_Miro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumLeaps/FreeACT/9affe05ad1314f94579c89abe15884b683bf03fe/img/EOC_Miro.png -------------------------------------------------------------------------------- /img/FreeACT.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumLeaps/FreeACT/9affe05ad1314f94579c89abe15884b683bf03fe/img/FreeACT.png -------------------------------------------------------------------------------- /img/bd-NUCLEO-H743ZI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumLeaps/FreeACT/9affe05ad1314f94579c89abe15884b683bf03fe/img/bd-NUCLEO-H743ZI.png -------------------------------------------------------------------------------- /img/bd_EFM32-SLSTK3401A.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumLeaps/FreeACT/9affe05ad1314f94579c89abe15884b683bf03fe/img/bd_EFM32-SLSTK3401A.png -------------------------------------------------------------------------------- /img/bd_EK-TM4C123GXL.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumLeaps/FreeACT/9affe05ad1314f94579c89abe15884b683bf03fe/img/bd_EK-TM4C123GXL.jpg -------------------------------------------------------------------------------- /img/github-star.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/QuantumLeaps/FreeACT/9affe05ad1314f94579c89abe15884b683bf03fe/img/github-star.jpg --------------------------------------------------------------------------------