Angus Gratton
680047bc8d
Merge branch 'experiments/unaligned_load' into feature/mbedtls
2015-09-24 20:25:10 +10:00
Alex Stewart
34bd63c943
More LoadStoreErrorHandler performance improvements
2015-09-23 08:51:36 -07:00
Alex Stewart
bcacfa426a
Further optimizations for LoadStoreErrorHandler
2015-09-21 22:13:14 -07:00
Angus Gratton
7542e995ec
http_get_mbedtls: Add root cert used by howmyssl.com
2015-09-20 21:41:39 +10:00
Angus Gratton
5b67ca4f5f
Merge branch 'master' into feature/mbedtls
2015-09-20 21:26:29 +10:00
Angus Gratton
18381f88fe
mbedTLS: Add ESP8266 hardware entropy source discovered by @foogod
...
Addresses #3 , provided turns out to be an effective HWRNG.
2015-09-20 21:15:30 +10:00
Angus Gratton
9f5dedd1a8
Add initial mbedTLS and HTTPS example project (using howsmyssl.com JSON API)
...
mbedTLS version 2.1.0 (current stable)
Has some known issues/hacks:
* Entropy source not hooked in at all
* Linker script has a messy hack in it to store some (not all) data in
irom
2015-09-20 21:13:38 +10:00
Angus Gratton
68012041a7
Move start of IROM0 to 0x40220000, save 128kB of flash
...
Old starting point left 256kB for RAM sections, but I think they
shouldn't ever possibly exceed 128kB.
2015-09-20 21:13:38 +10:00
Angus Gratton
464359ea66
Compile with -ffunction-sectons -fdata-sections, link with -gc-sections
...
This seems to shrink code size by abou 3.5%. Not sure if there are any downsides.
2015-09-20 21:13:38 +10:00
Angus Gratton
1cbb34b9ab
Rename main.cpp in tasks example
2015-09-20 21:13:38 +10:00
Angus Gratton
77813c8032
Rename GPIO_CONF_PUSH_PULL to GPIO_CONF_OPEN_DRAIN
...
Seems I got the functionality of this bit inverted when
initially testing.
In testing it also seems open drain mode is ignored on some pins, which
still source current. Needs more investigation though (may be pullups
internal to the ESP modules or set by default in software.)
Relates to #45
2015-09-20 21:13:38 +10:00
Angus Gratton
72377c4cd5
iomux: Fix setting of invalid bits when masking in iomux fields
...
Fixes regression from 2a939e97
Part of issue #45
2015-09-20 21:13:38 +10:00
Angus Gratton
adb7dc9744
Remove stray extras/cplusplus
2015-09-20 21:13:38 +10:00
Angus Gratton
1f7a27b49a
examples/Makefile: Use MAKE to properly invoke make recursively
2015-09-20 21:13:38 +10:00
Angus Gratton
f2651d1be3
common_macros: Include sys/cdefs.h, defines _Static_assert among others
2015-09-20 21:13:38 +10:00
Angus Gratton
07ba9ec6ea
Move c++ operators back to link-time resolutions, part of 'core'
...
This reverts commit e9b1df5cb5
.
2015-09-20 21:13:38 +10:00
Angus Gratton
8324a0ccc4
gpio.h: Explicit cast to enum type (needed for g++)
2015-09-20 21:13:38 +10:00
Angus Gratton
047d2def6a
Post-merge cleanup of extras/cpp_support
2015-09-20 21:13:38 +10:00
Michael Jacobsen
78b006e6d3
Header files adjustment
...
(MQTT changes split from original commit - @projectgus.)
2015-09-20 21:13:38 +10:00
Michael Jacobsen
0a6722840c
Header files re-arrangement
2015-09-20 21:13:38 +10:00
Michael Jacobsen
f251416307
Updated license
2015-09-20 21:13:38 +10:00
Michael Jacobsen
19cff5ae30
Header files adjustments
2015-09-20 21:13:38 +10:00
Michael Jacobsen
3d8ed11087
Added C++ base components and example
2015-09-20 21:13:38 +10:00
Angus Gratton
d308687782
Add basic C++ new/delete operators, as contributed by @mikejac in #24
2015-09-20 21:13:38 +10:00
Angus Gratton
aea147ad6a
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-09-20 21:13:38 +10:00
Michael Jacobsen
436aa8b8cc
Mostly updated header files for use in C++
2015-09-20 21:13:38 +10:00
Alex Stewart
9d62d09d3f
unaligned_load.c: Added more naive_strcpy tests
...
Added tests for naive_strcpy using a variety of different regs, as execution time can depend on which register is being used.
2015-09-19 20:03:22 -07:00
Alex Stewart
dc1b8b1816
Add sanity-test suite to unaligned_load.c
...
Tests are designed to methodically exercise all code paths/opcodes/offsets/etc.
2015-09-19 15:16:44 -07:00
Angus Gratton
c4a607a595
bmp180 i2c: Fix typo temperatue->temperature.
...
Closes #47
2015-09-18 17:59:50 +10:00
Angus Gratton
3eb43c6ef5
Moved DoubleLoadStorageHandler to end of functions, improve fast path l8ui performance
...
This allows a conditional branch that previously required a full jump instruction not to require it.
2015-09-15 15:09:42 +10:00
Angus Gratton
6ad51e209a
Fix performance regression in 3911a94cc
2015-09-15 15:00:56 +10:00
Angus Gratton
8a088f73db
unaligned_load: Fix sign extension, add test case for sign extension
...
H/T to @foogod again for this.
2015-09-15 12:00:32 +10:00
Angus Gratton
5a9590cdff
unaligned_load: Add doubleexceptionvector behaviour test
2015-09-15 12:00:26 +10:00
Angus Gratton
e4c76b488c
Remove the unaligned load handler to its own source file as it was getting quite complex
...
The downside here is needing to use #include so the 'beq' in the
exception vector can land on it directly, save an instruction.
There might be a better way to do this, but it seems hard to "curate"
the order that symbols appear in each section.
2015-09-15 11:34:21 +10:00
Angus Gratton
c759a2af05
Remove one more branch from l8ui code path
...
Thanks for @foogod for the heads-up on this.
2015-09-15 11:01:21 +10:00
Angus Gratton
390e007c75
Fix sign extension as suggested by @foogod
...
Also removes a branch from l8ui path, saves some cycles
2015-09-14 18:30:11 +10:00
Angus Gratton
44f2ba66e5
Exception vectors: Remove no-op syscallhandler
2015-09-14 18:17:45 +10:00
Angus Gratton
d4e5af7f0b
NMI exception handler: Fix reserving too much RAM for registers
2015-09-14 17:43:29 +10:00
Angus Gratton
9ae2464258
Exception handlers: remove unused NMIHandlerAddress
2015-09-14 17:22:50 +10:00
Angus Gratton
6650369502
Use GPIO2 for led_debug.S
2015-09-14 17:20:00 +10:00
Angus Gratton
e347f296f3
Exception vectors: Rearrange to use absolute offets instead of .align hacks
2015-09-14 17:20:00 +10:00
Angus Gratton
1a4c829b1f
Extended unaligned load support to work from DoubleExceptionVector
...
Allows handling bad loads that occur inside level 1 exception handlers.
2015-09-14 17:20:00 +10:00
Angus Gratton
8932afd7c7
Rename main.cpp in tasks example
2015-09-12 16:28:11 +10:00
Angus Gratton
df8eaeec8c
Merge branch 'feature/c++'
2015-09-12 16:27:26 +10:00
Angus Gratton
f585ed8f46
Rename GPIO_CONF_PUSH_PULL to GPIO_CONF_OPEN_DRAIN
...
Seems I got the functionality of this bit inverted when
initially testing.
In testing it also seems open drain mode is ignored on some pins, which
still source current. Needs more investigation though (may be pullups
internal to the ESP modules or set by default in software.)
Relates to #45
2015-09-12 16:21:26 +10:00
Angus Gratton
d5141b3077
iomux: Fix setting of invalid bits when masking in iomux fields
...
Fixes regression from 2a939e97
Part of issue #45
2015-09-12 15:23:42 +10:00
Angus Gratton
7cb8fd189e
Fix printf format string changed in merge
2015-09-10 21:11:52 +10:00
Angus Gratton
a5266adb48
Merge branch 'master' into experiments/unaligned_load
2015-09-10 08:19:42 +10:00
Angus Gratton
c55cfd3b2e
Merge branch 'fix/int32_t'
...
Closes #42
2015-09-09 16:23:31 +10:00
Angus Gratton
0ee529b878
libc: More int32_t fixes to not expect 'long'
...
libc built from projectgus/newlib-xtensa@45ed90066
2015-09-09 16:22:57 +10:00