Commit graph

1423 commits

Author SHA1 Message Date
Ivan Grokhotkov 066f3358a7 components/esp32: use APB_CLK_FREQ instead of a number 2016-09-14 17:54:34 +08:00
Ivan Grokhotkov 5ab769516d components/esp32: add CPU frequency selection in menuconfig
Note that with WiFi stack enabled, system_init will reset frequency to 240MHz.
To make this setting useful, esp32-wifi-libs submodule needs to be updated.
2016-09-14 17:54:34 +08:00
Wu Jian Gang 6bfe892099 esp32/lib: update to 1303c92c 2016-09-14 16:57:00 +08:00
Wu Jian Gang 6104370ac9 Merge branch 'feature/support_vendor_ie_api' into 'master'
esp32: add vendor ie API

1. add esp_wifi_set_vnd_ie
2. add esp_wifi_set_vnd_ie_cb

See merge request !75
2016-09-14 16:53:53 +08:00
qiyueixa 56586a10ac Format code by using 4 spaces instead 2016-09-14 15:18:06 +08:00
Wangjialin f32823ff6c modify character conversion error and typo 2016-09-14 13:47:28 +08:00
Wangjialin c13ab62e4c modify i2s_reg.h, rebase to master 2016-09-14 13:47:28 +08:00
Wangjialin 41d397cf3f Only modify headers in soc/ .
Pass compiling under esp-idf-tests/merge_soc_tmp/merge_for_soc_headers branch.(only change some names of register and INUM).
2016-09-14 13:47:28 +08:00
qiyueixa f02e5cdec7 Rename vender_ie_type_t and vendor_ie_id_t to wifi_vendor_ie_type_t and wifi_vendor_ie_id_t respectively 2016-09-14 13:39:30 +08:00
qiyueixa d866fe84a4 modify arguments for vendor ie APIs by using enum instead 2016-09-14 13:39:30 +08:00
Wu Jian Gang 01cc811ee0 esp32: fix typo 2016-09-14 13:26:17 +08:00
Wu Jian Gang c1a874fb9e esp32: fix kconfig 2016-09-14 12:55:41 +08:00
liuzhifu d2d231de29 define lwip task priority in esp_task.h 2016-09-14 12:00:46 +08:00
liuzhifu 8ed5010356 components: esp32 - fix build error 2016-09-14 12:00:46 +08:00
liuzhifu 2a15eda8bc components: esp32
Remove priority/stack definition of task that is freertos/lwip/app
2016-09-14 12:00:46 +08:00
liuzhifu 109691f9bc components: esp32
add missing file esp_task.h
2016-09-14 12:00:46 +08:00
liuzhifu 9cf997a6fc components: esp32/lwip
Add esp_task.h for placing all task priority/stack size macro definition
2016-09-14 12:00:46 +08:00
liuzhifu 56a684d9eb task priority: modify lwip/wifi/event task priority
1. Modify lwip core task priority to configMAX_PRIORITIES-7
2. Modify wifi startup task priority to configMAX_PRIORITIES-7
3. Modify event task priority to configMAX_PRIORITIES-4
2016-09-14 11:59:25 +08:00
Wu Jian Gang 058a411786 Merge branch 'feature/add_wifi_api_comments' into 'master'
Feature/add wifi api comments

Add wifi API comments


See merge request !63
2016-09-14 11:17:29 +08:00
Angus Gratton 66b6a4c642 Merge branch 'feature/esptool_upstream' 2016-09-14 10:28:41 +10:00
Wu Jian Gang ed8e8848e3 fix typos 2016-09-13 20:54:20 +08:00
Wu Jian Gang b56098a612 Merge remote-tracking branch 'origin/master' into feature/mbedtls 2016-09-13 16:31:48 +08:00
Wu Jian Gang bf5e83a6ed callback: add a void* pointer with each callback
also format event.c/wifi.c/esp_event.h/esp_wifi.h
2016-09-13 16:20:29 +08:00
Wu Jian Gang c56a790f64 header: callbacks use "void *" as arguments 2016-09-13 16:19:09 +08:00
Wu Jian Gang c5f8396df4 header: format and fix typos
SYSTEM_EVENT_STA_GOTIP to SYSTEM_EVENT_STA_GOT_IP
2016-09-13 16:17:41 +08:00
liuzhifu ded5df7513 add wifi api comments 2016-09-13 16:17:41 +08:00
liuzhifu b86e060647 add wifi api comments 2016-09-13 16:17:41 +08:00
Angus Gratton b6b83c33be Merge branch 'feature/bootloader_config' into 'master'
Add bootloader menuconfig entries

