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
4217a1029e
xtensa_interrupts: Add _xt_disable_interrupts/_xt_restore_interrupts inline functions
2015-06-18 11:30:13 +10:00
Angus Gratton
a3c4469b1f
Add a linker script comment for all the patched newlib _lock_xxx symbols
2015-06-16 16:34:13 +10:00
Angus Gratton
b7b16de429
Alias ets_printf directly to printf at link time
...
I thought maybe ets_printf had some special properties, but it doesn't
seem to have any so far.
2015-06-16 16:22:55 +10:00
Angus Gratton
2e51f7b164
http_get_ssl example: Fix name of output elf file
2015-06-16 14:23:48 +10:00
Angus Gratton
93dc7edead
Grow linker script irom section for 512KB flash chip
...
Necessary to fit http_get_ssl example, newlib string functions are
larger than espressif SDK implementations.
2015-06-16 14:23:47 +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
f0b5bc324c
Implement xPortGetFreeHeapSize when using libc memory management
2015-06-16 14:20:52 +10:00
Angus Gratton
49268a33e1
Link against newlib from esp-open-sdk's libcirom, replace FreeRTOS heap management.
...
Compiles and runs, expects xtensa lock.c patch in newlib (will still run
otherwise but malloc/free and other functions will be non-memory-safe...)
2015-06-16 14:20:24 +10:00
Angus Gratton
1b0124cf05
Timer FRC1 & FRC2 registers
...
Mostly determined from reverse engineering and poking around.
Includes first "experiments" program with random bits and pieces for
poking at registers, may be useful to keep in source control but not
useful for writing actual programs.
2015-06-12 17:05:54 +10:00
Angus Gratton
8f3111c5e1
Add local.mk to gitignore
2015-06-12 10:40:35 +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
47a7bb1952
blink example: Remove stray gpio_enable call
2015-06-12 09:57:32 +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
b3aa4eedd3
Change github URLs to use HTTPS not ssh
...
Thanks again to vic for pointing this out!
2015-06-12 07:44:16 +10:00
Angus Gratton
5e08256849
Add note about building esp-open-sdk with STANDALONE=n
...
(thanks vic on esp8266.com for pointing this out)
2015-06-12 07:42:44 +10:00
Angus Gratton
6a5866aa55
http examples: don't write NULs to sockets
...
Thanks @pfalcon for the heads-up.
2015-06-09 09:03:56 +10:00
Angus Gratton
c09167715e
Indentation fixes
...
- Fix dir-locals so emacs won't inject occasional tabs to case statements.
- Fix stray tab indentation in example programs. (Thx @pfalcon for pointing this out)
2015-06-09 09:00:32 +10:00
Angus Gratton
a59b1565e4
Better comments on esp_gpio_interrupts.c
2015-06-08 18:33:56 +10:00
Angus Gratton
0078252df3
Add GPIO config, interrupt registers, GPIO interrupt support, 'button' example
2015-06-08 18:20:29 +10:00
Angus Gratton
822533fd92
Interrupt support refactor
...
Write inline versions for SDK-based interrupt convenience functions.
2015-06-08 18:20:29 +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
a476fb007e
Fix IROM macro
2015-06-08 17:58:10 +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
5cb37060cd
Readme: Add third party libraries link and axTLS
2015-06-03 14:45:31 +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
4790654bc2
Add actual LICENSE file
2015-06-03 07:53:55 +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
9e3328abe8
Add 'examples' top level Makefile for building all examples together
2015-06-02 17:56:41 +10:00
Angus Gratton
70cec6c3b7
Rename the sdk_prototypes header to sdk_private
2015-06-02 17:15:00 +10:00
Angus Gratton
1292829a07
Add hmac test vector test program
2015-06-02 17:15:00 +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
93c3e1a53a
Add http_get_ssl example
2015-06-02 17:12:20 +10:00
Angus Gratton
52d6bbea51
lwip config: Reduce default DNS result cache size to save RAM
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
c19346fa23
Update axtls module with embedded-friendly tweaks
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
6e44ce3d11
Add axTLS git-svn mirror repo as submodule
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
b8576dd554
Fix errno
2015-06-02 15:08:35 +10:00