Commit graph

679 commits

Author SHA1 Message Date
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
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
46111bad52 dhcpserver cleanup, add access_point example
DHCP Server & AP mode tested w/ Debian & Android clients
2015-09-13 18:42:20 +10:00
Angus Gratton
9fc223b3c2 dhcpserver: Add expiry, DHCPNAK packets 2015-09-13 18:42:20 +10:00
Angus Gratton
4c98f575e7 dhcpserver: Initial DHCP server support, hands out leases but doesn't expire them 2015-09-13 18:42:11 +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