Alex Stewart
ba7492756c
Merge branch 'master' into open-startup
2015-09-20 14:05:54 -07:00
Angus Gratton
8b90dbd9e5
Merge branch 'feature/c++'
2015-09-12 16:27:26 +10:00
Angus Gratton
7e73693898
Rework component makefiles to have a default <component>_ROOT
...
This fixes a long-standing bug where build directories sometimes
expanded many levels deeper than they should have.
Component names can now no longer contains slashes (ie the component
name for 'extras/i2c' is now just 'i2c')
2015-09-08 09:59:59 +10:00
Alex Stewart
43a712572c
Don't rename FreeRTOS hook symbols
2015-08-28 18:53:43 -07:00
Angus Gratton
424dc0f3b0
Add C++ support to Makefile, and proof-of-concept simple.cpp example
...
This is a work in progress based on @mikejac's work.
Missing:
* No 'new' operator.
* I don't think STL is currently supported.
2015-08-10 16:14:30 +10:00
Angus Gratton
efc454035c
Move all code paths touched by NMI to IRAM
...
Prerequisite for calling Cache_Read_Disable() for OTA updates.
Massive thanks due to @foogod and their xtobjdis tool, creating the call
graph of where the wDev_ProcessFiq touched (including in newlib, etc.)
would have otherwise been very painful:
https://bitbucket.org/foogod/xtobjdis
2015-07-29 16:47:33 +10:00
Angus Gratton
ed7ba52c9a
Add exception vectors & low-level handlers
...
At the moment these are almost bit-for-bit copies of the vector
behaviour in the RTOS SDK, but hopefully that will start to change.
Progress towards #2
2015-07-28 11:01:57 +10:00
Angus Gratton
86188c01fd
Merge branch 'newlib'
2015-07-15 16:01:18 +10:00
Angus Gratton
4217a1029e
xtensa_interrupts: Add _xt_disable_interrupts/_xt_restore_interrupts inline functions
2015-06-18 11:30:13 +10:00
Angus Gratton
72b61b17f8
Create a default FreeRTOSConfig.h, can override on a per-program basis
...
Closes #12
2015-06-16 17:28:32 +10:00
Angus Gratton
aaef4b0644
Replace all binary SDK libc functions with newlib
...
Adds a new build step to remove the SDK object files listed in
<libname>.remove.
Closes #1 .
2015-06-16 14:21:24 +10:00
Angus Gratton
f0b5bc324c
Implement xPortGetFreeHeapSize when using libc memory management
2015-06-16 14:20:52 +10:00
Angus Gratton
49268a33e1
Link against newlib from esp-open-sdk's libcirom, replace FreeRTOS heap management.
...
Compiles and runs, expects xtensa lock.c patch in newlib (will still run
otherwise but malloc/free and other functions will be non-memory-safe...)
2015-06-16 14:20:24 +10:00
Angus Gratton
822533fd92
Interrupt support refactor
...
Write inline versions for SDK-based interrupt convenience functions.
2015-06-08 18:20:29 +10:00
Angus Gratton
0dbb6d31a5
Add IRAM attribute for IRAM loaded symbols, add to common FreeRTOS functions
...
Closes #7 .
It'd be nice to change the linker script so .text is always linked to
IROM instead of needing to objcopy each compiled file. The sticking
point for this is libgcc & libhal, which have symbols in .text that need
to be loaded to IRAM.
2015-06-08 18:19:59 +10:00
Angus Gratton
2c46be9825
Basic support for GPIOs 0-15.
...
Start new 'core' component for low-level parts
Progress towards #8
2015-06-08 12:09:34 +10:00
Angus Gratton
81afe58334
Change symbol extraction to use objdump not nm
...
nm outputs warnings to stderr so hard to clean output.
Also now picks up global variables, like NMIIrqOn.
2015-06-02 17:57:33 +10:00
Angus Gratton
c126fa6430
Add README, 'make help', header comments, Copyright notices
2015-06-02 17:12:20 +10:00
Angus Gratton
3fcec6106f
Swap binary axTLS libssl for direct compiled version
2015-06-02 17:12:20 +10:00
Angus Gratton
e743d03a78
Preprocess all binary SDK symbols to add an sdk_ prefix
...
* This fixes the problem of axTLS symbols hmac_md5/hmac_sha1 having same
name as symbols in libwpa (which have incompatible signatures)
* Also allows for easier identification and piece-by-piece removal of
binary functions.
* Some libc symbols are not renamed, list is in lib/symbols_norename.txt
2015-06-02 15:08:35 +10:00
Angus Gratton
b8576dd554
Fix errno
2015-06-02 15:08:35 +10:00
Angus Gratton
dc4ca6861f
Remove udhcp (DHCP server support) as it's a GPL violation :(
2015-06-02 15:08:35 +10:00
Angus Gratton
8e174aa518
Comment vPortEnterCritical/vPortExitCritical functions
2015-06-02 15:08:35 +10:00
Angus Gratton
806962d5c7
Replace lwip SDK blob with lwip 1.4.1 upstream source
...
Compiles but won't work yet
2015-06-02 15:08:26 +10:00
Angus Gratton
496c5a8330
Heavily rework Makefile to support 'components' of source code to build independently, etc.
2015-06-02 15:08:03 +10:00
Angus Gratton
1e15cc266f
Comment some parts of portmacro.h
2015-05-07 14:23:24 +10:00
Angus Gratton
c636adf42c
Clean up portmacro.h
2015-05-07 14:23:24 +10:00
Angus Gratton
3a5b46a09a
Xtensa interrupt management function prototypes
2015-05-07 14:23:24 +10:00
Angus Gratton
6369b4cefa
Clean up rest of port.c function
2015-05-07 14:23:24 +10:00
Angus Gratton
ee95fde5ec
Change PendSV function signature to use enum
2015-05-07 14:23:24 +10:00
Angus Gratton
c3c531240e
Remove pending sv posted flag, double-setting int bit doesn't matter
2015-05-07 14:23:24 +10:00
Angus Gratton
e95a93bdd9
Clean up PendSV/SV ISR
2015-05-07 14:23:24 +10:00
Angus Gratton
ddd88dbe59
Misc port.c cleanup, remove now-unused PortxxxInt_NoNest, comment misc bits of blob interface
2015-05-07 14:23:24 +10:00
Angus Gratton
b7e0e232dd
Replace FreeRTOS core/non-portable files with unmodified variants from vanilla 7.5.2
2015-05-07 14:23:24 +10:00
Angus Gratton
de4855b86c
First half of moving custom synchronisation primitive API to standard FreeRTOS
2015-05-07 14:23:24 +10:00
Angus Gratton
b3c674d89d
Swap memory management to FreeRTOS-style, fixed heap size
2015-05-07 14:23:24 +10:00
Angus Gratton
cd705f8b93
Replace ETS_INTR_xxx with xTaskSuspend/Resume
2015-05-07 14:23:24 +10:00
Angus Gratton
1ffbc303ff
Working variant of esp_iot_rtos_sdk (files from commit ec75c85f9ef53)
2015-05-07 14:22:25 +10:00
Angus Gratton
101c8648ea
Unmodified cross-platform parts of FreeRTOS 7.5.2 (Demos and
...
platform-specific code removed)
2015-04-30 11:01:12 +10:00