Commit graph

206 commits

Author SHA1 Message Date
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
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
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
Angus Gratton
1464adb5a9 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
1df6fce030 Allow properly for out-of-tree components (was a hack before) 2015-09-08 10:36:19 +10:00
Angus Gratton
6fbfa766a7 Add link from common.mk components section to wiki page 2015-09-08 10:36:03 +10:00
Angus Gratton
1221e2117b 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
89f44400a8 Update README with some recent developments 2015-09-07 17:52:01 +10:00
Angus Gratton
e0a252b7b0 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
e61e84ca7d 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
5aa095298d libc syscalls: ENOSYS implementations for open,fstat,close,lseek
Closes #41
2015-09-03 11:45:52 +10:00
Angus Gratton
006c73c7ba 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
6f01afc956 Merge pull request #30 from Angus71/master
Added bmp180_i2c example
2015-09-03 08:37:53 +10:00
Angus71
b251427643 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
c19bb63286 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
5bb832b7a6 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
33f6add5e0 Fix linker script handling of irom/irom0 segments 2015-08-27 13:54:30 -07:00
Angus Gratton
2ffce578cf Merge pull request #33 from foogod/uart_fix
Fix broken UART(i) definition
2015-08-27 15:56:17 +10:00
Alex Stewart
78be94744c Fix broken UART(i) definition 2015-08-25 22:31:47 -07:00
Angus Gratton
bf44bc61d1 Merge pull request #32 from foogod/regs_fixups0
Remove packed attribute from register structs
2015-08-26 14:14:33 +10:00
Alex Stewart
3e8c14cd15 Remove 'packed' attribute from all regs structs 2015-08-26 11:23:52 +10:00