Adds log verbosity & ANSI coloring to menuconfig, also some cleanup in cpu_start.c

See merge request !79
2016-09-13 14:31:18 +08:00
Ivan Grokhotkov f9013d9ff8 Merge branch 'feature/dualcore_spi_flash_api' into 'master'
Dual core compatible spi flash APIs

Implementation of spi flash APIs which work in dual core mode.

This also includes other changes:
- fixes to FreeRTOS tasks.c made by Jeroen and me — these were originally made to fix issues with high priority tasks seen in WiFi stack, but were required to get stuff in ipc.c working as well
- initial base idea with two high-priority tasks was separated into a separate API — esp_ipc.h. That API allows one to run a function on the other CPU from a high-priority task. Because we don't have preemption across CPUs, this is currently not very fast: it requires on average half a tick until the second CPU switches to the high priority task. Currently that API can be either blocking, or non-blocking with queue length of 1. I haven't yet found a use case for arbitrary sized queue of IPC requests. Anyone who needs that can trivially add that later by replacing a binary semaphore with a generic queue.

With these changes i can run application with WiFi stack and NVS on both cores.

See merge request !25
2016-09-13 13:58:54 +08:00
Angus Gratton 7ba471d531 esp32 cpu_start: Include rom/uart.h, remove inline ROM function declarations 2016-09-13 14:18:17 +10:00
Ivan Grokhotkov 23d5c7579b components/esp32,spi_flash: update some comments 2016-09-12 20:02:51 +08:00
Ivan Grokhotkov 1b6022bd07 components/esp32: remove dependency of WIFI_ENABLED on FREERTOS_UNICORE 2016-09-12 19:53:38 +08:00
Wu Jian Gang 4598f9fc88 esp32/lib: Bump WiFi revision 2016-09-12 19:32:05 +08:00
Ivan Grokhotkov e9f2645b21 components/esp32: add inter-processor call API and implement spi_flash through it
With this change, flash operations can run on both cores.
NVS and WiFi stack can also run in dual core mode now.
2016-09-12 18:54:45 +08:00
Wu Jian Gang 19f9ca0200 Merge branch 'bugfix/wifi_revision' into 'master'
esp32/lib: Bump WiFi revision



See merge request !72
2016-09-12 18:52:40 +08:00
Jack bd8febe58c add MACRO to get flash pad number from efuse value 2016-09-12 17:47:50 +08:00
Jack d0442602c7 add comments to register read/write operations 2016-09-12 17:47:50 +08:00
Wu Jian Gang 04b53643ef header files: clean up
1. format;
2. Slow RTC memory reverse 2KB;
2016-09-12 17:47:50 +08:00
jack 24011ddd05 header files: modify rom code and soc header files
1. timer reg file for both time group 0 and time group 1, not only timer group 0
2. fix bug that io mux header file mismatch with chip
3. fix bug that some BASE address not correct
4. add some static function to eagle.fpga32.rom.addr.v7.ld
5. add interrupts usage table
6. add some comments for rom code functions
2016-09-12 17:47:49 +08:00
Jeroen Domburg fe3380d32e Merge branch 'bugfix/realloc' into 'master'
modify realloc behaves

 modify realloc behaves just like malloc when pass a null pointer for ptr.

See merge request !66
2016-09-12 17:08:57 +08:00
Angus Gratton fcf278848d Merge branch 'master' into feature/esptool_upstream 2016-09-12 18:02:10 +10:00
Angus Gratton 5810dbef05 make: Add macro to test for & try to fix up files required for submodules
Now applied to both esptool.py & esp32 wifi libs
2016-09-12 18:00:20 +10:00
Angus Gratton f293d530f8 esp32/lib: Bump WiFi revision 2016-09-12 17:31:43 +10:00
xiaxiaotian 7c607e4d63 Change the enum of wifi_storage_t to be the same as that in wifi lib. 2016-09-12 11:38:13 +08:00
liuhan 47db66e495 esp32: modify realloc behaves just like malloc when pass a null pointer for ptr. 2016-09-09 15:06:56 +10:00
Angus Gratton 46a9754b8e hwcrypto sha: Fix initialisation of SHA hardware in esp_shaX_start functions
Problem exposed by previous commit.
2016-09-09 14:27:53 +10:00
Angus Gratton 31e6b2cdb4 Merge branch 'master' into feature/mbedtls 2016-09-09 10:29:19 +10:00
Wu Jian Gang 95defc7d32 mbedtls: Use hardware accelerated AES, SHA, bignum 2016-09-08 17:41:43 +08:00
Angus Gratton 2211759cc0 hwcrypto aes: Fix bugs w/ ECB decrypt, CFB modes 2016-09-08 17:02:52 +08:00
Angus Gratton d951ab2661 hwcrypto aes: Performance tweak, only write key to hardware once
Shaves ~10% off time to compute AES-CBC
2016-09-08 16:47:37 +08:00
Angus Gratton a32e954f67 hwcrypto sha: Feed one block at a time to hardware SHA implementation
Fixes a bug where some longer block sizes produced incorrect results.
2016-09-08 16:47:34 +08:00
Angus Gratton 0a970e3a25 hwcrypto: Match API completely to mbedTLS naming conventions 2016-09-08 16:47:31 +08:00
Angus Gratton 2580c07ae6 esp32 hwcrypto: Make SHA-224 an obvious no-op for now
This is not the long term solution...
2016-09-08 16:47:28 +08:00
Angus Gratton 2bee84062a esp32: Add comment to ROM crypto functions recommending they not be used directly 2016-09-08 16:47:24 +08:00
Angus Gratton 0647d1e922 esp32 hwcrypto: Rework hardware crypto locking
Should protect against concurrent use of hardware crypto primitives,
with good performance.

