Jeroen Domburg
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.
2016-12-15 15:03:22 +08:00
Jeroen Domburg
3f3cf397f7
Tabs -> spaces
2016-12-15 15:03:22 +08:00
Jeroen Domburg
1cb2081d99
Do not disable entire IRAM pool; instead disable only the bit that is used. This gives us 50K of iram at the moment.
2016-12-15 15:03:22 +08:00
Jeroen Domburg
25e7f3a303
Add name to tag type
2016-12-15 15:03:22 +08:00
Jeroen Domburg
d5c57d1d10
Put ets_isr_* functions into IRAM. Original fns were in ROM so people may expect them to work when flash cache is out.
2016-12-13 13:24:01 +08:00
Jeroen Domburg
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
2016-12-13 13:24:01 +08:00
Jeroen Domburg
baa6a477c5
Fix example code, add chapter to docs about interrupts and multicore issues
2016-12-08 14:42:00 +08:00
Jeroen Domburg
cb9ef19d3b
Also add intr_alloc magic to rtc code
2016-12-08 12:57:57 +08:00
Jeroen Domburg
2c34ab3374
Mark some interrupts that are now allocated dynamically as free, add int handle param documentation, add local ints test
2016-12-08 12:39:33 +08:00
Jeroen Domburg
9dc908d105
Add test for local interrupts, fix int disable code
2016-12-08 12:39:33 +08:00
Jeroen Domburg
ae8c37e0b6
Add disabling/enabling of shared interrupt, add testcase for interrupts
2016-12-08 12:39:33 +08:00
Jeroen Domburg
32fa94935d
Changes according to merge request
2016-12-08 12:39:33 +08:00
Jeroen Domburg
655fd2986a
Add interrupt allocation scheme / interrupt sharing. Also modifies drivers and examples. Also allows interrupts
...
to be marked specifically as having a handler that's all in IRAM.
2016-12-08 12:39:33 +08:00
Jeroen Domburg
c852e9958b
Invoke panic handler when a stack overflow has been detected; unhandled interrupt now prints interrupt/cpu number.
2016-12-05 20:37:59 +08:00
Jeroen Domburg
004aadfe70
Fix small bug in gdbstub where it sometimes would not return a valid stop reason, timing out gdb. Also clean up the code a bit.
2016-12-02 17:42:11 +08:00
Jeroen Domburg
f3a44aa4db
Merge with master; merge Doxygen config
2016-11-17 20:21:12 +08:00
Jeroen Domburg
d73448f57f
Make sure task wdt also does the right thing when triggered when flash is disabled
2016-11-17 18:05:47 +08:00
Jeroen Domburg
02f5bb9442
Add docs build artifacts to gitignore
2016-11-17 12:33:31 +08:00
Jeroen Domburg
d116adf260
Add documentation
2016-11-17 12:09:08 +08:00
Jeroen Domburg
a023b005c6
taskwdt fixes: better handling of empty/emptying wdt task list, lock task struct while feeding
2016-11-16 17:53:50 +08:00
Jeroen Domburg
0e69a2c446
Merge remote-tracking branch 'origin/master' into feature/better_idle_tick_hook_mechanism
2016-11-15 12:36:15 +08:00
Jeroen Domburg
9a2887c458
Add comments/headers according to merge request comments
2016-11-15 12:10:02 +08:00
Jeroen Domburg
aa81f047f8
Merge remote-tracking branch 'origin/master' into bugfix/workaround_gpio_pullupdown_bug
2016-11-15 11:57:01 +08:00
Jeroen Domburg
64a2f0ee0b
Amend gpio driver to work around SoC bug with some pullups/pulldowns in the GPIO peripheral; mark existing function that does not always work as deprecated
2016-11-15 10:29:52 +08:00
Jeroen Domburg
045a53a7e5
Fix wdt idle hook
2016-11-14 10:20:49 +08:00
Jeroen Domburg
57009aaa7f
Add a more scalable mechanism for the FreeRTOS tick- and idle hooks; idle handler now uses WAITI to reduce power
2016-11-11 19:20:54 +08:00
Jeroen Domburg
fdf3db1959
Comment fix
2016-11-11 12:26:42 +08:00
Jeroen Domburg
07c30f22b5
Add core info to xt interrupt api
2016-11-10 18:04:23 +08:00
Jeroen Domburg
86d8f63005
Per-CPU interrupt handlers and args
2016-11-10 17:59:46 +08:00
Jeroen Domburg
d0fac3c395
Language tweaking
2016-11-02 10:26:02 +08:00
Jeroen Domburg
8c1d1e19c2
OpenOCD doc fix, fix gdbstub
2016-11-01 15:41:10 +08:00
Jeroen Domburg
90b787636a
Remove redundant volatile keyword
2016-10-31 11:00:27 +08:00
Jeroen Domburg
3cd86d6bce
Also call tick hook on app cpu when scheduler is suspended
2016-10-28 14:37:36 +08:00
Jeroen Domburg
309bd12855
Re-add panic.o to IRAM/DRAM.
2016-10-28 14:32:11 +08:00
Jeroen Domburg
4d8ad3c877
Fix int wdt iram, fix some fallout of moving panic stuff to esp32
2016-10-28 12:05:42 +08:00
Jeroen Domburg
68f39c1ed9
Only init crosscore when FreeRTOS runs in multicore mode, add warnings that cross_int calls are private.
2016-10-27 16:50:28 +08:00
Jeroen Domburg
b14faabfda
Merge latest master in
2016-10-27 16:18:55 +08:00
Jeroen Domburg
3371083c16
Add checks for tasks woken up on other CPUs where needed, make xYieldPending and xPendingReadyList per-processor, add configurable ISR stack size to Kconfig, in general fix the entire wake-up-task-on-other-cpu-by-interrupt implementation
2016-10-27 16:07:47 +08:00
Jeroen Domburg
c6477ff10d
Fix int clear, actually call int init code
2016-10-27 12:37:19 +08:00
Jeroen Domburg
ff6b8addd9
Fix panic config ifdefs, un-stall app cpu on boot so it restarts after panic
2016-10-27 11:17:24 +08:00
Jeroen Domburg
fd887dbeea
Merge remote-tracking branch 'origin/master' into feature/wdts
2016-10-27 10:25:23 +08:00
Jeroen Domburg
6d54fb004d
Change inline to static inline functions. Ref Github issue 62.
2016-10-27 09:17:04 +08:00
Jeroen Domburg
d3d9a8bc28
Most code written. Interrupts still do not fire yet.
2016-10-26 21:09:55 +08:00
Jeroen Domburg
9546ad5b5e
Move write key and stage action select constants into headers
2016-10-26 14:54:50 +08:00
Jeroen Domburg
bb1efe50c3
Remove superfluous backup files
2016-10-26 12:23:35 +08:00
Jeroen Domburg
7d254eb3f0
Move panic handler and gdbstub into esp32 component, clean up wdt according to merge req suggestions
2016-10-26 12:23:01 +08:00
Jeroen Domburg
1ca97f5adb
Move panic handler code from FreeRTOS to esp32 component
2016-10-26 11:06:53 +08:00
Jeroen Domburg
6f96b23989
Merge in master updates
2016-10-26 11:04:42 +08:00
Jeroen Domburg
06bff71481
Add licenses, docbook, general cleanup
2016-10-25 18:18:11 +08:00
Jeroen Domburg
89f7752cdd
Make CPU1 int wdt / idle task wdt configurable, panic now properly disables other cpu, tick handler now also is called on cpu1, task wdt prints currently running tasks.
2016-10-25 18:08:55 +08:00
Jeroen Domburg
75a11589a1
Disable brown-out WDT, fix thread WDT, add panic reason indication to _xt_panic()
2016-10-25 17:05:13 +08:00
Jeroen Domburg
d7ea61734b
Tabs -> spaces
2016-10-24 21:25:48 +08:00
Jeroen Domburg
d9005e739d
Add bytebuffer support to ringbuf.c
2016-10-24 21:18:02 +08:00
Jeroen Domburg
ae5c563080
Brownout works (in as far brownout can work...), int wdt works.
2016-10-21 19:30:29 +08:00
Jeroen Domburg
2b8a493659
Add licenses to Trax files
2016-10-21 18:01:20 +08:00
Jeroen Domburg
53146799a0
Initial addition of wdt and brownout code
2016-10-21 17:59:57 +08:00
Jeroen Domburg
6b85040059
Also export HOSTCC etc for components
2016-10-20 20:11:13 +08:00
Jeroen Domburg
2d393f0530
Change inline assembly bits from macros to inline functions
2016-10-20 11:23:59 +08:00
Jeroen Domburg
340a722715
Warn user if trax is disabled in menuconfig but functions are called anyway.
2016-10-18 11:50:19 +08:00
Jeroen Domburg
d00ef1607e
Some more optimizations, mostly in involuntary task switches. Doesn not really help here, but might in other cases.
2016-10-18 10:51:08 +08:00
Jeroen Domburg
6a7ec425cb
Detect success before errors in vPortCPUReleaseMutex. Shaves off another half uS.
2016-10-17 18:49:19 +08:00
Jeroen Domburg
c03549e117
Make uxPortCompareSet into a macro. 25uS -> 24uS
2016-10-17 18:30:13 +08:00
Jeroen Domburg
0403d43b19
Optimize xPortGetCoreID to 2-instruction inline assembly.
2016-10-17 18:09:15 +08:00
Jeroen Domburg
0aab006bb7
Add Trax-support to esp-idf
2016-10-17 12:18:17 +08:00
Jeroen Domburg
03bd5b6d22
Fix offset of coreid in tasktcb
2016-10-12 18:17:58 +08:00
Jeroen Domburg
89097d5f11
Add xCoreID arg to prvInitialiseNewTask code; initialize pvThreadLocalStoragePointersDelCallback array to NULL
2016-10-12 17:46:15 +08:00
Jeroen Domburg
df31bb8dfc
Rename include, use spaces instead of tabs
2016-10-09 15:32:08 +08:00
Jeroen Domburg
82df5f9aa0
Convert Windows -> Unix line ends in gpio.c
2016-10-08 14:12:55 +08:00
Jeroen Domburg
a03e75d34c
Move heap_alloc_caps.h to a location where it can be included by components
2016-10-08 14:11:34 +08:00
Jeroen Domburg
5cd3bd5c4b
Add data memory for RMT peripheral
2016-10-08 13:15:06 +08:00
Jeroen Domburg
7bdcafe553
Also push relevant tags over
2016-09-30 18:06:41 +08:00
Jeroen Domburg
4daa768e3c
Define xcoreid offset, add warning in tcb struct wrt the need to also change that define when struct changes
2016-09-29 11:07:18 +08:00
Jeroen Domburg
a59897d656
Merge branch 'master' into feature/freertos_untested_feature_assert
2016-09-28 22:15:05 +08:00
Jeroen Domburg
b3309a03a3
Automatically pin no-cpu-affinity task to a core when FPU is used
2016-09-28 17:02:44 +08:00
Jeroen Domburg
a9502dffd3
Add ringbuf.c. This works like a FreeRTOS queue, but allows for variable-length items which in some cases is more memory efficient than a queue.
2016-09-28 12:43:35 +08:00
Jeroen Domburg
8db85d71b2
Fix UNTESTED_FUNCTION includes, remove unnecessary mux initialization in event groups
2016-09-27 11:50:46 +08:00
Jeroen Domburg
fc53bb6ed5
Add UNTESTED_FUNCTION() call to untested functions, make Kconfig option to enable that to map to assert()
2016-09-27 11:36:30 +08:00
Jeroen Domburg
14de3a3815
Fix a spelling mistake in panic message, add carriage return to stack canary message
2016-09-26 11:18:43 +08:00
Jeroen Domburg
b8bfa9fa35
Spinlocks already come initialized. Remove the code that would essentially re-initialize them at runtime
2016-09-23 17:46:16 +08:00
Jeroen Domburg
d63dac0320
Remove all references to prvLockQueue / prvUnlockQueue
2016-09-23 17:43:52 +08:00
Jeroen Domburg
4d4c6a3694
Enable SO_REUSEADDR in LWIP
2016-09-18 16:43:48 +08:00
Jeroen Domburg
f703acd344
Adding -fstrict-volatile-bitfields to the CFLAGS/CXXFLAGS. Without this, gcc tries to access bitfields using the smallest possible methods (eg l8i to
...
grab an 8-bit field from a 32-bit). Our hardware does not like that. This flag tells gcc that if a bitfield is volatile, it should always use the type
the field is defined at (uint32_t in our case) to size its access to the field. This fixes accessing the hardware through the xxx_struct.h headers.
2016-09-18 12:10:01 +08:00
Jeroen Domburg
174a0e3f8b
Fix bug where nesting vTaskEnterCritical calls would not re-enable interrupts after vTaskExitCritical sections.
2016-09-13 11:47:22 +08:00
Jeroen Domburg
9664de6867
Add working portASSERT_IF_IN_ISR function, fix enter_critical thing even better.
2016-09-09 17:15:50 +08:00
Jeroen Domburg
128bb77c5a
Fix prev code to not crash horribly when scheduler is not running yet
2016-09-09 17:15:49 +08:00
Jeroen Domburg
08ec33c6a2
Make vTaskEnterCritical callable from ISR
2016-09-09 17:15:12 +08:00
Jeroen Domburg
5a0e374a46
Set default SPI flash access mode to DIO
2016-09-08 10:22:15 +08:00
Jeroen Domburg
669e85758c
Add flash freq selection to menuconfig
2016-09-06 14:24:28 +08:00
Jeroen Domburg
4272996ebe
Add QIO/QOUT/DIO/DOUT select for esptool.py
2016-09-06 14:24:14 +08:00
Jeroen Domburg
c6394ed2ce
Fix: Return after setting breakpoint when ocd is detected instead of continuing into the panic routine
2016-08-30 17:55:20 +08:00
Jeroen Domburg
69f7bf5235
Add bit of text saying openocd helper options for esp-idf are enabled by default
2016-08-30 15:44:20 +08:00
Jeroen Domburg
6858d2993f
Fix issued raised in the merge request
2016-08-30 11:30:03 +08:00
Jeroen Domburg
16956f6474
Add openocd documentation and config file
2016-08-29 16:24:22 +08:00
Jeroen Domburg
95f547025b
Undo two empty lines
2016-08-24 18:34:04 +08:00
Jeroen Domburg
b1ad6a16e9
Undo submodule commit
2016-08-24 18:31:37 +08:00
Jeroen Domburg
bdf4b27e38
Add symbol needed for OpenOCD to detect FreeRTOS, add feature to break execution when the scheduler is initially started.
2016-08-24 17:32:20 +08:00
Jeroen Domburg
a44c45e63e
Add files I forgot (FreeRTOS-openocd.c and panic.h)
2016-08-24 17:30:53 +08:00
Jeroen Domburg
29c2e58c75
'Merge branch 'thread_local_storage_delete_callbacks' into 'master'
...
The thread-local-storage feature in FreeRTOS attaches an application-usable array of pointers to a thread control block. These pointers usually point to a structure the thread allocates. When a thread gets (voluntarily or involuntarily) destroyed, this memory can leak. This merge adds a matching second array of user-settable pointers to destructor routines. As soon as the task gets cleaned up (which happens in the idle thread), the destructors get called and the memory can be freed.
See merge request !19
2016-08-24 13:30:30 +08:00
Jeroen Domburg
d579040e32
Add cr after a lf is printed (configurable)
...
Formatting
2016-08-23 15:20:03 +08:00
Jeroen Domburg
f34110009a
Add C99-style named field in initialisation struct
2016-08-22 17:45:46 +08:00