Commit graph

83 commits

Author SHA1 Message Date
Angus Gratton
87dc2317f5 Support building an OTA-compatible flash image
Image is suitable for SDK v1.2 bootloader or rBoot.
2015-07-21 15:27:19 +10:00
Angus Gratton
5bbbc1f144 Run linker scripts via C preprocessor 2015-07-21 15:27:19 +10:00
Angus Gratton
86188c01fd Merge branch 'newlib' 2015-07-15 16:01:18 +10:00
Angus Gratton
689cf874b2 Provide our own newlib libc
Newlib 2.2.0 w/ nan ofeatures, xtensa patches, locking
implementation.

Built from https://github.com/projectgus/newlib-xtensa
branch xtensa-2_2_0-lock
commit daa6ae40cdc8099f54c3e68a586fc1b906169c5a

For more details, see:
https://github.com/SuperHouse/esp-open-rtos/wiki/libc-configuration

Closes #1
2015-07-15 15:17:59 +10:00
Angus Gratton
a566a51c09 Use linker scripts rather than libcirom/objcopy tricks to arrange
IRAM/IROM sections.

esp-open-rtos compiled code: .text goes into irom by default, symbols
explicitly marked with IRAM attribute go into iram.

SDK code: .text goes into iram by default, symbols marked with
ICACHE_FLASH_ATTR go into irom.

libgcc functions also go into iram by default.
2015-07-09 13:58:41 +10:00
Angus Gratton
f0db6f2b98 WiFi Examples: Load SSID & password from a common local.h file instead
of coding into program
2015-06-16 16:58:27 +10:00
Angus Gratton
aaef4b0644 Replace all binary SDK libc functions with newlib
Adds a new build step to remove the SDK object files listed in
<libname>.remove.

Closes #1.
2015-06-16 14:21:24 +10:00
Angus Gratton
b4cbd2712e Makefile tweaks for xxx_SRC_FILES search path & error reporting 2015-06-12 10:27:14 +10:00
Angus Gratton
685a48583a Change 'TARGET' in makefiles to 'PROGRAM', keep consistent with documentation terminology 2015-06-12 10:26:02 +10:00
Angus Gratton
f7c4b6d550 Dependencies: Rebuild component if its makefile changes, or if common.mk/local.mk changes 2015-06-12 09:51:25 +10:00
Angus Gratton
f34e229bbc Allow specifying list of files in Makefiles as alternative to dirs
Also allow xx_EXTRA_SRC_FILES
Let target component use name TARGET so TARGET_EXTRA_SRC_FILES, TARGET_SRC_DIR, etc.
2015-06-12 08:12:47 +10:00
Angus Gratton
0dbb6d31a5 Add IRAM attribute for IRAM loaded symbols, add to common FreeRTOS functions
Closes #7.

It'd be nice to change the linker script so .text is always linked to
IROM instead of needing to objcopy each compiled file. The sticking
point for this is libgcc & libhal, which have symbols in .text that need
to be loaded to IRAM.
2015-06-08 18:19:59 +10:00
Angus Gratton
2c46be9825 Basic support for GPIOs 0-15.
Start new 'core' component for low-level parts

Progress towards #8
2015-06-08 12:09:34 +10:00
Angus Gratton
b01e7a89bd Rearrange make order so user program gets compiled first (most likely to have compiler error) 2015-06-05 15:35:04 +10:00
Angus Gratton
a173ffa81d Remove custom entry point, pending merge of esptool.py patch adding --entry-symbol option 2015-06-03 14:29:56 +10:00
Angus Gratton
1ee7222509 Add wiki link, clean up README a bit 2015-06-03 09:15:56 +10:00
Angus Gratton
1bfe1c5147 Fix makefile local.mk usage 2015-06-03 09:14:50 +10:00
Angus Gratton
9120590caa Fix up submodule paths, add some hints for submodule usage 2015-06-02 18:51:22 +10:00
Angus Gratton
b92fd8a872 Tweak // path argument in makefile 2015-06-02 18:03:16 +10:00
Angus Gratton
81afe58334 Change symbol extraction to use objdump not nm
nm outputs warnings to stderr so hard to clean output.

Also now picks up global variables, like NMIIrqOn.
2015-06-02 17:57:33 +10:00
Angus Gratton
c126fa6430 Add README, 'make help', header comments, Copyright notices 2015-06-02 17:12:20 +10:00
Angus Gratton
c8bc934b3d Fixup git revision in axTLS output 2015-06-02 17:12:20 +10:00
Angus Gratton
3fcec6106f Swap binary axTLS libssl for direct compiled version 2015-06-02 17:12:20 +10:00
Angus Gratton
98730b96b5 Add axTLS version.h file, embed git revision in version 2015-06-02 17:09:54 +10:00
Angus Gratton
e743d03a78 Preprocess all binary SDK symbols to add an sdk_ prefix
* This fixes the problem of axTLS symbols hmac_md5/hmac_sha1 having same
  name as symbols in libwpa (which have incompatible signatures)

* Also allows for easier identification and piece-by-piece removal of
  binary functions.

* Some libc symbols are not renamed, list is in lib/symbols_norename.txt
2015-06-02 15:08:35 +10:00
Angus Gratton
05019cb0ee Remove cJSON blob (can re-add later from source) 2015-06-02 15:08:35 +10:00
Angus Gratton
dc4ca6861f Remove udhcp (DHCP server support) as it's a GPL violation :( 2015-06-02 15:08:35 +10:00
Angus Gratton
2449914df1 Makefile: Add 'size' target 2015-06-02 15:08:35 +10:00
Angus Gratton
156143d850 Allow parallel 'make rebuild' 2015-06-02 15:08:35 +10:00
Angus Gratton
806962d5c7 Replace lwip SDK blob with lwip 1.4.1 upstream source
Compiles but won't work yet
2015-06-02 15:08:26 +10:00
Angus Gratton
496c5a8330 Heavily rework Makefile to support 'components' of source code to build independently, etc. 2015-06-02 15:08:03 +10:00
Angus Gratton
d68970d51b Add example HTTP client 2015-06-02 15:07:54 +10:00
Angus Gratton
c2bdc4bf96 Change main Makefile to common.mk, add per-example Makefile that
includes common.mk
2015-05-07 15:58:01 +10:00