Angus Gratton
d61874363a
http_get_mbedtls example: Remove fflush() calls as stdout is no longer line buffered
2015-10-11 09:25:51 +11:00
Angus Gratton
f3ca012b47
Disable default line-buffering of stdout
...
As discussed in #52 . Application can re-enable buffering on stdout with setbuf() or setbuf()
2015-10-11 09:21:30 +11:00
Angus Gratton
a095a87409
Fix sdk_uart_rx_one_char implementation, move into sdk_compat.c
2015-10-06 23:48:28 +11:00
Angus Gratton
7efc0e3334
stdout: Bring back auto-CRLF behaviour as discussed
2015-10-06 23:24:40 +11:00
Angus Gratton
7d67bf2ede
Change default baud rate back to 74906bps, compatible with boot ROM rate
...
This reverts a behaviour change from 3ceadfc0a6
.
2015-10-06 23:11:17 +11:00
Angus Gratton
9c1307c5d1
Merge branch 'master' into uart_h
2015-10-06 18:37:28 +11:00
Angus Gratton
5c4cbf69cf
Merge pull request #50 from SuperHouse/fix/interrupts
...
Fix/interrupts
2015-10-06 18:36:03 +11:00
Angus Gratton
afd229642a
exception_vectors: Use call0 for sdk__xt_int_exit, in case it needs a literal
2015-10-06 18:25:48 +11:00
Angus Gratton
6fe0ccc7f3
exception_vectors.S: Use .Lnnn syntax for local labels, as noted by @foogod
2015-10-06 18:24:35 +11:00
Angus Gratton
7526a1fd0c
app_main: Refactor to use uart.h functions instead of raw register access
...
This removes the automatic insertion of CR ahead of LF by the SDK putc
function when called inside the SDK (although we'd already replaced
printf, so most were bypassing this putc function anyhow.)
2015-10-06 18:14:05 +11:00
Angus Gratton
9e894226b7
serial_echo: Fix program name in makefile
2015-10-06 17:55:37 +11:00
Angus Gratton
07f4004e7e
Add a basic serial_echo example, with a silly Easter Egg
2015-10-06 17:54:43 +11:00
Angus Gratton
325889a155
libc: newlib revision daf48a0d3 with various space-saving measures:
...
* --enable-newlib-reent-small
* Compiled with -DHAVE_ABORT -DHAVE_SIGNAL
* Default fd buffer size shrunk to 128 bytes (ref #52 )
Full build options:
../configure --with-newlib --enable-multilib --disable-newlib-io-c99-formats --disable-newlib-io-long-long --disable-newlib-io-float --disable-newlib-io-long-double --enable-newlib-supplied-syscalls --enable-target-optspace --program-transform-name="s&^&xtensa-lx106-elf-&" --disable-option-checking --with-target-subdir=xtensa-lx106-elf --target=xtensa-lx106-elf --prefix=/home/gus/dev/esp/rtos/open-rtos/libc/ --enable-newlib-nano-malloc --enable-newlib-nano-formatted-io --enable-newlib-reent-small
CROSS_CFLAGS="-DSIGNAL_PROVIDED -DABORT_PROVIDED" make
2015-10-06 17:49:00 +11:00
Angus Gratton
25d3c54c5b
uart.h: Add uart_get_baud/uart_set_baud functions, change default baud rate from 74906 to 115200
2015-10-06 17:49:00 +11:00
Alex Stewart
14a05facda
Fix issue #52 . Add esp/uart.h
2015-10-05 21:51:57 -07:00
Angus Gratton
50f8b3d338
core headers: Add C++ linker compatibility
2015-10-05 18:33:32 +11:00
Angus Gratton
cc199eb095
NMI Handler: Save 512 bytes of RAM via NMI stack space. Add stack overflow detection.
2015-09-29 17:33:15 +10:00
Angus Gratton
cc20f8efca
NMIExceptionHandler: Don't save callee-saved registers, fix stack alignment
...
NMI routine sdk_wDev_ProcessFiq seems to be written in C, meets ABI
calling conventions for callee-saved registers. Not sure why SDK
handlers saved them.
NMI handler now also meets the ABI requirement that stack is 16 byte
aligned (doesn't seem strictly necessary, but can't hurt.)
2015-09-29 15:05:57 +10:00
Angus Gratton
3d7fa49083
NMIExceptionHandler: Clean up, refactor to use excsave3 for stack pointer
2015-09-29 14:37:33 +10:00
Angus Gratton
c0c775e77d
Add assembly code style to README & emacs dir-locals
2015-09-29 14:33:18 +10:00
Angus Gratton
23ea182e83
Simplify interrupt and RTOS timer tick handlers
...
RTOS Timer tick handler is now the same as any other ISR.
This causes a few subtle behaviour changes that seem OK but are worth noting:
* RTOS tick handler sdk__xt_timer_int() is now called from one stack
frame deeper (inside _xt_isr_handler()), whereas before it was called
from the level above in UserHandleInterrupt. I can't see any way that
the extra ~40 bytes of stack use here hurt, though.
* sdk__xt_timer_int() was previous called after all other interrupts
flagged in the handler, now it's called before the TIMER FRC1 & FRC2
handlers. The tick handler doesn't appear to do anything particularly
timing intensive, though.
* GPIO interrupt (value 3) is now lower priority than the SPI
interrupt (value 2), whereas before it would have been called before
SPI if both interrupts triggered at once.
2015-09-29 13:21:04 +10:00
Angus Gratton
9f7a5a7fdd
Consolidate interrupt management in core as esp/interrupts.h & esp_interrupts.c
2015-09-28 22:15:40 +10:00
Angus Gratton
606db46a89
Merge branch 'feature/mbedtls'
2015-09-28 13:29:38 +10:00
Angus Gratton
9f59dca90b
Update README regarding mbedTLS
2015-09-28 13:09:07 +10:00
Angus Gratton
e8a60268c5
Remove axTLS
2015-09-28 13:01:22 +10:00
Angus Gratton
5088e7e64b
hmac_test_vectors test: Replace axTLS with mbedTLS
2015-09-28 13:01:22 +10:00
Angus Gratton
4a3509d852
Add link to IRC channel
2015-09-25 18:26:57 +10:00
Angus Gratton
7ad7c1f5ad
Remove extraneous extras/ subdirs - all merged into cpp_support now
2015-09-25 18:26:51 +10:00
Angus Gratton
8e5221b894
Merge branch 'experiments/unaligned_load' into feature/mbedtls_notworking
2015-09-25 16:57:49 +10:00
Alex Stewart
ad7217404b
Code reformat/cleanup of exception_vectors.S
2015-09-24 22:43:29 -07:00
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
Angus Gratton
8f7f246a36
Refactor Hardware RNG functions to esp/hwrand.h
...
As suggested by @foogod, thanks!
2015-09-24 20:48:16 +10:00
Angus Gratton
8bcab35d51
Merge branch 'master' into feature/mbedtls
2015-09-24 20:40:36 +10:00
Angus Gratton
680047bc8d
Merge branch 'experiments/unaligned_load' into feature/mbedtls
2015-09-24 20:25:10 +10:00
Angus Gratton
d1e0ac0d36
Merge remote-tracking branch 'foogod/open-startup'
2015-09-24 08:32:32 +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
Angus Gratton
0f3b4d831c
bmp180: Fix more 'temperatue' typos (thanks @atomman)
2015-09-21 08:46:45 +10:00
Alex Stewart
0d0d9277db
Fix format strings in app_main.c
2015-09-20 14:09:30 -07:00
Alex Stewart
7b353b15d5
Merge branch 'master' into open-startup
2015-09-20 14:05:54 -07:00
Angus Gratton
7542e995ec
http_get_mbedtls: Add root cert used by howmyssl.com
2015-09-20 21:41:39 +10:00
Angus Gratton
5b67ca4f5f
Merge branch 'master' into feature/mbedtls
2015-09-20 21:26:29 +10:00
Angus Gratton
18381f88fe
mbedTLS: Add ESP8266 hardware entropy source discovered by @foogod
...
Addresses #3 , provided turns out to be an effective HWRNG.
2015-09-20 21:15:30 +10:00
Angus Gratton
9f5dedd1a8
Add initial mbedTLS and HTTPS example project (using howsmyssl.com JSON API)
...
mbedTLS version 2.1.0 (current stable)
Has some known issues/hacks:
* Entropy source not hooked in at all
* Linker script has a messy hack in it to store some (not all) data in
irom
2015-09-20 21:13:38 +10:00
Angus Gratton
68012041a7
Move start of IROM0 to 0x40220000, save 128kB of flash
...
Old starting point left 256kB for RAM sections, but I think they
shouldn't ever possibly exceed 128kB.
2015-09-20 21:13:38 +10:00
Angus Gratton
464359ea66
Compile with -ffunction-sectons -fdata-sections, link with -gc-sections
...
This seems to shrink code size by abou 3.5%. Not sure if there are any downsides.
2015-09-20 21:13:38 +10:00
Angus Gratton
1cbb34b9ab
Rename main.cpp in tasks example
2015-09-20 21:13:38 +10:00
Angus Gratton
77813c8032
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-20 21:13:38 +10:00