Commit graph

466 commits

Author SHA1 Message Date
Angus Gratton
6c9d478336 open_esplibs: Add README and Copyright headers 2016-07-06 17:22:09 +10:00
Angus Gratton
678b59babf Honour values of configCPU_CLOCK_HZ & configTICK_RATE_HZ for tick rate
Fixes #147

* Can vary tick rate from 100Hz via configTICK_RATE_HZ. Note that the
  SDK binary libraries are hard-coded to assume the tick rate is 100Hz,
  so changing the tick rate may have unexpected consequences for lower
  layer WiFi behaviour (such as certain kinds of timeouts happening
  faster/slower.)

* Setting configCPU_CLOCK_HZ to 160MHz means ESP will set 160MHz during
  initialisation. Only 80MHz and 160MHz are supported.

* Timing of tasks is no longer affected by current CPU freq (whether set
  via configCPU_CLOCK_HZ or via sdk_system_update_cpu_freq().)
  Previously doubling the CPU frequency would double the tick rate.
2016-07-06 17:22:09 +10:00
Angus Gratton
701a4c4284 sdk_system_rtc_mem_read: Fix destination buffer pointer 2016-07-06 17:21:34 +10:00
Angus Gratton
e3827b2f1c Fix rboot-api sdk_spi_flash_read pointer types 2016-07-06 17:21:34 +10:00
Alex Stewart
8c9a77efe8 Added first half of RE'd user_interface.c 2016-07-06 17:21:34 +10:00
Alex Stewart
3e5af479bc Add conditional compilation for open_esplib code 2016-07-06 17:21:34 +10:00
Alex Stewart
4d6fa0ccfa Misc post-merge fixups 2016-07-06 17:21:34 +10:00
Alex Stewart
eee4a3660c Rename opensdk dir to open_esplibs 2016-07-06 17:21:34 +10:00
Alex Stewart
2ecbf1d584 First batch of opensdk additions
Replacements for:
    libmain/misc.o
    libmain/os_cpu_a.o
    libmain/spi_flash.o
    libmain/timers.o
    libmain/uart.o
    libmain/xtensa_context.o