Not necessary to call esp_aes_acquire_hardware(),
esp_sha_acquire_hardware(), etc when using these APIs. These are
provided for external users calling the hardware crypto hardware
directly, to coexist with this implementation.
2016-09-08 16:47:13 +08:00
Angus Gratton 4167b68eef esp32: Move hardware crypto implementation/headers to hwcrypto directories 2016-09-08 16:46:28 +08:00
Wu Jian Gang fc2bfc1f49 mbedtls: just format related files
method from !46
2016-09-08 16:46:25 +08:00
liuhan 1900c50d3b components/mbedtls: modify hardware encryption feature
rename "flag" and "keybites" in aes file,
rename "xxx_starts" and add license in sha file.
2016-09-08 16:45:51 +08:00
liuhan 2d80fada70 components/mbedtls: MBEDTLS Handshake result check
modify esp_config.h add some feature for support http2.0 protocol, TLS Handshake OK.
2016-09-08 16:45:44 +08:00
liuhan 0f83831c74 1. multi thread verify bignum AES and SHA 2016-09-08 16:45:23 +08:00
liuhan 98021903a2 recompile crypto and bignum function 2016-09-08 16:45:16 +08:00
Angus Gratton 3b1c3dab4b Name component makefiles component.mk instead of Makefile
Fixes problems with Eclipse trying to build in directories it shouldn't.

This is a breaking change for existing repositories, they need to rename
any component Makefiles to component.mk and rename their references to
$(IDF_PATH)/make/component.mk to $(IDF_PATH)/make/component_common.mk
2016-09-08 13:41:19 +10:00
Wu Jian Gang 80d60270bb event: not post got ip event if static is invalid 2016-09-06 19:36:03 +08:00
Wu Jian Gang df53d1588a tcpip_adapter: typedef clean up 2016-09-06 19:36:03 +08:00
Wu Jian Gang 1588d1aa6e event: post got ip event when use static ip
TW6926
2016-09-06 19:32:34 +08:00
xiaxiaotian 43d441d0f4 Change the type of authmode 2016-09-06 16:47:03 +08:00
xiaxiaotian 8622fda764 Change the type of authmode 2016-09-06 16:47:03 +08:00
xiaxiaotian 035a48f102 Post station's auth mode event after it is connected to AP. 2016-09-06 16:47:02 +08:00
xiaxiaotian c764683542 Add get station auth mode 2016-09-06 16:47:02 +08:00
Angus Gratton 166d876d90 Temporarily restrict WiFi stack to only run in single core more
See github #6.
2016-09-05 12:02:11 +10:00
Angus Gratton 587f90929c Minor comment cleanup 2016-09-05 11:50:53 +10:00
Angus Gratton 44ef108fd8 Bump WiFi libraries to latest 2016-09-05 10:54:43 +10:00
Angus Gratton 412fbffeae Makefiles: Fix case where updating the WiFi libraries directory didn't trigger a re-link 2016-09-05 10:49:12 +10:00
Angus Gratton cb6bd109f2 Merge wifi commit '87977b92f3e12cfca74cf2e4dea87dc8d60b26fc' into feature/wifi-stage-two 2016-09-05 10:42:17 +10:00
Angus Gratton 66956dbb7c Update WiFi library version.
This version compiles but does not startup with WiFi component enabled.
2016-09-02 11:59:21 +10:00
Angus Gratton 314dbc0b61 Minor comment cleanup
Remove old commented code, etc.
2016-09-02 11:33:53 +10:00
liuzhifu dddb9ace2e components: esp32
remove debug info in event.c/wifi.c
2016-09-02 11:16:37 +10:00
Angus Gratton 2f54d0e425 Merge wifi branch commit '588d384393536a040f899b382890316c56061b6a' into feature/wifi-stage-one 2016-09-02 11:14:27 +10:00
Angus Gratton fb87346864 Merge branch 'feature/newlib_locking' into 'master'
newlib locking support

