Angus Gratton 3cfe738fcf Merge branch 'bugfix/minor_issues' into 'master' 9 жил өмнө
..
include d049fd3929 freertos: rework code based on review 9 жил өмнө
test 06e03ff52e Replace backwards-compatible portTICK_RATE_MS with FreeRTOS v8+ portTICK_PERIOD_MS 9 жил өмнө
FreeRTOS-openocd.c 4d8ad3c877 Fix int wdt iram, fix some fallout of moving panic stuff to esp32 9 жил өмнө
Kconfig 3cfe738fcf Merge branch 'bugfix/minor_issues' into 'master' 9 жил өмнө
component.mk 208e83def7 build system: Refactor component.mk to not need component_common.mk 9 жил өмнө
croutine.c fc53bb6ed5 Add UNTESTED_FUNCTION() call to untested functions, make Kconfig option to enable that to map to assert() 9 жил өмнө
event_groups.c 8db85d71b2 Fix UNTESTED_FUNCTION includes, remove unnecessary mux initialization in event groups 9 жил өмнө
heap_regions.c 93e72649dc Fix memory debugging code 9 жил өмнө
heap_regions_debug.c 293ad4cd36 Add xPortGetFreeHeapSizeCaps and xPortGetMinimumEverFreeHeapSizeCaps plus everything it entails. Allows querying the available memory for various capabilities. Also: xPortGetFreeHeapSize and xPortGetMinimumEverFreeHeapSize now return the expected value. Bonus: the linked list used in the allocator is now 4 bytes smaller, which should save some memory. 9 жил өмнө
license.txt bd6ea4393c Initial public version 9 жил өмнө
list.c bd6ea4393c Initial public version 9 жил өмнө
port.c ffeffcd315 Merge branch 'feature/crosscore_int' into 'master' 9 жил өмнө
portasm.S d00ef1607e Some more optimizations, mostly in involuntary task switches. Doesn not really help here, but might in other cases. 9 жил өмнө
queue.c 180f4d0929 FreeRTOS: Use C11 _Static_assert to verify static "dummy" structs at compile time 9 жил өмнө
readme_smp.txt 86d8f63005 Per-CPU interrupt handlers and args 9 жил өмнө
readme_xtensa.txt bd6ea4393c Initial public version 9 жил өмнө
ringbuf.c 6a8a9a0272 bugfix: ring buffer, fix api xRingbufferReceiveUpToFromISR 9 жил өмнө
stdint.readme bd6ea4393c Initial public version 9 жил өмнө
tasks.c d049fd3929 freertos: rework code based on review 9 жил өмнө
timers.c 925fbb587e Add static initializers for muxes, add mutex init to vPortCPUAcquireMutex 9 жил өмнө
xtensa_context.S bd6ea4393c Initial public version 9 жил өмнө
xtensa_init.c bd6ea4393c Initial public version 9 жил өмнө
xtensa_intr.c 655fd2986a Add interrupt allocation scheme / interrupt sharing. Also modifies drivers and examples. Also allows interrupts 9 жил өмнө
xtensa_intr_asm.S 78161a1fe3 Replace non-multicore-aware rom funcs with multicore-aware funcs, ESP_LOG->ESP_EARLY_LOG fix, reserve ints used in wireless libs. Fixes WiFi crashing 9 жил өмнө
xtensa_overlay_os_hook.c bd6ea4393c Initial public version 9 жил өмнө
xtensa_vectors.S bb584c4333 Fix exception handler to jump to correct vector instead of crashing to the double exception vector. 9 жил өмнө

readme_smp.txt

This version of FreeRTOS has been modified by Espressif to be SMP-aware. The
API is similar to the original FreeRTOS API, with the following changes:

- The xTaskCreate() function now creates tasks that will run on the first
core only, for backwards compatibility. To schedule tasks on another core,
use xTaskCreatePinnedToCore(), which will accept a core ID as the last
argument. If this is the constant tskNO_AFFINITY, the task will be dynamically
scheduled on whichever core has time.

- vTaskSuspendAll/vTaskResumeAll in non-SMP FreeRTOS will suspend the scheduler
so no other tasks than the current one will run. In this SMP version, it will
only suspend the scheduler ON THE CURRENT CORE. That is, tasks scheduled to
run on the other core(s) or without a specific CPU affinity, will still be
able to run.

- Enabling and disabling interrupts will only affect the current core.
Disabling the interrupts will not disallow other tasks to run as
it would on a single-core system: the other core still will keep on
executing all it's own. Use a mux, queue or semaphore to protect your
structures instead.

- This FreeRTOS version has the task local storage backported from the 8.2.x
versions. It, however, has an addition: you can also set a callback when you
set the pointer. This callback will be called by the idle task, with the
pointer as an argument, when the thread is destroyed. This depends on the idle
task getting CPU time; when a thread is hogging the CPU without yielding,
the idle thread won't be called and the delete callback won't be called either.