Alex Stewart
4ea9382ee6
Fix bad memory access in NMI handler
...
CallNMIExceptionHandler was saving/restoring registers to the wrong offsets,
causing it to potentially corrupt the first two slots of the
LoadStoreErrorHandler's save area.
2015-09-24 20:12:14 -07:00
Angus Gratton
3ceb07b9db
unaligned_load: Run some tests after scheduler/network/wifi all up and running
...
As written this doesn't expose any new bugs.
2015-09-25 09:41:53 +10:00
Angus Gratton
2f412bbcfd
unaligned_load tests: Remove incorrect references to DoubleException
2015-09-25 09:22:06 +10:00
Alex Stewart
34bd63c943
More LoadStoreErrorHandler performance improvements
2015-09-23 08:51:36 -07:00
Alex Stewart
bcacfa426a
Further optimizations for LoadStoreErrorHandler
2015-09-21 22:13:14 -07: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
Alex Stewart
0155632dd3
Remove 'packed' attribute from all regs structs
2015-08-25 17:13:13 -07:00
Alex Stewart
b76bf99d7c
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
76ad427dc2
Merge pull request #29 from foogod/issue_8
...
Add more *_regs.h definitions
2015-08-24 16:14:19 +10:00
Angus Gratton
3eb311c316
lwipopts.h: Rearrange debug macros, add placeholdes for UDP and ICMP debug
2015-08-24 10:52:40 +10:00
Angus Gratton
08bb9f16e7
Add a comment explaining commented out REG_BASE lines
...
Change was part of #27
2015-08-22 17:39:25 +10:00
Angus Gratton
348480d3c1
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
9f3f3e5b08
Add esp/rtcmem_regs.h
2015-08-21 14:20:00 -07:00
Alex Stewart
b482a1cc77
Fix a couple of struct def issues with 2 previous commits
2015-08-21 14:06:38 -07:00