Has matching tests here: http://gitlab.espressif.cn/idf/esp-idf-tests/commits/feature/newlib_locking_tests

This is ready, the "bug" I saw was me not understanding how newlib stream locking works (I still don't understand why it works like it does, but that's less important for now.)

See merge request !17
2016-09-01 16:17:22 +08:00
xiaxiaotian 869fe1647d WIFI API: esp_err_t esp_wifi_set_storage(wifi_storage_t storage);
1. Add the parameter type of api esp_wifi_set_storage.
2. WIFI_STORAGE_RAM means storing profiles in ram. WIFI_STORAGE_FLASH means storing profiles in flash.
2016-09-01 15:09:00 +08:00
Angus Gratton a825fe8703 md5_hash.h: Replace outdated use of c_types.h with stdint 2016-09-01 08:58:29 +10:00
Wu Jian Gang b56ca86571 wifi_lib: update to fbb084da 2016-08-31 23:25:29 +08:00
xiaxiaotian 8fe9347de2 Merge branch 'wifi' of ssh://gitlab.espressif.cn:27227/idf/esp-idf into wifi 2016-08-30 18:10:30 +08:00
xiaxiaotian e6d45cc91f 1. Add api ssc cmd "ap -K -a aid" to kick out connected station.
The parameter aid followed -a is aid of the connected station. If aid is 0, kick out all of the connected stations.
2. Add block parameter to api esp_wifi_scan_start.
   If block is true, the api blocks before scan done or returns directly.
2016-08-30 18:09:48 +08:00
liuzhifu 68bc7b4476 set sta gotip default event handler 2016-08-30 18:05:32 +08:00
liuzhifu 5068ff2be8 TW6785 - add sta auto connect api 2016-08-30 18:04:22 +08:00
liuzhifu a68ad74459 components:esp32 - notify wifi driver when sta got ip 2016-08-30 14:04:12 +08:00
liuzhifu f94a7a4d20 components: esp32 - notify wifi when got sta ip 2016-08-30 13:51:41 +08:00
rudi ;-) fa310016dd Update aes.h
found small mistake in it

we have:

PROVIDE ( ets_aes_crypt = 0x4005c9b8 );
PROVIDE ( ets_aes_disable = 0x4005c8f8 );
PROVIDE ( ets_aes_enable = 0x4005c8cc );
PROVIDE ( ets_aes_set_endian = 0x4005c928 );
PROVIDE ( ets_aes_setkey_dec = 0x4005c994 );
PROVIDE ( ets_aes_setkey_enc = 0x4005c97c );

Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
2016-08-27 22:17:23 +08:00
liuzhifu be87f38532 rename wifi_set_promiscuous_rx_cb wifi esp_wifi_set_promiscuous_rx_cb 2016-08-27 18:10:01 +08:00
Wu Jian Gang cb33a0fb9b tcpip_adapter: clean up dhcpc status
only auto start dhcpc in init status
2016-08-26 19:06:38 +08:00
liuzhifu ee8a0079bd components: esp32
remove debug info in event.c/wifi.c
2016-08-26 19:06:38 +08:00
Wu Jian Gang f81535a840 system api: clean unsupported system apis 2016-08-26 19:06:38 +08:00
Wu Jian Gang ec1869d43b add esp_intr.h 2016-08-26 19:06:38 +08:00
liuzhifu ad188c3854 Remove the workaround that erase flash before calling nvs_flash_init 2016-08-26 19:06:33 +08:00
liuzhifu 2ca1b738d3 modify APB_CLK_FREQ from 40M to 80M 2016-08-26 19:03:51 +08:00
liuzhifu ebfb8547d2 Implement ETS_INTR_ENABLE/ETS_INTR_DISABLE with xt_ints_on/xt_ints_off 2016-08-26 19:03:51 +08:00
liuzhifu dcc998c92f components: lwip/tcpip_adapter/freertos/esp32
Replace os_printf with printf
2016-08-26 19:03:51 +08:00
xiaxiaotian ef0cd1cde3 1. Remove ip member of struct station_info
2. Add struct station_list into tcpip_adapter layer
3. When ap -L cmd is received, get mac address from mac layer first and then search ip address based on mac address on dhcp layer.
2016-08-26 19:03:50 +08:00
xiaxiaotian c35b57ac7b 1. Move the structure pointer into the respective case statement. 2016-08-26 19:03:50 +08:00
xiaxiaotian 1325a761e9 add got ip event handler 2016-08-26 19:03:50 +08:00
liuzhifu 34ac96994b add debug info to wifi.c 2016-08-26 19:03:50 +08:00
Angus Gratton 96b9649aa4 newlib locking: Fix bug w/ _lock_close not clearing semaphore handle 2016-08-25 16:43:55 +08:00
Wu Jian Gang f4b3820ecd Merge branch 'feature/ld_change' into 'master'
update ld and heap region

