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
cceb9de300
bmp180 i2c: Fix typo temperatue->temperature.
...
Closes #47
2015-09-18 17:59:50 +10: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
347f9d3a85
Rename main.cpp in tasks example
2015-09-12 16:28:11 +10:00
Angus Gratton
8b90dbd9e5
Merge branch 'feature/c++'
2015-09-12 16:27:26 +10:00
Angus Gratton
c45e84d61d
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
91d897dbbe
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
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
Alex Stewart
19f01b2f72
app_main.c: load correct g_ic sector from flash
2015-08-30 13:37:40 -07:00
Alex Stewart
8b5e8b923e
Bug fix for dump_flash_config_sectors
2015-08-30 12:11:08 -07:00
Alex Stewart
a88f36d986
More app_main.c fixups
...
It's alive! IT'S ALIVE!!
2015-08-28 18:53:43 -07:00
Alex Stewart
a9eb3a38e3
More app_main fixups from object code comparisons
2015-08-28 18:53:43 -07:00
Alex Stewart
aa7f305e16
Various app_main.c bug fixes
2015-08-28 18:53:43 -07:00
Alex Stewart
c16dd2ef23
Add 'sdklike' FLAVOR to makefile
2015-08-28 18:53:43 -07:00
Alex Stewart
43a712572c
Don't rename FreeRTOS hook symbols
2015-08-28 18:53:43 -07:00
Alex Stewart
a044c061d5
Replace libmain:app_main.o with core/app_main.c
2015-08-28 18:53:43 -07:00
Alex Stewart
8b8f7c9de4
Use fixed symbol rename list
...
To keep things from changing out from under us as we slowly replace bits of the
SDK libs, changing Makefiles to not auto-generate the list of symbols to
rename, but always use the same list every time.
2015-08-28 18:53:43 -07: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
Alex Stewart
c30f48c3b1
Fix linker script handling of irom/irom0 segments
2015-08-27 13:54:30 -07:00
Angus Gratton
bcc22bdfc5
Merge pull request #33 from foogod/uart_fix
...
Fix broken UART(i) definition
2015-08-27 15:56:17 +10:00