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
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
Alex Stewart
b0206d0ca6
Fix broken UART(i) definition
2015-08-25 22:31:47 -07:00
Angus Gratton
cb5e67a871
Merge pull request #32 from foogod/regs_fixups0
...
Remove packed attribute from register structs
2015-08-26 14:14:33 +10:00
Alex Stewart
da48a6b0df
Remove 'packed' attribute from all regs structs
2015-08-26 11:23:52 +10:00
Alex Stewart
e2e841c660
Remove 'packed' attribute from all regs structs
2015-08-25 17:13:13 -07:00
Alex Stewart
2a939e97b5
Remove unnecessary AND for VAL2FIELD macro
...
Added VAL2FIELD_M / SET_FIELD_M for rare cases when there might actually be some need for it.
2015-08-25 17:07:06 -07:00
Angus Gratton
22d35ed5f2
Merge pull request #29 from foogod/issue_8
...
Add more *_regs.h definitions
2015-08-24 16:14:19 +10:00
Angus Gratton
cf4b477c1f
lwipopts.h: Rearrange debug macros, add placeholdes for UDP and ICMP debug
2015-08-24 10:52:40 +10:00
Angus Gratton
050b17adbe
Add a comment explaining commented out REG_BASE lines
...
Change was part of #27
2015-08-22 17:39:25 +10:00
Angus Gratton
aa17221929
Merge pull request #27 from foogod/issue_8
...
Convert headers to new *_regs.h format
2015-08-22 17:36:37 +10:00
Alex Stewart
2f3b82812b
Add esp/rtcmem_regs.h
2015-08-21 14:20:00 -07:00
Alex Stewart
fdbb361a60
Fix a couple of struct def issues with 2 previous commits
2015-08-21 14:06:38 -07:00