Commit graph

582 commits

Author SHA1 Message Date
Angus Gratton
72b61b17f8 Create a default FreeRTOSConfig.h, can override on a per-program basis
Closes #12
2015-06-16 17:28:32 +10:00
Angus Gratton
8478dfd92f Examples: Rename main.c files to more descriptive file names 2015-06-16 16:59:32 +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
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