Commit graph

608 commits

Author SHA1 Message Date
Angus Gratton
04b119a61e Seed libc PRNG from hardware RNG on reset 2016-06-30 08:18:10 +10:00
sheinz
33b63d46a5 Reverse engineered some spi_flash functions 2016-06-29 00:47:14 +03: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
sheinz
ab795350fb Draft implementation of SPIFFS integration 2016-06-27 18:06:06 +03: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
Angus Gratton
b414e0b946 Add 'filteroutput.py' tool to automatically do addr2line lookups on likely hex values 2016-05-15 22:30:00 +10:00
Angus Gratton
f9fb0f212c Add stack memory dump to fatal exception handler 2016-05-15 22:24:40 +10:00
Angus Gratton
fd20b1a530 Add PHY hardware management for Bluetooth Coexistence pin choice 2016-05-15 22:21:10 +10:00
Angus Gratton
b61d06e940 Wrap structure around phy_info PHY initialisation settings
Add notes based on testing some of the values found there.
2016-05-15 22:21:10 +10:00
Angus Gratton
b2c032a867 Merge pull request #141 from SuperHouse/fix/travis_builds
Fix Travis toolchain build (again)
2016-05-15 22:20:40 +10:00
Angus Gratton
b83d4a4293 Travis: Update esp-open-sdk commit to work around rewritten history on submodule 2016-05-15 22:16:42 +10:00
Angus Gratton
57c718d835 Travis: Work around 4MB log limit when building all examples 2016-05-15 22:16:42 +10:00
Angus Gratton
fee987d5cf Startup code: Move user_start_phase2 to irom section
This saves 1020 bytes from the text (IRAM) section by preventing
inlining of user_start_phase2() (and dump_flash_config_sectors() as
well) into the IRAM function sdk_user_start().
2016-05-15 22:16:42 +10:00