Angus Gratton
1c9e106db8
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
0da6c97a9d
Rename main.cpp in tasks example
2015-09-20 21:13:38 +10:00
Angus Gratton
3aff91c85c
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
f31daa7f9a
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
a5ba05b5f9
Remove stray extras/cplusplus
2015-09-20 21:13:38 +10:00
Angus Gratton
8a29e46319
examples/Makefile: Use MAKE to properly invoke make recursively
2015-09-20 21:13:38 +10:00
Angus Gratton
6c06e5e91e
common_macros: Include sys/cdefs.h, defines _Static_assert among others
2015-09-20 21:13:38 +10:00
Angus Gratton
1c8017484c
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
7be365ef08
gpio.h: Explicit cast to enum type (needed for g++)
2015-09-20 21:13:38 +10:00
Angus Gratton
6416fe7329
Post-merge cleanup of extras/cpp_support
2015-09-20 21:13:38 +10:00
Michael Jacobsen
fbb01c81ad
Header files adjustment
...
(MQTT changes split from original commit - @projectgus.)
2015-09-20 21:13:38 +10:00
Michael Jacobsen
602d3e2d98
Header files re-arrangement
2015-09-20 21:13:38 +10:00
Michael Jacobsen
028451fa84
Updated license
2015-09-20 21:13:38 +10:00
Michael Jacobsen
63bbf92a76
Header files adjustments
2015-09-20 21:13:38 +10:00
Michael Jacobsen
627b78331a
Added C++ base components and example
2015-09-20 21:13:38 +10:00
Angus Gratton
94fabc6ceb
Add basic C++ new/delete operators, as contributed by @mikejac in #24
2015-09-20 21:13:38 +10:00
Angus Gratton
cc97067fa1
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
372827ac42
Mostly updated header files for use in C++
2015-09-20 21:13:38 +10:00
Alex Stewart
a3d7732da8
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
4c89a0574b
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
f47aa77982
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
9cd23e08a4
Fix performance regression in 3911a94cc
2015-09-15 15:00:56 +10:00
Angus Gratton
7d779389ab
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
7ebebf6d22
unaligned_load: Add doubleexceptionvector behaviour test
2015-09-15 12:00:26 +10:00
Angus Gratton
c7a7dfdf82
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
3911a94cc8
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
26e1ce325e
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
259c9b643f
Exception vectors: Remove no-op syscallhandler
2015-09-14 18:17:45 +10:00
Angus Gratton
0e0c5d89b8
NMI exception handler: Fix reserving too much RAM for registers
2015-09-14 17:43:29 +10:00
Angus Gratton
9c15b757d3
Exception handlers: remove unused NMIHandlerAddress
2015-09-14 17:22:50 +10:00
Angus Gratton
0432ae3745
Use GPIO2 for led_debug.S
2015-09-14 17:20:00 +10:00
Angus Gratton
45d4e0da2d
Exception vectors: Rearrange to use absolute offets instead of .align hacks
2015-09-14 17:20:00 +10:00
Angus Gratton
a5a179beef
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
1aaef737df
Fix printf format string changed in merge
2015-09-10 21:11:52 +10:00
Angus Gratton
ac0a947453
Merge branch 'master' into experiments/unaligned_load
2015-09-10 08:19:42 +10:00
Angus Gratton
1d7bfeeccd
Merge branch 'fix/int32_t'
...
Closes #42
2015-09-09 16:23:31 +10:00
Angus Gratton
6439aba2d9
libc: More int32_t fixes to not expect 'long'
...
libc built from projectgus/newlib-xtensa@45ed90066
2015-09-09 16:22:57 +10:00
Angus Gratton
e6b862e0f7
libc: Fix _default_types.h so uint_least8/16/32_t properly recognised by newlib
...
Newlib built from projectgus/newlib-xtensa 514f105b0
(thanks @Frans-Willem for the fix)
2015-09-09 08:25:36 +10:00
Angus Gratton
421f8ddaa5
Allow properly for out-of-tree components (was a hack before)
2015-09-08 10:36:19 +10:00
Angus Gratton
9f5bc3735e
Add link from common.mk components section to wiki page
2015-09-08 10:36:03 +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
Angus Gratton
ed2c1ad713
Update README with some recent developments
2015-09-07 17:52:01 +10:00
Angus Gratton
7de923ec8d
Add link to mailing list, and code of conduct from CoralineAda/contributor_covenant (thank you!)
2015-09-07 17:04:14 +10:00
Angus Gratton
7ed064a750
libc: Redefine int32_t/uint32_t as 'int' not 'long'
...
libc built from projectgus/newlib-xtensa@0077776963
Closes #42
2015-09-05 13:37:00 +10:00
Angus Gratton
920ee8bf85
libc syscalls: ENOSYS implementations for open,fstat,close,lseek
...
Closes #41
2015-09-03 11:45:52 +10:00
Angus Gratton
568ebc0fdc
libc read()/write() syscalls - return EBADF if fd is not stdin/stdout as applicable
...
As discussed in #41
Also fixes indent in _read_r
2015-09-03 11:34:54 +10:00
Angus Gratton
7e30f48650
Merge pull request #30 from Angus71/master
...
Added bmp180_i2c example
2015-09-03 08:37:53 +10:00
Angus71
fd1081a0cc
Added BMP180 and I2C driver and example
...
Fixed reference to unknown environment var
Moved drivers into extras folder and added additional documentations.
Changed LOCAL to static and renamed DEBUG to BMP180_DEBUG
2015-08-31 13:39:27 +02:00
Angus Gratton
0090153fa7
Reorder library arguments so component libraries come first
...
This allows components to override weak linked symbols in the core or
the SDK libraries, without needing to force symbol discovery.
Will help with #24 , for instance.
2015-08-31 16:59:34 +10:00
Angus Gratton
2fe1b7a00d
Merge pull request #36 from foogod/ld_patch
...
Fix linker script handling of irom/irom0 segments
2015-08-28 10:00:19 +10:00