Angus Gratton
7c02f88183
Add esp_gpio.c, including gpio_enable() function
...
Fix build broken since 812c2fef
(unclear why previous commits didn't break?)
2015-12-01 09:56:40 +11:00
Angus Gratton
33a92e8009
Travis: Verbose build output
2015-12-01 09:54:07 +11:00
Angus Gratton
08aa8141aa
Pass linker search paths with -L not -Wl,-L, so they take priority over sysroot
...
This fixes link-time errors where the toolchain used was esp-open-sdk
built with the default STANDALONE=y (meaning there are Espressif SDK
libs in the sysroot).
Closes #74
2015-12-01 09:44:50 +11:00
Angus Gratton
c0c3280d12
Removed INLINED (force inline) macro.
...
Progress towards #57 .
2015-11-28 18:01:03 +11:00
Angus Gratton
c58cc326dc
README: Make PATH step more explicit, as suggested on IRC
2015-11-28 16:33:39 +11:00
Angus Gratton
ad59322364
timers.h: Return error codes instead of true/false for failures
2015-11-28 16:33:39 +11:00
Angus Gratton
f993e51250
timers.h: Remove compile-time-auto-inlining complexity
...
Fixes bug mentioned in #72 (oops!), also progress towards #57 .
2015-11-28 16:32:52 +11:00
Angus Gratton
02e6a63a5a
stdin_uart_interrupt driver: Don't reset TX FIFO (loses output otherwise)
...
Fixes bug in 'terminal' example where banner message didn't print on startup.
Relates to #59 .
2015-11-21 17:13:08 +11:00
Angus Gratton
202101c890
terminal example: Remove unused BUFFER_SIZE macro, redundant setbuf
...
(Line-buffering is now disabled by default.)
Relates to #59 .
2015-11-21 17:11:41 +11:00
Johan Kanflo
ffa1550193
extras/stdin_uart_interrupt: stdin via IRQ driven RX driver on UART0
...
See examples/terminal/ for usage
2015-11-21 16:15:58 +11:00
Angus Gratton
e9d6e81b76
registers.h: Add i2s, SLC, RTC register headers
2015-11-20 17:56:38 +11:00
Angus Gratton
421acdc40f
RTC registers: Add some notes about other register values
...
Still patchy, but more towards #8 .
2015-11-20 17:49:46 +11:00
Angus Gratton
f146a3c0cd
Add in-progress RTC register header (some registers still undocumented)
...
Author for this work is @foogod, extracted from 1da996e
(open-libmain branch).
Progress towards #8 .
2015-11-20 17:31:11 +11:00
Angus Gratton
9cf558dc5d
Add SLC interrupt number 1. Closes #69
2015-11-20 17:25:15 +11:00
Alex Stewart
7dcb0aa520
Merge pull request #70 from DagAgren/master
...
Add I2S and SLC register headers
2015-11-19 12:25:30 -08:00
Dag Ågren
2b5d93baec
Add static asserts and create slc.h header for descriptor struct
2015-11-19 21:14:16 +02:00
Dag Agren
fd7745cdbc
Add I2S and SLC register headers
2015-11-16 00:20:16 +02:00
Angus Gratton
b5aa653b3f
Makefile CPPFLAGS: Don't need FLASH_SIZE defined any more
...
To determine flash size from inside a program, better to look via the
SPI flash header at this stage.
2015-11-13 12:20:05 +11:00
Angus Gratton
92eb02f17a
Simplify linker script to remove preprocessing, not check flash sizes
...
Memory layout is now split into two linker scripts for OTA vs
non-OTA (different starting offsets), remaining functionality in
common.ld.
As discussed in #64 , progress towards #38
2015-11-13 12:15:01 +11:00
Angus Gratton
959849d271
Linker script: Fix IROM0_LEN calculation
...
Use linker script arithmetic (yay?) to calculate flash size in bytes
from FLASH_SIZE in megabits.
Closes #64
2015-11-13 11:25:08 +11:00
Angus Gratton
140ce14ef6
GPIO2 UART iomux values: Remove _BLINK from macro name
...
This pin acts as a real TX not an activity LED as some pages suggest.
2015-10-28 20:31:50 +11:00
Angus Gratton
301372976d
iomux: Fix bug setting IOMUX_FUNC(4)
...
Function masking value was incorrect
2015-10-28 20:31:44 +11:00
Alex Stewart
783498e265
Add utils/addrsource
2015-10-27 12:14:08 -07:00
Angus Gratton
feea2e5d5f
serial_echo example: Remove setbuf() call as stdout no longer buffered by default
2015-10-27 13:36:51 +11:00
Angus Gratton
04df3640ce
Remove redundant symbols_norename.txt
...
No longer used, and all the symbols in those lists are found in newlib
libc or our own source code now.
2015-10-27 09:14:09 +11:00
Alex Stewart
1a48b54c99
Merge pull request #53 from SuperHouse/uart_h
...
Fix issue #52 . Add esp/uart.h
2015-10-10 22:04:53 -07:00
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