2016-07-06 17:21:34 +10:00
Angus Gratton
78c5b43a40 Merge pull request #155 from SuperHouse/libc_hwrand
Seed libc PRNG from hardware RNG on reset
2016-07-06 17:18:45 +10:00
Angus Gratton
04b119a61e Seed libc PRNG from hardware RNG on reset 2016-06-30 08:18:10 +10:00
Angus Gratton
15964efc0f Merge pull request #149 from iosen/sntp-pbuf-free
sntp: free the pbuf after sending the request
2016-06-28 17:10:01 +10:00
Angus Gratton
587c867d4b queue.h: Re-add the BSD Copyright notice to queue.h from Espressif's SDK.
Thanks @pfalcon for the heads-up on this:
https://groups.google.com/forum/#!topic/esp8266-re/I4iO3fM0mmA
2016-06-28 10:24:43 +10:00
iosen
37180024f4 sntp: free the pbuf after sending the request
Fixes a memory leak.
2016-06-26 21:36:04 +10:00
Angus Gratton
26dd3f1c79 Merge pull request #150 from kanflo/mqtt_fix
Call DisconnectNetwork(...) before MQTT reconnect
2016-06-23 17:23:24 +10:00
Johan Kanflo
3c875cc418 Call DisconnectNetwork(...) before MQTT reconnect 2016-06-21 20:43:02 +02:00
Alex Stewart
c61f39bb1d Merge pull request #145 from svenschwermer/svenschwermer-patch-1
Set correct base address for register HOST_INF_SEL
2016-06-02 18:49:08 -07:00
Sven
c63b1cfa66 Set correct base address for register HOST_INF_SEL 2016-05-31 21:10:14 +02:00
Raphael Luckom
0734fa4166 correct timebase in sys_arch.c
sys_now() now returns ms.
2016-05-28 15:14:05 +10:00
Angus Gratton
4b39a0e6ca Merge pull request #136 from SuperHouse/feature/ota_improvements
OTA improvements, always enable OTA mode
2016-05-28 12:46:58 +10:00
Angus Gratton
230aa9fd37 Add new "RAM" storage macro for putting constant data in RAM
Also update comments in common_macros.h following #142
2016-05-28 12:39:56 +10:00
Angus Gratton
34094d233c Travis: build rboot bootloader as part of automated build 2016-05-28 11:32:16 +10:00
Angus Gratton
7fe2020785 ota_basic example: Update TFTP client calls 2016-05-28 11:27:10 +10:00
Kenshi Kawaguchi
84856f80a9 ota_tftp_download takes an optional receive_cb that will report on the status of the TFTP transfer 2016-05-28 11:27:10 +10:00
Angus Gratton
d62fd4899a ota_basic example cleanup 2016-05-28 11:27:10 +10:00
Angus Gratton
d9202af2aa Use latest upstream rboot, always build with OTA - use prebuilt rboot if
none is compiled locally.
2016-05-28 11:27:10 +10:00
Angus Gratton
1f1881a452 rboot-ota: Always put a checksum in rboot config
Means bootloader will still work if configured to verify the checksum
2016-05-28 11:27:10 +10:00
Angus Gratton
53b2b50241 rboot: Add cryptographic digest support for OTA images & SHA256 example 2016-05-28 11:27:10 +10:00
Angus Gratton
03559de5cb Move rboot_verify_image to rboot-api
Removes rboot-integration.c, removes need for clients to include rboot-integration.h
2016-05-28 11:27:10 +10:00
Angus Gratton
6eceb5843c OTA: Move OTA-aware Cache_Read_Enable to core
Otherwise images built with OTA=1 are only OTA-suitable if they also
link rboot-ota.
2016-05-28 11:27:10 +10:00
Angus Gratton
e671927bd0 OTA: Add TFTP client mode, expand ota_basic example. 2016-05-28 11:27:10 +10:00
Angus Gratton
a3956af4ca Bootloader: Integrate rboot directly as 'bootloader' component
Currently using unpatched upstream rboot, but modified to build without esptool2.
2016-05-28 11:27:10 +10:00
Angus Gratton
f38bb74593 OTA Images: Use esptool.py elf2image --version=2 instead of requiring esptool2 2016-05-28 11:27:10 +10:00
Angus Gratton
b9f8e8a648 spi_flash.h: Add note that pointers need to be word-aligned 2016-05-28 11:27:10 +10:00
Angus Gratton
b304f65c21 Merge pull request #142 from SuperHouse/feature/rodata_defaults_flash
Store .rodata in flash by default
2016-05-28 11:25:45 +10:00
Angus Gratton
f0db26604f brk/malloc: Allow malloc to fail when out of RAM
Fixes #76.
2016-05-27 12:09:07 +10:00
Angus Gratton
d5221e7efa mbedtls: Remove WIN32 #ifdef sections, use socket's SO_ERROR flag over errno when possible 2016-05-27 11:51:11 +10:00
Angus Gratton
367c17d1cf lwip: Fix 'errno' not being set by sockets layer 2016-05-27 11:51:04 +10:00
Angus Gratton
d72aedf7b1 Store .rodata in flash by default
Closes #11
2016-05-23 15:20:06 +10:00
Angus Gratton
3ba19d7c4e Merge pull request #137 from SuperHouse/feature/better_crash_dumps
Better crash dumps
2016-05-17 09:38:19 +10:00
Angus Gratton
1e9296f60c Fatal exceptions: Cleanly deal with exceptions that occur inside fatal_exception_handler_inner()
In case of heap corruption or some other major problem, dumping details
in the exception handler can cause a crash loop - so fail out if we seem
to be going in circles.
2016-05-17 09:27:31 +10:00
Angus Gratton
3da022c132 Merge pull request #135 from SuperHouse/feature/phy
PHY management features
2016-05-16 07:51:44 +10:00
Drasko DRASKOVIC
e7607ffc2b Add JSON support
This commits adds JSON support by adding Jsmn
(http://zserge.com/jsmn.html), a minimalistic JSON parser.

Signed-off-by: Drasko DRASKOVIC <drasko.draskovic@gmail.com>
2016-05-15 22:32:14 +10:00
Angus Gratton
981c87899b Add heap information to fatal exception & abort dumps 2016-05-15 22:30:01 +10:00
Angus Gratton
efedd24624 fatal exception handler: Only dump "registers" from stack for fatal user exceptions 2016-05-15 22:30:01 +10:00
Angus Gratton
36886412e6 Add abort() implementation
Also reduces the IRAM footprint of the fatal exception handler, as only
the prelude (which disables interrupts & enables the flash mapping) is
in IRAM now.

Closes #54, relevant to #133.
2016-05-15 22:30:01 +10:00
Angus Gratton
cf350efd8a Dump register state on fatal exception 2016-05-15 22:30:01 +10:00
Angus Gratton
52f9b13faf Break out debug dump functions into their own compilation unit 2016-05-15 22:30:01 +10:00
Angus Gratton
640609c3f5 lwip sys_arch: Add functional xInsideISR implementation
Relies on global flags set when the user ISR is executing.

Unclear if this fixes any bugs as ISR code may not have been calling
into LWIP, but the previous implementation was broken.
2016-05-15 22:30:01 +10:00
Angus Gratton
0caab973a5 Recompile libc with malloc locking enabled
newlib-xtensa revision cbe80794ed0083

This fixes a crash caused by heap operations occuring inside
ISRs. Particularly noticeable when sending a lot of network
traffic. Probably fixes #119, maybe other crashing bugs.

Configure/compile steps same as previous:

../configure --with-newlib --enable-multilib
--disable-newlib-io-c99-formats --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 --prefix=path_to/esp-open-rtos/libc

CROSS_CFLAGS="-DSIGNAL_PROVIDED -DABORT_PROVIDED" make
make install
2016-05-15 22:30:01 +10:00