Divide origin fpga ld to several lds,  choose specific ld for normal/BT/Trace by menuconfig, change iram/dram len in ld to full use hardware ram region.

See merge request !28
2016-08-25 15:52:11 +08:00
Wu Jian Gang 62296d9dfd mem: add comments for knock out 0x3ffe0000~0x3ffe8000
TODO: this region should be checked later
2016-08-25 11:59:29 +08:00
Wu Jian Gang 28865fcb0d mem: knock out bt/trace data region if configed in menuconfig 2016-08-25 11:35:06 +08:00
Wu Jian Gang ef36779bd3 ld: add ld for bt/trace, choose different ld by menuconfig 2016-08-25 11:34:21 +08:00
Angus Gratton 9e703612a7 Merge branch 'master' into feature/newlib_locking 2016-08-25 11:25:05 +08:00
Wu Jian Gang 3e8bb67e75 ld: fix ld to use ram as much as possible, rearrange heap_alloc area 2016-08-25 11:07:53 +08:00
Wu Jian Gang c3102e8fb2 ld: seperate/rename eagle.xxx.ld to esp32.xxx.ld 2016-08-25 11:07:53 +08:00
Ivan Grokhotkov 842bc53549 Merge branch 'bugfix/dualcore_startup' into 'master'
Fix dualcore startup

This MR includes:
- a workaround for a hardware bug with cache initialization
- fix of `#if CONFIG_WIFI_ENABLED` block in cpu_start.c for the case when WiFi is disabled.
- removal of miscellaneous delays in cpu_start.c

See merge request !22
2016-08-25 11:07:21 +08:00
Angus Gratton 8369d328ed Merge remote-tracking branch 'origin/bugfix/dualcore_startup' into feature/newlib_locking 2016-08-25 10:29:36 +08:00
Angus Gratton 700dbca4db newlib locking: Remove lock table, much simpler implementation. 2016-08-24 20:59:02 +08:00
Angus Gratton 4b281af0f7 newlib locking: Turns out the "hack" is the way to make stdout thread-safe in newlib 2016-08-24 18:13:10 +08:00
Ivan Grokhotkov 9e57466c96 components/esp32: fix DRAM_ATTR attribute
This change places contents of .dram1 section into .dram0.data.
Also removes .iram1pro/.iram1app/.dram1pro/.dram1app which weren't used anywhere.
2016-08-24 17:20:00 +08:00
Ivan Grokhotkov be112daa71 components/esp32: fix and clean up dual core startup
This change removes various delays in PRO and APP CPU startup paths.
Also some unused code and ets_printf statements are cleaned up or removed.
2nd CPU now communicates that it has started through a global variable.
2016-08-24 16:21:28 +08:00
Angus Gratton 94104f0fe8 Add hack of explicitly locking stdout
This shouldn't be necessary as stdout is already locked by libc (see
comment.) Not sure which part isn't working.
2016-08-24 13:49:17 +08:00
Angus Gratton bd2f9e03f0 Add newlib libc locking using FreeRTOS primitives 2016-08-24 13:49:17 +08:00
Angus Gratton 3b508c8b37 esp32 syscalls.c: Use rom/uart.h for uart_tx_one_char prototype 2016-08-24 13:49:17 +08:00
Jeroen Domburg d579040e32 Add cr after a lf is printed (configurable)
Formatting
2016-08-23 15:20:03 +08:00
Angus Gratton f853f94335 Use IDF_PATH instead of SDK_PATH for the environment variable pointing to esp-idf
This will require a matching change in all projects using ESP-IDF.
2016-08-19 15:01:49 +08:00
Angus Gratton fffba81bd3 Make: Add some "magic" to try and pull git submodules if missing 2016-08-19 15:01:15 +08:00
Ivan Grokhotkov bd6ea4393c Initial public version 2016-08-17 23:08:22 +08:00