From a212228147e67965f2aa5019fb5d64eef3bdfa50 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Thu, 5 Sep 2019 13:23:58 +0200 Subject: [PATCH] cpu/esp8266: files that are not needed any longer removed --- cpu/esp8266/include/gpio_common.h | 54 ---- cpu/esp8266/include/sys/_intsup.h | 228 -------------- cpu/esp8266/include/user_config.h | 36 --- cpu/esp8266/ld/eagle.rom.addr.v6.ld | 350 ---------------------- cpu/esp8266/ld/esp8266.riot-os.sdk.app.ld | 322 -------------------- cpu/esp8266/periph_cpu.c | 22 -- cpu/esp8266/sdk/ets_task.c | 198 ------------ cpu/esp8266/sdk/ets_task.h | 61 ---- cpu/esp8266/sdk/lwip.c | 220 -------------- cpu/esp8266/sdk/main.c | 202 ------------- cpu/esp8266/sdk/main.h | 65 ---- cpu/esp8266/sdk/phy.c | 24 -- cpu/esp8266/sdk/pp.c | 24 -- cpu/esp8266/sdk/pp.h | 46 --- cpu/esp8266/sdk/rom.c | 24 -- cpu/esp8266/sdk/rom.h | 95 ------ cpu/esp8266/sdk/user.c | 64 ---- cpu/esp8266/vendor/esp/Makefile | 3 - 18 files changed, 2038 deletions(-) delete mode 100644 cpu/esp8266/include/gpio_common.h delete mode 100644 cpu/esp8266/include/sys/_intsup.h delete mode 100644 cpu/esp8266/include/user_config.h delete mode 100644 cpu/esp8266/ld/eagle.rom.addr.v6.ld delete mode 100644 cpu/esp8266/ld/esp8266.riot-os.sdk.app.ld delete mode 100644 cpu/esp8266/periph_cpu.c delete mode 100644 cpu/esp8266/sdk/ets_task.c delete mode 100644 cpu/esp8266/sdk/ets_task.h delete mode 100644 cpu/esp8266/sdk/lwip.c delete mode 100644 cpu/esp8266/sdk/main.c delete mode 100644 cpu/esp8266/sdk/main.h delete mode 100644 cpu/esp8266/sdk/phy.c delete mode 100644 cpu/esp8266/sdk/pp.c delete mode 100644 cpu/esp8266/sdk/pp.h delete mode 100644 cpu/esp8266/sdk/rom.c delete mode 100644 cpu/esp8266/sdk/rom.h delete mode 100644 cpu/esp8266/sdk/user.c delete mode 100644 cpu/esp8266/vendor/esp/Makefile diff --git a/cpu/esp8266/include/gpio_common.h b/cpu/esp8266/include/gpio_common.h deleted file mode 100644 index 7e9116d1c6..0000000000 --- a/cpu/esp8266/include/gpio_common.h +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266 - * @{ - * - * @file - * @brief Low-level GPIO driver implementation for ESP8266 - * - * @author Gunar Schorcht - * @} - */ - -#ifndef GPIO_COMMON_H -#define GPIO_COMMON_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** Map of GPIO pin numbers to IOMUX pin numbers */ -extern const uint8_t _gpio_to_iomux[]; -/** Map of IOMUX pin numbers to GPIO pin numbers */ -extern const uint8_t _iomux_to_gpio[]; - -/** - * @brief Definition of possible GPIO usage types - */ -typedef enum -{ - _GPIO = 0, /**< pin used as standard GPIO */ - _I2C, /**< pin used as I2C signal */ - _PWM, /**< pin used as PWM output */ - _SPI, /**< pin used as SPI interface */ - _SPIF, /**< pin used as SPI flash interface */ - _UART, /**< pin used as UART interface */ -} _gpio_pin_usage_t; - -/** - * Holds the usage type of each GPIO pin - */ -extern _gpio_pin_usage_t _gpio_pin_usage [GPIO_PIN_NUMOF]; - -#ifdef __cplusplus -} -#endif - -#endif /* GPIO_COMMON_H */ diff --git a/cpu/esp8266/include/sys/_intsup.h b/cpu/esp8266/include/sys/_intsup.h deleted file mode 100644 index ac1b174756..0000000000 --- a/cpu/esp8266/include/sys/_intsup.h +++ /dev/null @@ -1,228 +0,0 @@ -/* - * Copyright (c) 2004, 2005 by - * Ralf Corsepius, Ulm/Germany. All rights reserved. - * - * Permission to use, copy, modify, and distribute this software - * is freely granted, provided that this notice is preserved. - */ - -/** - * @brief Modified _intsup.h for compilation with RIOT OS - * Source: /path/to/newlib-xtensa/xtensa-lx106-elf/include/sys - * Changes: __INT32 (see below) - */ - -#ifndef SYS__INTSUP_H -#define SYS__INTSUP_H - -#ifndef DOXYGEN - -#ifdef __cplusplus -extern "C" { -#endif - -/* additional header guard to avoid conflicts if original file is included later */ -#ifndef _SYS__INTSUP_H -#define _SYS__INTSUP_H - -#include - -#if __GNUC_PREREQ (3, 2) -/* gcc > 3.2 implicitly defines the values we are interested */ -#define __STDINT_EXP(x) __##x##__ -#else -#define __STDINT_EXP(x) x -#include -#endif - -/* Determine how intptr_t and intN_t fastN_t and leastN_t are defined by gcc - for this target. This is used to determine the correct printf() constant in - inttypes.h and other constants in stdint.h. - So we end up with - ?(signed|unsigned) char == 0 - ?(signed|unsigned) short == 1 - ?(signed|unsigned) int == 2 - ?(signed|unsigned) short int == 3 - ?(signed|unsigned) long == 4 - ?(signed|unsigned) long int == 6 - ?(signed|unsigned) long long == 8 - ?(signed|unsigned) long long int == 10 - */ -#pragma push_macro("signed") -#pragma push_macro("unsigned") -#pragma push_macro("char") -#pragma push_macro("short") -#pragma push_macro("__int20") -#pragma push_macro("int") -#pragma push_macro("long") -#undef signed -#undef unsigned -#undef char -#undef short -#undef int -#undef __int20 -#undef long -#define signed +0 -#define unsigned +0 -#define char +0 -#define short +1 -#define __int20 +2 -#define int +2 -#define long +4 -#if (__INTPTR_TYPE__ == 8 || __INTPTR_TYPE__ == 10) -#define _INTPTR_EQ_LONGLONG -#elif (__INTPTR_TYPE__ == 4 || __INTPTR_TYPE__ == 6) -#define _INTPTR_EQ_LONG -/* Note - the tests for _INTPTR_EQ_INT and _INTPTR_EQ_SHORT are currently - redundant as the values are not used. But one day they may be needed - and so the tests remain. */ -#elif __INTPTR_TYPE__ == 2 -#define _INTPTR_EQ_INT -#elif (__INTPTR_TYPE__ == 1 || __INTPTR_TYPE__ == 3) -#define _INTPTR_EQ_SHORT -#else -#error "Unable to determine type definition of intptr_t" -#endif -#if (__INT32_TYPE__ == 4 || __INT32_TYPE__ == 6) -#define _INT32_EQ_LONG -#elif __INT32_TYPE__ == 2 -/* Nothing to define because int32_t is safe to print as an int. */ -#else -#error "Unable to determine type definition of int32_t" -#endif - -#if (__INT8_TYPE__ == 0) -#define __INT8 /* "hh" */ /* ets_printf doesn't support "h" */ -#elif (__INT8_TYPE__ == 1 || __INT8_TYPE__ == 3) -#define __INT8 /* "h" */ /* ets_printf doesn't support "h" */ -#elif (__INT8_TYPE__ == 2) -#define __INT8 -#elif (__INT8_TYPE__ == 4 || __INT8_TYPE__ == 6) -#define __INT8 "l" -#elif (__INT8_TYPE__ == 8 || __INT8_TYPE__ == 10) -#define __INT8 "ll" -#endif -#if (__INT16_TYPE__ == 1 || __INT16_TYPE__ == 3) -#define __INT16 /* "h" */ /* ets_printf doesn't support "h" */ -#elif (__INT16_TYPE__ == 2) -#define __INT16 -#elif (__INT16_TYPE__ == 4 || __INT16_TYPE__ == 6) -#define __INT16 "l" -#elif (__INT16_TYPE__ == 8 || __INT16_TYPE__ == 10) -#define __INT16 "ll" -#endif -#if (__INT32_TYPE__ == 2) -#define __INT32 -#elif (__INT32_TYPE__ == 4 || __INT32_TYPE__ == 6) -/** - * Definition of __INT32 had to be changed since to avoid format warnings/ - * errors since xtensa-lx106-elf-gcc defines *__INT32_TYPE__* as *long int* - * while newlib defines *int32_t* as *signed int*. PRI*32 there throw format - * warnings/errors. - */ -#if 0 -#define __INT32 "l" -#else -#define __INT32 -#endif -#elif (__INT32_TYPE__ == 8 || __INT32_TYPE__ == 10) -#define __INT32 "ll" -#endif -#if (__INT64_TYPE__ == 2) -#define __INT64 -#elif (__INT64_TYPE__ == 4 || __INT64_TYPE__ == 6) -#define __INT64 "l" -#elif (__INT64_TYPE__ == 8 || __INT64_TYPE__ == 10) -#define __INT64 "ll" -#endif -#if (__INT_FAST8_TYPE__ == 0) -#define __FAST8 /* "hh" */ /* ets_printf doesn't support "h" */ -#elif (__INT_FAST8_TYPE__ == 1 || __INT_FAST8_TYPE__ == 3) -#define __FAST8 /* "h" */ /* ets_printf doesn't support "h" */ -#elif (__INT_FAST8_TYPE__ == 2) -#define __FAST8 -#elif (__INT_FAST8_TYPE__ == 4 || __INT_FAST8_TYPE__ == 6) -#define __FAST8 "l" -#elif (__INT_FAST8_TYPE__ == 8 || __INT_FAST8_TYPE__ == 10) -#define __FAST8 "ll" -#endif -#if (__INT_FAST16_TYPE__ == 1 || __INT_FAST16_TYPE__ == 3) -#define __FAST16 /* "h" */ /* ets_printf doesn't support "h" */ -#elif (__INT_FAST16_TYPE__ == 2) -#define __FAST16 -#elif (__INT_FAST16_TYPE__ == 4 || __INT_FAST16_TYPE__ == 6) -#define __FAST16 "l" -#elif (__INT_FAST16_TYPE__ == 8 || __INT_FAST16_TYPE__ == 10) -#define __FAST16 "ll" -#endif -#if (__INT_FAST32_TYPE__ == 2) -#define __FAST32 -#elif (__INT_FAST32_TYPE__ == 4 || __INT_FAST32_TYPE__ == 6) -#define __FAST32 "l" -#elif (__INT_FAST32_TYPE__ == 8 || __INT_FAST32_TYPE__ == 10) -#define __FAST32 "ll" -#endif -#if (__INT_FAST64_TYPE__ == 2) -#define __FAST64 -#elif (__INT_FAST64_TYPE__ == 4 || __INT_FAST64_TYPE__ == 6) -#define __FAST64 "l" -#elif (__INT_FAST64_TYPE__ == 8 || __INT_FAST64_TYPE__ == 10) -#define __FAST64 "ll" -#endif - -#if (__INT_LEAST8_TYPE__ == 0) -#define __LEAST8 /* "hh" */ /* ets_printf doesn't support "h" */ -#elif (__INT_LEAST8_TYPE__ == 1 || __INT_LEAST8_TYPE__ == 3) -#define __LEAST8 /* "h" */ /* ets_printf doesn't support "h" */ -#elif (__INT_LEAST8_TYPE__ == 2) -#define __LEAST8 -#elif (__INT_LEAST8_TYPE__ == 4 || __INT_LEAST8_TYPE__ == 6) -#define __LEAST8 "l" -#elif (__INT_LEAST8_TYPE__ == 8 || __INT_LEAST8_TYPE__ == 10) -#define __LEAST8 "ll" -#endif -#if (__INT_LEAST16_TYPE__ == 1 || __INT_LEAST16_TYPE__ == 3) -#define __LEAST16 /* "h" */ /* ets_printf doesn't support "h" */ -#elif (__INT_LEAST16_TYPE__ == 2) -#define __LEAST16 -#elif (__INT_LEAST16_TYPE__ == 4 || __INT_LEAST16_TYPE__ == 6) -#define __LEAST16 "l" -#elif (__INT_LEAST16_TYPE__ == 8 || __INT_LEAST16_TYPE__ == 10) -#define __LEAST16 "ll" -#endif -#if (__INT_LEAST32_TYPE__ == 2) -#define __LEAST32 -#elif (__INT_LEAST32_TYPE__ == 4 || __INT_LEAST32_TYPE__ == 6) -#define __LEAST32 "l" -#elif (__INT_LEAST32_TYPE__ == 8 || __INT_LEAST32_TYPE__ == 10) -#define __LEAST32 "ll" -#endif -#if (__INT_LEAST64_TYPE__ == 2) -#define __LEAST64 -#elif (__INT_LEAST64_TYPE__ == 4 || __INT_LEAST64_TYPE__ == 6) -#define __LEAST64 "l" -#elif (__INT_LEAST64_TYPE__ == 8 || __INT_LEAST64_TYPE__ == 10) -#define __LEAST64 "ll" -#endif -#undef signed -#undef unsigned -#undef char -#undef short -#undef int -#undef long -#pragma pop_macro("signed") -#pragma pop_macro("unsigned") -#pragma pop_macro("char") -#pragma pop_macro("short") -#pragma pop_macro("__int20") -#pragma pop_macro("int") -#pragma pop_macro("long") - -#endif /* _SYS__INTSUP_H */ - -#ifdef __cplusplus -} -#endif - -#endif /* DOXYGEN */ -#endif /* SYS__INTSUP_H */ diff --git a/cpu/esp8266/include/user_config.h b/cpu/esp8266/include/user_config.h deleted file mode 100644 index 94825891a0..0000000000 --- a/cpu/esp8266/include/user_config.h +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ -/** - * @ingroup cpu_esp8266 - * @brief Default configurations required by the SDK - * @author Gunar Schorcht - * @file - * @{ - */ - -#ifndef USER_CONFIG_H -#define USER_CONFIG_H - -#ifdef __cplusplus -extern "C" { -#endif - -/** - * @brief Default CPU frequency in MHz. - * Possible values are 80 and 160. - */ -#ifndef ESP8266_CPU_FREQUENCY -#define ESP8266_CPU_FREQUENCY 80 -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* USER_CONFIG_H */ -/** @} */ diff --git a/cpu/esp8266/ld/eagle.rom.addr.v6.ld b/cpu/esp8266/ld/eagle.rom.addr.v6.ld deleted file mode 100644 index 282acfe168..0000000000 --- a/cpu/esp8266/ld/eagle.rom.addr.v6.ld +++ /dev/null @@ -1,350 +0,0 @@ -PROVIDE ( Cache_Read_Disable = 0x400047f0 ); -PROVIDE ( Cache_Read_Enable = 0x40004678 ); -PROVIDE ( FilePacketSendReqMsgProc = 0x400035a0 ); -PROVIDE ( FlashDwnLdParamCfgMsgProc = 0x4000368c ); -PROVIDE ( FlashDwnLdStartMsgProc = 0x40003538 ); -PROVIDE ( FlashDwnLdStopReqMsgProc = 0x40003658 ); -PROVIDE ( GetUartDevice = 0x40003f4c ); -PROVIDE ( MD5Final = 0x40009900 ); -PROVIDE ( MD5Init = 0x40009818 ); -PROVIDE ( MD5Update = 0x40009834 ); -PROVIDE ( MemDwnLdStartMsgProc = 0x400036c4 ); -PROVIDE ( MemDwnLdStopReqMsgProc = 0x4000377c ); -PROVIDE ( MemPacketSendReqMsgProc = 0x400036f0 ); -PROVIDE ( RcvMsg = 0x40003eac ); -PROVIDE ( SHA1Final = 0x4000b648 ); -PROVIDE ( SHA1Init = 0x4000b584 ); -PROVIDE ( SHA1Transform = 0x4000a364 ); -PROVIDE ( SHA1Update = 0x4000b5a8 ); -PROVIDE ( SPI_read_status = 0x400043c8 ); -PROVIDE ( SPI_write_status = 0x40004400 ); -PROVIDE ( SPI_write_enable = 0x4000443c ); -PROVIDE ( Wait_SPI_Idle = 0x4000448c ); -PROVIDE ( Enable_QMode = 0x400044c0 ); -PROVIDE ( SPIEraseArea = 0x40004b44 ); -PROVIDE ( SPIEraseBlock = 0x400049b4 ); -PROVIDE ( SPIEraseChip = 0x40004984 ); -PROVIDE ( SPIEraseSector = 0x40004a00 ); -PROVIDE ( SPILock = 0x400048a8 ); -PROVIDE ( SPIParamCfg = 0x40004c2c ); -PROVIDE ( SPIRead = 0x40004b1c ); -PROVIDE ( SPIReadModeCnfig = 0x400048ec ); -PROVIDE ( SPIUnlock = 0x40004878 ); -PROVIDE ( SPIWrite = 0x40004a4c ); -PROVIDE ( SelectSpiFunction = 0x40003f58 ); -PROVIDE ( SendMsg = 0x40003cf4 ); -PROVIDE ( UartConnCheck = 0x40003230 ); -PROVIDE ( UartConnectProc = 0x400037a0 ); -PROVIDE ( UartDwnLdProc = 0x40003368 ); -PROVIDE ( UartGetCmdLn = 0x40003ef4 ); -PROVIDE ( UartRegReadProc = 0x4000381c ); -PROVIDE ( UartRegWriteProc = 0x400037ac ); -PROVIDE ( UartRxString = 0x40003c30 ); -PROVIDE ( Uart_Init = 0x40003a14 ); -PROVIDE ( _DebugExceptionVector = 0x40000010 ); -PROVIDE ( _DoubleExceptionVector = 0x40000070 ); -PROVIDE ( _KernelExceptionVector = 0x40000030 ); -PROVIDE ( _NMIExceptionVector = 0x40000020 ); -PROVIDE ( _ResetHandler = 0x400000a4 ); -PROVIDE ( _ResetVector = 0x40000080 ); -PROVIDE ( _UserExceptionVector = 0x40000050 ); -PROVIDE ( __adddf3 = 0x4000c538 ); -PROVIDE ( __addsf3 = 0x4000c180 ); -PROVIDE ( __divdf3 = 0x4000cb94 ); -PROVIDE ( __divdi3 = 0x4000ce60 ); -PROVIDE ( __divsi3 = 0x4000dc88 ); -PROVIDE ( __extendsfdf2 = 0x4000cdfc ); -PROVIDE ( __fixdfsi = 0x4000ccb8 ); -PROVIDE ( __fixunsdfsi = 0x4000cd00 ); -PROVIDE ( __fixunssfsi = 0x4000c4c4 ); -PROVIDE ( __floatsidf = 0x4000e2f0 ); -PROVIDE ( __floatsisf = 0x4000e2ac ); -PROVIDE ( __floatunsidf = 0x4000e2e8 ); -PROVIDE ( __floatunsisf = 0x4000e2a4 ); -PROVIDE ( __muldf3 = 0x4000c8f0 ); -PROVIDE ( __muldi3 = 0x40000650 ); -PROVIDE ( __mulsf3 = 0x4000c3dc ); -PROVIDE ( __subdf3 = 0x4000c688 ); -PROVIDE ( __subsf3 = 0x4000c268 ); -PROVIDE ( __truncdfsf2 = 0x4000cd5c ); -PROVIDE ( __udivdi3 = 0x4000d310 ); -PROVIDE ( __udivsi3 = 0x4000e21c ); -PROVIDE ( __umoddi3 = 0x4000d770 ); -PROVIDE ( __umodsi3 = 0x4000e268 ); -PROVIDE ( __umulsidi3 = 0x4000dcf0 ); -PROVIDE ( _rom_store = 0x4000e388 ); -PROVIDE ( _rom_store_table = 0x4000e328 ); -PROVIDE ( _start = 0x4000042c ); -PROVIDE ( _xtos_alloca_handler = 0x4000dbe0 ); -PROVIDE ( _xtos_c_wrapper_handler = 0x40000598 ); -PROVIDE ( _xtos_cause3_handler = 0x40000590 ); -PROVIDE ( _xtos_ints_off = 0x4000bda4 ); -PROVIDE ( _xtos_ints_on = 0x4000bd84 ); -PROVIDE ( _xtos_l1int_handler = 0x4000048c ); -PROVIDE ( _xtos_p_none = 0x4000dbf8 ); -PROVIDE ( _xtos_restore_intlevel = 0x4000056c ); -PROVIDE ( _xtos_return_from_exc = 0x4000dc54 ); -PROVIDE ( _xtos_set_exception_handler = 0x40000454 ); -PROVIDE ( _xtos_set_interrupt_handler = 0x4000bd70 ); -PROVIDE ( _xtos_set_interrupt_handler_arg = 0x4000bd28 ); -PROVIDE ( _xtos_set_intlevel = 0x4000dbfc ); -PROVIDE ( _xtos_set_min_intlevel = 0x4000dc18 ); -PROVIDE ( _xtos_set_vpri = 0x40000574 ); -PROVIDE ( _xtos_syscall_handler = 0x4000dbe4 ); -PROVIDE ( _xtos_unhandled_exception = 0x4000dc44 ); -PROVIDE ( _xtos_unhandled_interrupt = 0x4000dc3c ); -PROVIDE ( aes_decrypt = 0x400092d4 ); -PROVIDE ( aes_decrypt_deinit = 0x400092e4 ); -PROVIDE ( aes_decrypt_init = 0x40008ea4 ); -PROVIDE ( aes_unwrap = 0x40009410 ); -PROVIDE ( base64_decode = 0x40009648 ); -PROVIDE ( base64_encode = 0x400094fc ); -PROVIDE ( bzero = 0x4000de84 ); -PROVIDE ( cmd_parse = 0x40000814 ); -PROVIDE ( conv_str_decimal = 0x40000b24 ); -PROVIDE ( conv_str_hex = 0x40000cb8 ); -PROVIDE ( convert_para_str = 0x40000a60 ); -PROVIDE ( dtm_get_intr_mask = 0x400026d0 ); -PROVIDE ( dtm_params_init = 0x4000269c ); -PROVIDE ( dtm_set_intr_mask = 0x400026c8 ); -PROVIDE ( dtm_set_params = 0x400026dc ); -PROVIDE ( eprintf = 0x40001d14 ); -PROVIDE ( eprintf_init_buf = 0x40001cb8 ); -PROVIDE ( eprintf_to_host = 0x40001d48 ); -PROVIDE ( est_get_printf_buf_remain_len = 0x40002494 ); -PROVIDE ( est_reset_printf_buf_len = 0x4000249c ); -PROVIDE ( ets_bzero = 0x40002ae8 ); -PROVIDE ( ets_char2xdigit = 0x40002b74 ); -PROVIDE ( ets_delay_us = 0x40002ecc ); -PROVIDE ( ets_enter_sleep = 0x400027b8 ); -PROVIDE ( ets_external_printf = 0x40002578 ); -PROVIDE ( ets_get_cpu_frequency = 0x40002f0c ); -PROVIDE ( ets_getc = 0x40002bcc ); -PROVIDE ( ets_install_external_printf = 0x40002450 ); -PROVIDE ( ets_install_putc1 = 0x4000242c ); -PROVIDE ( ets_install_putc2 = 0x4000248c ); -PROVIDE ( ets_install_uart_printf = 0x40002438 ); -PROVIDE ( ets_intr_lock = 0x40000f74 ); -PROVIDE ( ets_intr_unlock = 0x40000f80 ); -PROVIDE ( ets_isr_attach = 0x40000f88 ); -PROVIDE ( ets_isr_mask = 0x40000f98 ); -PROVIDE ( ets_isr_unmask = 0x40000fa8 ); -PROVIDE ( ets_memcmp = 0x400018d4 ); -PROVIDE ( ets_memcpy = 0x400018b4 ); -PROVIDE ( ets_memmove = 0x400018c4 ); -PROVIDE ( ets_memset = 0x400018a4 ); -PROVIDE ( ets_post = 0x40000e24 ); -PROVIDE ( ets_printf = 0x400024cc ); -PROVIDE ( ets_putc = 0x40002be8 ); -PROVIDE ( ets_rtc_int_register = 0x40002a40 ); -PROVIDE ( ets_run = 0x40000e04 ); -PROVIDE ( ets_set_idle_cb = 0x40000dc0 ); -PROVIDE ( ets_set_user_start = 0x40000fbc ); -PROVIDE ( ets_str2macaddr = 0x40002af8 ); -PROVIDE ( ets_strcmp = 0x40002aa8 ); -PROVIDE ( ets_strcpy = 0x40002a88 ); -PROVIDE ( ets_strlen = 0x40002ac8 ); -PROVIDE ( ets_strncmp = 0x40002ab8 ); -PROVIDE ( ets_strncpy = 0x40002a98 ); -PROVIDE ( ets_strstr = 0x40002ad8 ); -PROVIDE ( ets_task = 0x40000dd0 ); -PROVIDE ( ets_timer_arm = 0x40002cc4 ); -PROVIDE ( ets_timer_disarm = 0x40002d40 ); -PROVIDE ( ets_timer_done = 0x40002d80 ); -PROVIDE ( ets_timer_handler_isr = 0x40002da8 ); -PROVIDE ( ets_timer_init = 0x40002e68 ); -PROVIDE ( ets_timer_setfn = 0x40002c48 ); -PROVIDE ( ets_uart_printf = 0x40002544 ); -PROVIDE ( ets_update_cpu_frequency = 0x40002f04 ); -PROVIDE ( ets_vprintf = 0x40001f00 ); -PROVIDE ( ets_wdt_disable = 0x400030f0 ); -PROVIDE ( ets_wdt_enable = 0x40002fa0 ); -PROVIDE ( ets_wdt_get_mode = 0x40002f34 ); -PROVIDE ( ets_wdt_init = 0x40003170 ); -PROVIDE ( ets_wdt_restore = 0x40003158 ); -PROVIDE ( ets_write_char = 0x40001da0 ); -PROVIDE ( get_first_seg = 0x4000091c ); -PROVIDE ( gpio_init = 0x40004c50 ); -PROVIDE ( gpio_input_get = 0x40004cf0 ); -PROVIDE ( gpio_intr_ack = 0x40004dcc ); -PROVIDE ( gpio_intr_handler_register = 0x40004e28 ); -PROVIDE ( gpio_intr_pending = 0x40004d88 ); -PROVIDE ( gpio_intr_test = 0x40004efc ); -PROVIDE ( gpio_output_set = 0x40004cd0 ); -PROVIDE ( gpio_pin_intr_state_set = 0x40004d90 ); -PROVIDE ( gpio_pin_wakeup_disable = 0x40004ed4 ); -PROVIDE ( gpio_pin_wakeup_enable = 0x40004e90 ); -PROVIDE ( gpio_register_get = 0x40004d5c ); -PROVIDE ( gpio_register_set = 0x40004d04 ); -PROVIDE ( hmac_md5 = 0x4000a2cc ); -PROVIDE ( hmac_md5_vector = 0x4000a160 ); -PROVIDE ( hmac_sha1 = 0x4000ba28 ); -PROVIDE ( hmac_sha1_vector = 0x4000b8b4 ); -PROVIDE ( lldesc_build_chain = 0x40004f40 ); -PROVIDE ( lldesc_num2link = 0x40005050 ); -PROVIDE ( lldesc_set_owner = 0x4000507c ); -PROVIDE ( main = 0x40000fec ); -PROVIDE ( md5_vector = 0x400097ac ); -PROVIDE ( mem_calloc = 0x40001c2c ); -PROVIDE ( mem_free = 0x400019e0 ); -PROVIDE ( mem_init = 0x40001998 ); -PROVIDE ( mem_malloc = 0x40001b40 ); -PROVIDE ( mem_realloc = 0x40001c6c ); -PROVIDE ( mem_trim = 0x40001a14 ); -PROVIDE ( mem_zalloc = 0x40001c58 ); -PROVIDE ( memcmp = 0x4000dea8 ); -PROVIDE ( memcpy = 0x4000df48 ); -PROVIDE ( memmove = 0x4000e04c ); -PROVIDE ( memset = 0x4000e190 ); -PROVIDE ( multofup = 0x400031c0 ); -PROVIDE ( pbkdf2_sha1 = 0x4000b840 ); -PROVIDE ( phy_get_romfuncs = 0x40006b08 ); -PROVIDE ( rand = 0x40000600 ); -PROVIDE ( rc4_skip = 0x4000dd68 ); -PROVIDE ( recv_packet = 0x40003d08 ); -PROVIDE ( remove_head_space = 0x40000a04 ); -PROVIDE ( rijndaelKeySetupDec = 0x40008dd0 ); -PROVIDE ( rijndaelKeySetupEnc = 0x40009300 ); -PROVIDE ( rom_abs_temp = 0x400060c0 ); -PROVIDE ( rom_ana_inf_gating_en = 0x40006b10 ); -PROVIDE ( rom_cal_tos_v50 = 0x40007a28 ); -PROVIDE ( rom_chip_50_set_channel = 0x40006f84 ); -PROVIDE ( rom_chip_v5_disable_cca = 0x400060d0 ); -PROVIDE ( rom_chip_v5_enable_cca = 0x400060ec ); -PROVIDE ( rom_chip_v5_rx_init = 0x4000711c ); -PROVIDE ( rom_chip_v5_sense_backoff = 0x4000610c ); -PROVIDE ( rom_chip_v5_tx_init = 0x4000718c ); -PROVIDE ( rom_dc_iq_est = 0x4000615c ); -PROVIDE ( rom_en_pwdet = 0x400061b8 ); -PROVIDE ( rom_get_bb_atten = 0x40006238 ); -PROVIDE ( rom_get_corr_power = 0x40006260 ); -PROVIDE ( rom_get_fm_sar_dout = 0x400062dc ); -PROVIDE ( rom_get_noisefloor = 0x40006394 ); -PROVIDE ( rom_get_power_db = 0x400063b0 ); -PROVIDE ( rom_i2c_readReg = 0x40007268 ); -PROVIDE ( rom_i2c_readReg_Mask = 0x4000729c ); -PROVIDE ( rom_i2c_writeReg = 0x400072d8 ); -PROVIDE ( rom_i2c_writeReg_Mask = 0x4000730c ); -PROVIDE ( rom_iq_est_disable = 0x40006400 ); -PROVIDE ( rom_iq_est_enable = 0x40006430 ); -PROVIDE ( rom_linear_to_db = 0x40006484 ); -PROVIDE ( rom_mhz2ieee = 0x400065a4 ); -PROVIDE ( rom_pbus_dco___SA2 = 0x40007bf0 ); -PROVIDE ( rom_pbus_debugmode = 0x4000737c ); -PROVIDE ( rom_pbus_enter_debugmode = 0x40007410 ); -PROVIDE ( rom_pbus_exit_debugmode = 0x40007448 ); -PROVIDE ( rom_pbus_force_test = 0x4000747c ); -PROVIDE ( rom_pbus_rd = 0x400074d8 ); -PROVIDE ( rom_pbus_set_rxgain = 0x4000754c ); -PROVIDE ( rom_pbus_set_txgain = 0x40007610 ); -PROVIDE ( rom_pbus_workmode = 0x40007648 ); -PROVIDE ( rom_pbus_xpd_rx_off = 0x40007688 ); -PROVIDE ( rom_pbus_xpd_rx_on = 0x400076cc ); -PROVIDE ( rom_pbus_xpd_tx_off = 0x400076fc ); -PROVIDE ( rom_pbus_xpd_tx_on = 0x40007740 ); -PROVIDE ( rom_pbus_xpd_tx_on__low_gain = 0x400077a0 ); -PROVIDE ( rom_phy_reset_req = 0x40007804 ); -PROVIDE ( rom_restart_cal = 0x4000781c ); -PROVIDE ( rom_rfcal_pwrctrl = 0x40007eb4 ); -PROVIDE ( rom_rfcal_rxiq = 0x4000804c ); -PROVIDE ( rom_rfcal_rxiq_set_reg = 0x40008264 ); -PROVIDE ( rom_rfcal_txcap = 0x40008388 ); -PROVIDE ( rom_rfcal_txiq = 0x40008610 ); -PROVIDE ( rom_rfcal_txiq_cover = 0x400088b8 ); -PROVIDE ( rom_rfcal_txiq_set_reg = 0x40008a70 ); -PROVIDE ( rom_rfpll_reset = 0x40007868 ); -PROVIDE ( rom_rfpll_set_freq = 0x40007968 ); -PROVIDE ( rom_rxiq_cover_mg_mp = 0x40008b6c ); -PROVIDE ( rom_rxiq_get_mis = 0x40006628 ); -PROVIDE ( rom_sar_init = 0x40006738 ); -PROVIDE ( rom_set_ana_inf_tx_scale = 0x4000678c ); -PROVIDE ( rom_set_channel_freq = 0x40006c50 ); -PROVIDE ( rom_set_loopback_gain = 0x400067c8 ); -PROVIDE ( rom_set_noise_floor = 0x40006830 ); -PROVIDE ( rom_set_rxclk_en = 0x40006550 ); -PROVIDE ( rom_set_txbb_atten = 0x40008c6c ); -PROVIDE ( rom_set_txclk_en = 0x4000650c ); -PROVIDE ( rom_set_txiq_cal = 0x40008d34 ); -PROVIDE ( rom_start_noisefloor = 0x40006874 ); -PROVIDE ( rom_start_tx_tone = 0x400068b4 ); -PROVIDE ( rom_stop_tx_tone = 0x4000698c ); -PROVIDE ( rom_tx_mac_disable = 0x40006a98 ); -PROVIDE ( rom_tx_mac_enable = 0x40006ad4 ); -PROVIDE ( rom_txtone_linear_pwr = 0x40006a1c ); -PROVIDE ( rom_write_rfpll_sdm = 0x400078dc ); -PROVIDE ( roundup2 = 0x400031b4 ); -PROVIDE ( rtc_enter_sleep = 0x40002870 ); -PROVIDE ( rtc_get_reset_reason = 0x400025e0 ); -PROVIDE ( rtc_intr_handler = 0x400029ec ); -PROVIDE ( rtc_set_sleep_mode = 0x40002668 ); -PROVIDE ( save_rxbcn_mactime = 0x400027a4 ); -PROVIDE ( save_tsf_us = 0x400027ac ); -PROVIDE ( send_packet = 0x40003c80 ); -PROVIDE ( sha1_prf = 0x4000ba48 ); -PROVIDE ( sha1_vector = 0x4000a2ec ); -PROVIDE ( sip_alloc_to_host_evt = 0x40005180 ); -PROVIDE ( sip_get_ptr = 0x400058a8 ); -PROVIDE ( sip_get_state = 0x40005668 ); -PROVIDE ( sip_init_attach = 0x4000567c ); -PROVIDE ( sip_install_rx_ctrl_cb = 0x4000544c ); -PROVIDE ( sip_install_rx_data_cb = 0x4000545c ); -PROVIDE ( sip_post = 0x400050fc ); -PROVIDE ( sip_post_init = 0x400056c4 ); -PROVIDE ( sip_reclaim_from_host_cmd = 0x4000534c ); -PROVIDE ( sip_reclaim_tx_data_pkt = 0x400052c0 ); -PROVIDE ( sip_send = 0x40005808 ); -PROVIDE ( sip_to_host_chain_append = 0x40005864 ); -PROVIDE ( sip_to_host_evt_send_done = 0x40005234 ); -PROVIDE ( slc_add_credits = 0x400060ac ); -PROVIDE ( slc_enable = 0x40005d90 ); -PROVIDE ( slc_from_host_chain_fetch = 0x40005f24 ); -PROVIDE ( slc_from_host_chain_recycle = 0x40005e94 ); -PROVIDE ( slc_init_attach = 0x40005c50 ); -PROVIDE ( slc_init_credit = 0x4000608c ); -PROVIDE ( slc_pause_from_host = 0x40006014 ); -PROVIDE ( slc_reattach = 0x40005c1c ); -PROVIDE ( slc_resume_from_host = 0x4000603c ); -PROVIDE ( slc_select_tohost_gpio = 0x40005dc0 ); -PROVIDE ( slc_select_tohost_gpio_mode = 0x40005db8 ); -PROVIDE ( slc_send_to_host_chain = 0x40005de4 ); -PROVIDE ( slc_set_host_io_max_window = 0x40006068 ); -PROVIDE ( slc_to_host_chain_recycle = 0x40005f10 ); -PROVIDE ( software_reset = 0x4000264c ); -PROVIDE ( spi_flash_attach = 0x40004644 ); -PROVIDE ( srand = 0x400005f0 ); -PROVIDE ( strcmp = 0x4000bdc8 ); -PROVIDE ( strcpy = 0x4000bec8 ); -PROVIDE ( strlen = 0x4000bf4c ); -PROVIDE ( strncmp = 0x4000bfa8 ); -PROVIDE ( strncpy = 0x4000c0a0 ); -PROVIDE ( strstr = 0x4000e1e0 ); -PROVIDE ( timer_insert = 0x40002c64 ); -PROVIDE ( uartAttach = 0x4000383c ); -PROVIDE ( uart_baudrate_detect = 0x40003924 ); -PROVIDE ( uart_buff_switch = 0x400038a4 ); -PROVIDE ( uart_div_modify = 0x400039d8 ); -PROVIDE ( uart_rx_intr_handler = 0x40003bbc ); -PROVIDE ( uart_rx_one_char = 0x40003b8c ); -PROVIDE ( uart_rx_one_char_block = 0x40003b64 ); -PROVIDE ( uart_rx_readbuff = 0x40003ec8 ); -PROVIDE ( uart_tx_one_char = 0x40003b30 ); -PROVIDE ( wepkey_128 = 0x4000bc40 ); -PROVIDE ( wepkey_64 = 0x4000bb3c ); -PROVIDE ( xthal_bcopy = 0x40000688 ); -PROVIDE ( xthal_copy123 = 0x4000074c ); -PROVIDE ( xthal_get_ccompare = 0x4000dd4c ); -PROVIDE ( xthal_get_ccount = 0x4000dd38 ); -PROVIDE ( xthal_get_interrupt = 0x4000dd58 ); -PROVIDE ( xthal_get_intread = 0x4000dd58 ); -PROVIDE ( xthal_memcpy = 0x400006c4 ); -PROVIDE ( xthal_set_ccompare = 0x4000dd40 ); -PROVIDE ( xthal_set_intclear = 0x4000dd60 ); -PROVIDE ( xthal_spill_registers_into_stack_nw = 0x4000e320 ); -PROVIDE ( xthal_window_spill = 0x4000e324 ); -PROVIDE ( xthal_window_spill_nw = 0x4000e320 ); - -PROVIDE ( Te0 = 0x3fffccf0 ); -PROVIDE ( Td0 = 0x3fffd100 ); -PROVIDE ( Td4s = 0x3fffd500); -PROVIDE ( rcons = 0x3fffd0f0); -PROVIDE ( UartDev = 0x3fffde10 ); diff --git a/cpu/esp8266/ld/esp8266.riot-os.sdk.app.ld b/cpu/esp8266/ld/esp8266.riot-os.sdk.app.ld deleted file mode 100644 index f9f779cff2..0000000000 --- a/cpu/esp8266/ld/esp8266.riot-os.sdk.app.ld +++ /dev/null @@ -1,322 +0,0 @@ -/** - * This linker script is a modified version of eagle.app.v6.ld that - * was generated from xt-genldscripts.tpp for LSP and shipped with - * ESP8266_NONOS_SDK - */ - -/* Linker Script for ld -N */ - -MEMORY -{ - dport0_0_seg : org = 0x3FF00000, len = 0x10 - dram0_0_seg : org = 0x3FFE8000, len = 0x14000 - iram1_0_seg : org = 0x40100000, len = 0x8000 - irom0_0_seg : org = 0x40210000, len = 0x5C000 -} - -PHDRS -{ - dport0_0_phdr PT_LOAD; - dram0_0_phdr PT_LOAD; - dram0_0_bss_phdr PT_LOAD; - iram1_0_phdr PT_LOAD; - irom0_0_phdr PT_LOAD; -} - - -/* Default entry point: */ -ENTRY(call_user_start) -EXTERN(_DebugExceptionVector) -EXTERN(_DoubleExceptionVector) -EXTERN(_KernelExceptionVector) -EXTERN(_NMIExceptionVector) -EXTERN(_UserExceptionVector) -PROVIDE(_memmap_vecbase_reset = 0x40000000); -/* Various memory-map dependent cache attribute settings: */ -_memmap_cacheattr_wb_base = 0x00000110; -_memmap_cacheattr_wt_base = 0x00000110; -_memmap_cacheattr_bp_base = 0x00000220; -_memmap_cacheattr_unused_mask = 0xFFFFF00F; -_memmap_cacheattr_wb_trapnull = 0x2222211F; -_memmap_cacheattr_wba_trapnull = 0x2222211F; -_memmap_cacheattr_wbna_trapnull = 0x2222211F; -_memmap_cacheattr_wt_trapnull = 0x2222211F; -_memmap_cacheattr_bp_trapnull = 0x2222222F; -_memmap_cacheattr_wb_strict = 0xFFFFF11F; -_memmap_cacheattr_wt_strict = 0xFFFFF11F; -_memmap_cacheattr_bp_strict = 0xFFFFF22F; -_memmap_cacheattr_wb_allvalid = 0x22222112; -_memmap_cacheattr_wt_allvalid = 0x22222112; -_memmap_cacheattr_bp_allvalid = 0x22222222; -PROVIDE(_memmap_cacheattr_reset = _memmap_cacheattr_wb_trapnull); - -/* System task handling variables */ -/* source: disassembly of boot rom at https://github.com/trebisky/esp8266 */ -PROVIDE( ets_task_min_prio = 0x3fffc6fc ); -PROVIDE( ets_idle_cb = 0x3fffdab0 ); -PROVIDE( ets_idle_arg = 0x3fffdab4 ); -PROVIDE( ets_task_exec_mask = 0x3fffdab8 ); -PROVIDE( ets_task_tab = 0x3fffdac0 ); -PROVIDE( flashchip = 0x3fffc714 ); -PROVIDE( sdk_flashchip = 0x3fffc718 ); -PROVIDE( _xt_interrupt_table = 0x3fffc200 ); - -SECTIONS -{ - - .dport0.rodata : ALIGN(4) - { - _dport0_rodata_start = ABSOLUTE(.); - *(.dport0.rodata) - *(.dport.rodata) - _dport0_rodata_end = ABSOLUTE(.); - } >dport0_0_seg :dport0_0_phdr - - .dport0.literal : ALIGN(4) - { - _dport0_literal_start = ABSOLUTE(.); - *(.dport0.literal) - *(.dport.literal) - _dport0_literal_end = ABSOLUTE(.); - } >dport0_0_seg :dport0_0_phdr - - .dport0.data : ALIGN(4) - { - _dport0_data_start = ABSOLUTE(.); - *(.dport0.data) - *(.dport.data) - _dport0_data_end = ABSOLUTE(.); - } >dport0_0_seg :dport0_0_phdr - - .data : ALIGN(4) - { - _data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d.*) - *(.data1) - *(.sdata) - *(.sdata.*) - *(.gnu.linkonce.s.*) - *(.sdata2) - *(.sdata2.*) - *(.gnu.linkonce.s2.*) - *(.jcr) - _data_end = ABSOLUTE(.); - } >dram0_0_seg :dram0_0_phdr - - /* - * .rodata sections that are placed in RAM - * - * Usually, all .rodata sections are placed in RAM by the Espressif SDK - * since IROM (flash) access requires 32-bit word aligned reads. - * - * However, thanks to the LoadStoreError handler from esp-open-rtos which is - * also used in RIOT-OS, it is possible to place .rodata sections in IROM - * (flash) to save RAM resources. - * - * Only .rodata data sections of compilation units that may be executed - * while SPI flash is not mapped have to be stored in RAM. These are IRAM - * functions that are called from interrupt context or SPI flash management - * functions. Such compilation units have to be listed here. - * - * Furthermore, compilation units with constant data that are performance- - * critical should be listed here as well. - */ - - .rodata : ALIGN(4) - { - _rodata_start = ABSOLUTE(.); - *(.sdk.version) - - *core.a:*(.rodata.* .rodata) - *cpu.a:*(.rodata .rodata.*) - *esp.a:*(.rodata .rodata.*) - *esp_now.a:*(.rodata .rodata.*) - *esp_wifi.a:*(.rodata .rodata.*) - *periph.a:*(.rodata.* .rodata) - *sdk.a:*(.rodata .rodata.*) - *xtensa.a:*(.rodata .rodata.*) - - *libc.a:*.o(.rodata.* .rodata) - *libpp.a:wdev.o(.rodata.* .rodata) - *libmain.a:spi_flash.o(.rodata.* .rodata) - - *(.gnu.linkonce.r.*) - *(.rodata1) - __XT_EXCEPTION_TABLE__ = ABSOLUTE(.); - *(.xt_except_table) - *(.gcc_except_table) - *(.gnu.linkonce.e.*) - *(.gnu.version_r) - *(.eh_frame) - /* C++ constructor and destructor tables, properly ordered: */ - KEEP (*crtbegin.o(.ctors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - /* C++ exception handlers table: */ - __XT_EXCEPTION_DESCS__ = ABSOLUTE(.); - *(.xt_except_desc) - *(.gnu.linkonce.h.*) - __XT_EXCEPTION_DESCS_END__ = ABSOLUTE(.); - *(.xt_except_desc_end) - *(.dynamic) - *(.gnu.version_d) - . = ALIGN(4); /* this table MUST be 4-byte aligned */ - _bss_table_start = ABSOLUTE(.); - LONG(_bss_start) - LONG(_bss_end) - _bss_table_end = ABSOLUTE(.); - _rodata_end = ABSOLUTE(.); - } >dram0_0_seg :dram0_0_phdr - - .bss ALIGN(8) (NOLOAD) : ALIGN(4) - { - . = ALIGN (8); - _bss_start = ABSOLUTE(.); - *(.dynsbss) - *(.sbss) - *(.sbss.*) - *(.gnu.linkonce.sb.*) - *(.scommon) - *(.sbss2) - *(.sbss2.*) - *(.gnu.linkonce.sb2.*) - *(.dynbss) - *(.bss) - *(.bss.*) - *(.gnu.linkonce.b.*) - *(COMMON) - - . = ALIGN (8); - _bss_end = ABSOLUTE(.); - _sheap = ABSOLUTE(.); - _heap_start = ABSOLUTE(.); - - } >dram0_0_seg :dram0_0_bss_phdr - - /* ETS system memory starts at 0x3FFFC000 which is the top of the heap for the app */ - . = 0x3FFFC000; - _heap_top = ABSOLUTE(.); - _eheap = ABSOLUTE(.); - - .text : ALIGN(4) - { - _stext = .; - _text_start = ABSOLUTE(.); - *(.UserEnter.text) - . = ALIGN(16); - *(.DebugExceptionVector.text) - . = ALIGN(16); - *(.NMIExceptionVector.text) - . = ALIGN(16); - *(.KernelExceptionVector.text) - LONG(0) - LONG(0) - LONG(0) - LONG(0) - . = ALIGN(16); - *(.UserExceptionVector.text) - LONG(0) - LONG(0) - LONG(0) - LONG(0) - . = ALIGN(16); - *(.DoubleExceptionVector.text) - LONG(0) - LONG(0) - LONG(0) - LONG(0) - . = ALIGN (16); - *(.UserExceptionTrampoline.text) - . = ALIGN (16); - *(.entry.text) - *(.init.literal) - *(.init) - - /* normal code should be in irom0 */ - /* - *(.literal .text .literal.* .text.* .stub) - *(.gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*) - */ - - /* RIOT-OS compiled source files that use the .iram1.* section names for IRAM - functions, etc. */ - *(.iram1.*) - - /* SDK libraries expect their .text sections to link to iram, not irom */ - *libcrypto.a:*(.literal .text) - *libmain.a:*(.literal .text .literal.* .text.*) - *libnet80211.a:*(.literal .text) - *libpp.a:*(.literal .text .literal.* .text.*) - *libphy.a:*(.literal .text .literal.* .text.*) - *libwpa.a:*(.literal .text) - *libwpa2.a:*(.literal .text) - *liblwip.a:*(.literal .text) - - /* Xtensa basic functionality written in assembler should be placed in iram */ - *xtensa.a:*(.literal .text .literal.* .text.*) - - /* libgcc integer functions also need to be in .text, as some are called before - flash is mapped (also performance) */ - *libgcc.a:*i3.o(.literal .text .literal.* .text.*) - - *libgcc.a:*mulsf3.o(.literal .text .literal.* .text.*) - *libgcc.a:*divsf3.o(.literal .text .literal.* .text.*) - *libgcc.a:*fixsfsi.o(.literal .text .literal.* .text.*) - - /* libc also in IRAM */ - *libc.a:*malloc.o(.literal .text .literal.* .text.*) - *libc.a:*mallocr.o(.literal .text .literal.* .text.*) - *libc.a:*freer.o(.literal .text .literal.* .text.*) - *libc.a:*memchr.o(.literal .text .literal.* .text.*) - *libc.a:*memcpy.o(.literal .text .literal.* .text.*) - *libc.a:*memset.o(.literal .text .literal.* .text.*) - *libc.a:*memcmp.o(.literal .text .literal.* .text.*) - *libc.a:*memmove.o(.literal .text .literal.* .text.*) - *libc.a:*rand.o(.literal .text .literal.* .text.*) - *libc.a:*bzero.o(.literal .text .literal.* .text.*) - *libc.a:*lock.o(.literal .text .literal.* .text.*) - - *libc.a:*findfp.o(.literal .text .literal.* .text.*) - *libc.a:*fputwc.o(.literal .text .literal.* .text.*) - - enc28j60.a:*(.literal .text .literal.* .text.*) - - *(.fini.literal) - *(.fini) - *(.gnu.version) - _text_end = ABSOLUTE(.); - _etext = .; - } >iram1_0_seg :iram1_0_phdr - - .irom0.text : ALIGN(4) - { - _irom0_text_start = ABSOLUTE(.); - - *libmbedtls.a:(.literal .text .literal.* .text.*) - - /* RIOT-OS compiled code goes into IROM by default - (except for functions with section names defined in .text above.) */ - *(.literal .text .literal.* .text.* .rodata .rodata.*) - - /* Anything explicitly marked as "irom" or "irom0" should go here */ - *(.irom0.literal .irom.literal .irom.text.literal .irom0.text .irom.text) - - _irom0_text_end = ABSOLUTE(.); - } >irom0_0_seg :irom0_0_phdr - - .lit4 : ALIGN(4) - { - _lit4_start = ABSOLUTE(.); - *(*.lit4) - *(.lit4.*) - *(.gnu.linkonce.lit4.*) - _lit4_end = ABSOLUTE(.); - } >iram1_0_seg :iram1_0_phdr -} diff --git a/cpu/esp8266/periph_cpu.c b/cpu/esp8266/periph_cpu.c deleted file mode 100644 index 48d3ff90b5..0000000000 --- a/cpu/esp8266/periph_cpu.c +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266 - * @{ - * - * @file - * @brief CPU specific definitions and functions for peripheral handling - * - * @author Gunar Schorcht - */ - -#define ENABLE_DEBUG 0 -#include "debug.h" - -#include "periph_cpu.h" diff --git a/cpu/esp8266/sdk/ets_task.c b/cpu/esp8266/sdk/ets_task.c deleted file mode 100644 index 62ddfc88b1..0000000000 --- a/cpu/esp8266/sdk/ets_task.c +++ /dev/null @@ -1,198 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - * - * PLEASE NOTE: This file is only used in SDK version - */ - -/* - * Internally, the SDK uses its own priority-based multitasking system, - * the *ETS*, to handle hardware components such as the WiFi interface, or to - * implement event-driven functions such as software timers. ETS periodically - * executes all ETS tasks with pending events in an infinite loop with the ROM - * function *ets_run*. - * - * ETS doesn't process interrupts directly in interrupt service routines. - * Instead, they use the *ets_post* ROM function to send an event to one of the - * ETS tasks, which then processes the interrupts asynchronously. Context - * switches are not possible in interrupt service routines. - * - * To use SDK functions and keep the system alive, ETS tasks with pending - * events have to be handled. For that purpose - * - * - the *ets_task_func* RIOT thread with highest possible priority is used - * - the ROM functions *ets_run* and *ets_post* are overwritten. - * - * The *ets_task_func* RIOT thread is waiting for a thread flag, which is set - * by the *ets_post function* at the end of an ETS interrupt service routine. - * The flag indicates that there are ETS tasks with pending events that need - * to be executed. The *ets_task_func* RIOT thread then calls the *ets_run* - * function, which performs all ETS tasks with pending events exactly once. - * - * Thus, when a hardware component used by the SDK triggers an interrupt, e.g. - * the WiFi interface, the interrupt sevice routine posts an event to the ETS - * task by calling the *ets_post* function. The overwritten version of this - * function sets the thread flag of the *ets_task_func* thread. The thread - * then calls function *ets_run* to process pending events. - */ - -#ifdef MODULE_ESP_SDK - -#define ENABLE_DEBUG 0 -#include - -#include "irq_arch.h" -#include "mutex.h" -#include "thread.h" - -#include "esp/common_macros.h" -#include "sdk/ets_task.h" -#include "sdk/sdk.h" - -static uint8_t min_prio = 0; - -/* helper function for *ets_run* */ -uint8_t ets_highest_1_bit (uint32_t mask) -{ - __asm__ volatile ("nsau %0, %1;" :"=r"(mask) : "r"(mask)); - return 32 - mask; -} - -/* - * Perform the execution of all pending ETS tasks. This is necessary to - * keep the underlying ETS system used by the SDK alive. It is called from - * the RIOT thread *ets_task_func*. - */ -void IRAM ets_tasks_run (void) -{ - #if ENABLE_DEBUG - uint32_t _entry = phy_get_mactime(); - uint32_t _exit; - ets_printf("ets_tasks_run @%lu\n", _entry); - #endif - - /* reset hardware watchdog here */ - system_soft_wdt_feed(); - - while (1) { - uint8_t hbit; - int state = irq_disable(); - hbit = ets_highest_1_bit (ets_task_exec_mask); - if (min_prio < hbit) { - ets_task_tcb_t* task = &ets_task_tab[hbit-1]; - ETSEvent * event = &task->queue[task->qposr++]; - if (task->qposr == task->qlength) { - task->qposr = 0; - } - if (--task->qpending == 0) { - ets_task_exec_mask &= ~task->maskbit; - } - ets_task_min_prio = hbit; - irq_restore(state); - task->task(event); - ets_task_min_prio = min_prio; - } - else { - irq_restore(state); - break; - } - } - - #if ENABLE_DEBUG - _exit = phy_get_mactime(); - ets_printf("ets_tasks_run @%lu for %lu us\n", _entry, _exit - _entry); - #endif - - /* reset hardware watchdog here again */ - system_soft_wdt_feed(); -} - - -#define THREAD_FLAG_ETS_THREAD (1 << 0) -static volatile thread_t* ets_thread = NULL; - -/* - * Thread *ets_task_func* is waiting for the thread flag THREAD_FLAG_ETS_THREAD - * indicating that ETS tasks have pending events and need to be executed. When - * the thread flag is set, it calls the *ets_run* function, which performs - * all ETS tasks with pending events exactly once. The thread flag is set by - * the *ets_post* function, which is called at the end of an ETS interrupt - * service routine. - */ -void *ets_task_func(void *arg) -{ - (void) arg; - - ets_thread = sched_active_thread; - while (1) { - thread_flags_wait_one(THREAD_FLAG_ETS_THREAD); - ets_tasks_run(); - } - - return NULL; -} - -/* helper macro for *ets_post */ -#define irom_cache_enabled() (*((uint32_t*)0x60000208) & (1 << 17)) - -/* ETS timer task priority */ -#define TIMER_TASK_PRIORITY 31 - -/* reference to the *ets_post* ROM function */ -typedef uint32_t (*ets_post_function_t)(uint32_t prio, ETSSignal sig, ETSParam par); -static ets_post_function_t ets_post_rom = (ets_post_function_t)0x40000e24; - -/* - * Overwritten version of ROM function *ets_post*. - * - * ETS doesn't process interrupts directly in interrupt service routines. - * Instead, they use the *ets_post* ROM function to send an event to one of the - * ETS tasks, which then processes the interrupts asynchronously. Context - * switches are not possible in interrupt service routines. - * - * Please note: *ets_post* is executed in interrupt context - */ -uint32_t IRAM ets_post (uint32_t prio, ETSSignal sig, ETSParam par) -{ - /* This function is executed in interrupt context */ - uint32_t ret; - - critical_enter(); - - /* test whether we are in hardware timer interrupt handling routine */ - if (prio == TIMER_TASK_PRIORITY) { - /* first call ETS system post function */ - ret = ets_post_rom (prio, sig, par); - - /* handle only pending timer events */ - if (irom_cache_enabled()) { - ets_timer_handler_isr(); - } - } - else { - /* simply call ROM ets_post function */ - ret = ets_post_rom (prio, sig, par); - } - /* since only timer events are handled we have to reset watch dog timer */ - if (irom_cache_enabled()) { - system_soft_wdt_feed(); - } - - if (ets_thread && irom_cache_enabled()) { - thread_flags_set((thread_t*)ets_thread, THREAD_FLAG_ETS_THREAD); - } - - critical_exit(); - - return ret; -} - -void ets_tasks_init(void) -{ - /* there is nothing to be done here at the moment */ -} - -#endif /* MODULE_ESP_SDK */ diff --git a/cpu/esp8266/sdk/ets_task.h b/cpu/esp8266/sdk/ets_task.h deleted file mode 100644 index 4c031a1ca3..0000000000 --- a/cpu/esp8266/sdk/ets_task.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ -#ifndef ETS_TASK_H -#define ETS_TASK_H - -#ifndef DOXYGEN - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef MODULE_ESP_SDK - -#include "ets_sys.h" - -extern uint8_t ets_task_min_prio; - -/* Task control block definition as used for ETS task functions */ - -typedef struct { - ETSTask task; /* +0 task function */ - ETSEvent* queue; /* +4 event queue (ring buffer) */ - uint8_t qlength; /* +8 event queue length */ - uint8_t qposw; /* +9 event queue position for write */ - uint8_t qposr; /* +10 event queue position for read */ - uint8_t qpending; /* +11 pending events */ - uint32_t maskbit; /* +12 task mask bit */ -} ets_task_tcb_t; - -/* ROM variables, defined in esp8266.riot-os.app.ld */ -/* source: disassembly of boot rom at https://github.com/trebisky/esp8266 */ - -extern uint8_t ets_task_min_prio; /* 0x3fffc6fc */ -extern void* ets_idle_cb; /* 0x3fffdab0 */ -extern void* ets_idle_arg; /* 0x3fffdab4 */ -extern uint32_t ets_task_exec_mask; /* 0x3fffdab8 */ -extern ets_task_tcb_t ets_task_tab[32]; /* 0x3fffdac0 */ - -extern uint32_t ets_post (uint32_t prio, ETSSignal sig, ETSParam par); - -void ets_tasks_run (void); -void ets_tasks_init (void); - -#else /* MODULE_ESP_SDK */ - -#define ets_tasks_run() -#define ets_tasks_init() - -#endif /* MODULE_ESP_SDK */ - -#ifdef __cplusplus -} -#endif - -#endif /* DOXYGEN */ -#endif /* ETS_TASK_H */ diff --git a/cpu/esp8266/sdk/lwip.c b/cpu/esp8266/sdk/lwip.c deleted file mode 100644 index ecf9ea08df..0000000000 --- a/cpu/esp8266/sdk/lwip.c +++ /dev/null @@ -1,220 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266 - * @{ - * - * @file - * @brief lwIP functions required as symbols by the SDK - * - * This file defines a number of lwIP functions that are required as symbols by - * Espressif's SDK libraries. Since RIOT doesn't need lwIP, these functions are - * only dummies without real functionality. Using these functions instead of - * the lwIP functions as provided with the SDK saves arround 4 kBytes of RAM. - * - * @author Gunar Schorcht - * @} - */ - -#ifdef MODULE_ESP_SDK - -#include "lwip/err.h" -#include "lwip/ip_addr.h" -#include "lwip/netif.h" -#include "lwip/pbuf.h" -#include "lwip/tcp_impl.h" -#include "netif/etharp.h" - -#define ENABLE_DEBUG (0) -#include "debug.h" -#include "log.h" - -#ifndef ERR_OK -#define ERR_OK 0 -#endif - -const struct eth_addr ethbroadcast = {{0xff,0xff,0xff,0xff,0xff,0xff}}; - -err_t ethernet_input(struct pbuf *pb, struct netif* netif) -{ - DEBUG("%s\n", __func__); - (void)pb; - (void)netif; - return ERR_OK; -} - -err_t etharp_output(struct netif *netif, struct pbuf *q, ip_addr_t *ipaddr) -{ - DEBUG("%s\n", __func__); - (void)netif; - (void)q; - (void)ipaddr; - return ERR_OK; -} - -err_t etharp_request(struct netif *netif, ip_addr_t *ipaddr) -{ - DEBUG("%s\n", __func__); - (void)netif; - (void)ipaddr; - return ERR_OK; -} - -void etharp_tmr(void) -{ - DEBUG("%s\n", __func__); -} - -void etharp_cleanup_netif(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; -} - -void dhcp_cleanup(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; -} - -err_t dhcp_start(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; - return ERR_OK; -} - -err_t dhcp_renew(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; - return ERR_OK; -} - -err_t dhcp_release(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; - return ERR_OK; -} - -void dhcp_stop(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; -} - -void dhcp_network_changed(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; -} - -void dhcp_coarse_tmr(void) -{ - DEBUG("%s\n", __func__); -} - -void dhcp_fine_tmr(void) -{ - DEBUG("%s\n", __func__); -} - -void dhcps_start(struct ip_info *info) -{ - DEBUG("%s\n", __func__); - (void)info; -} - -void dhcps_stop(void) -{ - DEBUG("%s\n", __func__); -} - -void dhcps_coarse_tmr(void) -{ - DEBUG("%s\n", __func__); -} - -union tcp_listen_pcbs_t tcp_listen_pcbs; -struct tcp_pcb *tcp_active_pcbs; -struct tcp_pcb *tcp_tw_pcbs; - -void tcp_seg_free(struct tcp_seg *seg) -{ - DEBUG("%s\n", __func__); - (void)seg; -} - -void tcp_abort (struct tcp_pcb *pcb) -{ - DEBUG("%s\n", __func__); - (void)pcb; -} - -void tcp_tmr(void) -{ - DEBUG("%s\n", __func__); -} - -void igmp_init(void) -{ - DEBUG("%s\n", __func__); -} - -err_t igmp_start(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; - return ERR_OK; -} - -err_t igmp_stop(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; - return ERR_OK; -} - -void igmp_report_groups(struct netif *netif) -{ - DEBUG("%s\n", __func__); - (void)netif; -} - -void igmp_tmr(void) -{ - DEBUG("%s\n", __func__); -} - -void dns_init(void) -{ - DEBUG("%s\n", __func__); -} - -void dns_tmr(void) -{ - DEBUG("%s\n", __func__); -} - -uint32_t espconn_init(uint32 arg) -{ - DEBUG("%s\n", __func__); - (void)arg; - return 1; -} - -extern struct netif * eagle_lwip_getif(uint8_t index); - -void esp_lwip_init(void) -{ - netif_set_default((struct netif *)eagle_lwip_getif(0)); -} - -#endif /* MODULE_ESP_SDK */ diff --git a/cpu/esp8266/sdk/main.c b/cpu/esp8266/sdk/main.c deleted file mode 100644 index 3c62ed12bb..0000000000 --- a/cpu/esp8266/sdk/main.c +++ /dev/null @@ -1,202 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 SDK libmain function - * - * @author Gunar Schorcht - * @} - */ - -#ifndef MODULE_ESP_SDK - -#include - -#include "c_types.h" - -#include "common.h" -#include "cpu_conf.h" -#include "irq.h" -#include "irq_arch.h" -#include "log.h" - -#include "esp/rtcmem_regs.h" -#include "spi_flash.h" -#include "sdk/ets.h" -#include "sdk/main.h" -#include "sdk/rom.h" - -static char _printf_buf[PRINTF_BUFSIZ]; - -int IRAM os_printf_plus (const char* format, ...) -{ - va_list arglist; - va_start(arglist, format); - - int ret = vsnprintf(_printf_buf, PRINTF_BUFSIZ, format, arglist); - - if (ret > 0) { - ets_printf (_printf_buf); - } - - va_end(arglist); - - return ret; -} - -SpiFlashOpResult IRAM spi_flash_read (uint32_t faddr, uint32_t *dst, size_t size) -{ - /* - * For simplicity, we use the ROM function. Since we need to disable the - * IROM cache function for that purpose, we have to be IRAM. - * Please note, faddr, src and size have to be aligned to 4 byte. - */ - - SpiFlashOpResult ret; - - CHECK_PARAM_RET (dst != NULL, SPI_FLASH_RESULT_ERR); - CHECK_PARAM_RET (faddr + size <= flashchip->chip_size, SPI_FLASH_RESULT_ERR); - - critical_enter (); - Cache_Read_Disable (); - - ret = SPIRead (faddr, dst, size); - - Cache_Read_Enable(0, 0, 1); - critical_exit (); - - return ret; -} - -SpiFlashOpResult IRAM spi_flash_write (uint32_t faddr, uint32_t *src, size_t size) -{ - /* - * For simplicity, we use the ROM function. Since we need to disable the - * IROM cache function for that purpose, we have to be in IRAM. - * Please note, faddr, src and size have to be aligned to 4 byte - */ - - SpiFlashOpResult ret; - - CHECK_PARAM_RET (src != NULL, SPI_FLASH_RESULT_ERR); - CHECK_PARAM_RET (faddr + size <= flashchip->chip_size, SPI_FLASH_RESULT_ERR); - - critical_enter (); - Cache_Read_Disable (); - - ret = SPIWrite (faddr, src, size); - - Cache_Read_Enable(0, 0, 1); - critical_exit (); - - return ret; -} - -SpiFlashOpResult IRAM spi_flash_erase_sector(uint16_t sec) -{ - CHECK_PARAM_RET (sec < flashchip->chip_size / flashchip->sector_size, SPI_FLASH_RESULT_ERR); - - critical_enter (); - Cache_Read_Disable(); - - SpiFlashOpResult ret = SPIEraseSector (sec); - - Cache_Read_Enable(0, 0, 1); - critical_exit (); - - return ret; -} - -void system_deep_sleep(uint32_t time_in_us) -{ - /* TODO implement */ - (void)time_in_us; - NOT_YET_IMPLEMENTED(); -} - -void system_restart(void) -{ - /* TODO it's just a hard reset at the moment */ - __asm__ volatile (" call0 0x40000080 "); -} - -extern bool system_update_cpu_freq(uint8 freq) -{ - if (freq == 160) { - DPORT.CPU_CLOCK |= DPORT_CPU_CLOCK_X2; - ets_update_cpu_frequency(160); - } - else { - DPORT.CPU_CLOCK &= ~DPORT_CPU_CLOCK_X2; - ets_update_cpu_frequency(80); - } - return true; -} - -/** - * Following code is completly or at least partially from - * https://github.com/pvvx/esp8266web - * (c) PV` 2015 - * - * @{ - */ - -uint8_t ICACHE_FLASH_ATTR system_get_checksum(uint8_t *ptr, uint32_t len) -{ - uint8_t checksum = 0xEF; - while (len--) { - checksum ^= *ptr++; - } - return checksum; -} - -#define RTCMEM_SIZE 0x300 /* user RTC RAM 768 bytes, 192 dword registers */ - -static bool IRAM _system_rtc_mem_access (uint32_t src, void *dst, uint32_t size, bool write) -{ - /* src hast to be smaller than 192 */ - CHECK_PARAM_RET (src <= (RTCMEM_SIZE >> 2), false); - /* src times 4 plus size must less than RTCMEM_SIZE */ - CHECK_PARAM_RET (((src << 2) + size) < RTCMEM_SIZE, false); - /* des_addr has to be a multiple of 4 */ - CHECK_PARAM_RET (((uint32_t)dst & 0x3) == 0, false); - - /* align size to next higher multiple of 4 */ - if (size & 0x3) { - size = (size + 4) & ~0x3; - } - - for (uint32_t i = 0; i < (size >> 2); i++) { - if (write) { - RTCMEM_SYSTEM[src + i] = ((uint32_t*)dst)[i]; - } - else { - ((uint32_t*)dst)[i] = RTCMEM_SYSTEM[src + i]; - } - } - - return true; -} - -bool IRAM system_rtc_mem_read (uint32_t src_addr, void *des_addr, uint32_t save_size) -{ - return _system_rtc_mem_access (src_addr, des_addr, save_size, false); -} - -bool IRAM system_rtc_mem_write (uint32_t src_addr, void *des_addr, uint32_t save_size) -{ - return _system_rtc_mem_access (src_addr, des_addr, save_size, true); -} - -/** @} */ - -#endif /* MODULE_ESP_SDK */ diff --git a/cpu/esp8266/sdk/main.h b/cpu/esp8266/sdk/main.h deleted file mode 100644 index c946101c31..0000000000 --- a/cpu/esp8266/sdk/main.h +++ /dev/null @@ -1,65 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 SDK libmain function prototypes - * - * @author Gunar Schorcht - * @} - */ - -#ifndef MAIN_H -#define MAIN_H - -#ifndef DOXYGEN - -#include -#include - -#include "c_types.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef MODULE_ESP_SDK -#include "esp/dport_regs.h" - -/* - * The following functions are mappings or dummies for source code - * compatibility of SDK and NON-SDK version - */ - -#define system_get_time phy_get_mactime -#define system_get_chip_id() (((DPORT.OTP_MAC1 & 0xffff) << 8) + ((DPORT.OTP_MAC0 >> 24) & 0xff)) -#define system_get_cpu_freq ets_get_cpu_frequency - -extern int os_printf_plus (const char* format, ...); - -extern void system_deep_sleep (uint32_t time_in_us); -extern uint8_t system_get_checksum(uint8_t *ptr, uint32_t len); -extern void system_restart (void); -extern bool system_update_cpu_freq(uint8 freq); - -extern bool system_rtc_mem_read(uint32_t src_addr, void *des_addr, uint32_t save_size); -extern bool system_rtc_mem_write(uint32_t src_addr, void *des_addr, uint32_t save_size); - -#endif /* MODULE_ESP_SDK */ - -extern void NmiTimSetFunc(void (*func)(void)); - -#ifdef __cplusplus -} -#endif - -#endif /* DOXYGEN */ -#endif /* MAIN_H */ diff --git a/cpu/esp8266/sdk/phy.c b/cpu/esp8266/sdk/phy.c deleted file mode 100644 index 2c7d4a3ab2..0000000000 --- a/cpu/esp8266/sdk/phy.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 SDK libphy functions - * - * @author Gunar Schorcht - * @} - */ - -#ifndef MODULE_ESP_SDK - -#include "sdk/phy.h" - -#endif /* MODULE_ESP_SDK */ diff --git a/cpu/esp8266/sdk/pp.c b/cpu/esp8266/sdk/pp.c deleted file mode 100644 index 930de41b2b..0000000000 --- a/cpu/esp8266/sdk/pp.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 other ROM functions - * - * @author Gunar Schorcht - * @} - */ - -#ifndef MODULE_ESP_SDK - -#include "sdk/pp.h" - -#endif /* MODULE_ESP_SDK */ diff --git a/cpu/esp8266/sdk/pp.h b/cpu/esp8266/sdk/pp.h deleted file mode 100644 index 4909004364..0000000000 --- a/cpu/esp8266/sdk/pp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 SDK libpp function prototypes - * - * @author Gunar Schorcht - * @} - */ - -#ifndef PP_H -#define PP_H - -#ifndef DOXYGEN - -#ifdef __cplusplus -extern "C" { -#endif - -#include "c_types.h" - -#ifndef MODULE_ESP_SDK -/* - * The following functions are mappings or dummies for source code - * compatibility of SDK and NON-SDK version - */ - -#define system_soft_wdt_feed() - -#endif /* MODULE_ESP_SDK */ - -#ifdef __cplusplus -} -#endif - -#endif /* DOXYGEN */ -#endif /* PP_H */ diff --git a/cpu/esp8266/sdk/rom.c b/cpu/esp8266/sdk/rom.c deleted file mode 100644 index 377f10c025..0000000000 --- a/cpu/esp8266/sdk/rom.c +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 other ROM functions - * - * @author Gunar Schorcht - * @} - */ - -#ifndef MODULE_ESP_SDK - -#include "sdk/rom.h" - -#endif /* MODULE_ESP_SDK */ diff --git a/cpu/esp8266/sdk/rom.h b/cpu/esp8266/sdk/rom.h deleted file mode 100644 index e76862b375..0000000000 --- a/cpu/esp8266/sdk/rom.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 other ROM function prototypes - * - * @author Gunar Schorcht - * @} - */ - -#ifndef ROM_H -#define ROM_H - -#ifndef DOXYGEN - -#include -#include - -#include "c_types.h" -#include "spi_flash.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef MODULE_ESP_SDK -/* - * The following functions are mappings or dummies for source code - * compatibility of SDK and NON-SDK version - */ - -extern uint8_t rom_i2c_readReg(uint32_t block, uint32_t host_id, uint32_t reg_add); -extern uint8_t rom_i2c_readReg_Mask(uint32_t block, uint32_t host_id, - uint32_t reg_add,uint32_t Msb, uint32_t Lsb); -extern void rom_i2c_writeReg (uint32_t block, uint32_t host_id, - uint32_t reg_add, uint32_t data); -extern void rom_i2c_writeReg_Mask(uint32_t block, uint32_t host_id, - uint32_t reg_add, uint32_t Msb, uint32_t Lsb, - uint32_t indata); - -extern uint32_t rtc_get_reset_reason(void); - -#endif /* MODULE_ESP_SDK */ - -/* pointer to flash chip data structure */ -extern SpiFlashChip* flashchip; - -extern SpiFlashOpResult spi_flash_attach(void); - -void Cache_Read_Disable(void); -void Cache_Read_Enable (uint32_t odd_even, uint32_t mb_count, uint32_t no_idea); - -SpiFlashOpResult Wait_SPI_Idle(SpiFlashChip *chip); -SpiFlashOpResult SPI_write_enable(SpiFlashChip *chip); - -SpiFlashOpResult SPIEraseArea (uint32_t off, size_t len); -SpiFlashOpResult SPIEraseBlock (uint32_t num); -SpiFlashOpResult SPIEraseSector(uint32_t num); -SpiFlashOpResult SPIEraseChip (void); - -SpiFlashOpResult SPILock (void); -SpiFlashOpResult SPIUnlock(void); - -SpiFlashOpResult SPIRead (uint32_t off, uint32_t *dst, size_t size); -SpiFlashOpResult SPIWrite (uint32_t off, const uint32_t *src, size_t size); - -int SPIReadModeCnfig (uint32_t); - -/* set elements of flashchip, see struct SpiFlashChip; */ -SpiFlashOpResult SPIParamCfg (uint32_t deviceId, - uint32_t chip_size, - uint32_t block_size, - uint32_t sector_size, - uint32_t page_size, - uint32_t status_mask); - -extern void uartAttach (void); -extern void uart_div_modify(uint8 uart_no, uint32_t DivLatchValue); -extern void Uart_Init (uint8 uart_no); - -#ifdef __cplusplus -} -#endif - -#endif /* DOXYGEN */ -#endif /* ROM_H */ diff --git a/cpu/esp8266/sdk/user.c b/cpu/esp8266/sdk/user.c deleted file mode 100644 index 707077ead1..0000000000 --- a/cpu/esp8266/sdk/user.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2018 Gunar Schorcht - * - * This file is subject to the terms and conditions of the GNU Lesser - * General Public License v2.1. See the file LICENSE in the top level - * directory for more details. - */ - -/** - * @ingroup cpu_esp8266_sdk - * @{ - * - * @file - * @brief ESP8266 user defined SDK functions - * - * @author Gunar Schorcht - * @} - */ - -#include "c_types.h" - -#include "common.h" -#include "cpu_conf.h" - -#include "esp/uart_regs.h" -#include "spi_flash.h" -#include "sdk/rom.h" -#include "sdk/user.h" - -uint32_t __attribute__((weak)) user_rf_cal_sector_set(void) -{ - uint32_t sec_num = flashchip->chip_size / flashchip->sector_size; - return sec_num - 5; -} - -#ifndef MODULE_ESP_SDK - -void uart_tx_flush (uint32_t num) -{ - while ((UART(num).STATUS >> UART_STATUS_TXFIFO_COUNT_S) & UART_STATUS_TXFIFO_COUNT_M) {} -} - -/** - * Following code is completly or at least partially from - * https://github.com/pvvx/esp8266web - * (c) PV` 2015 - * - * @{ - */ - -void IRAM system_set_pll (uint8_t crystal_26m_en) -{ - if(rom_i2c_readReg(103,4,1) != 136) { /* 8: 40MHz, 136: 26MHz */ - if (crystal_26m_en == 1) { /* 0: 40MHz, 1: 26MHz */ - /* set 80MHz PLL CPU */ - rom_i2c_writeReg(103,4,1,136); - rom_i2c_writeReg(103,4,2,145); - } - } -} - -/** @} */ - -#endif diff --git a/cpu/esp8266/vendor/esp/Makefile b/cpu/esp8266/vendor/esp/Makefile deleted file mode 100644 index 5db2d2121c..0000000000 --- a/cpu/esp8266/vendor/esp/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -MODULE=esp - -include $(RIOTBASE)/Makefile.base