]> granicus.if.org Git - esp-idf/commitdiff
move esp32 chip specific includes to esp32/xxx.h
authormorris <maoshengrong@espressif.com>
Mon, 18 Mar 2019 07:46:15 +0000 (15:46 +0800)
committermorris <maoshengrong@espressif.com>
Mon, 18 Mar 2019 09:14:05 +0000 (17:14 +0800)
44 files changed:
components/app_trace/app_trace_util.c
components/app_trace/sys_view/Sample/Config/SEGGER_SYSVIEW_Config_FreeRTOS.c
components/bt/bt.c
components/driver/uart.c
components/esp32/cache_err_int.c
components/esp32/clk.c
components/esp32/cpu_start.c
components/esp32/esp_himem.c
components/esp32/esp_timer_esp32.c
components/esp32/hw_random.c
components/esp32/include/esp32/brownout.h [moved from components/esp32/include/esp_brownout.h with 100% similarity]
components/esp32/include/esp32/cache_err_int.h [moved from components/esp32/include/esp_cache_err_int.h with 100% similarity]
components/esp32/include/esp32/clk.h [new file with mode: 0644]
components/esp32/include/esp32/dport_access.h [moved from components/esp32/include/esp_dport_access.h with 100% similarity]
components/esp32/include/esp32/himem.h [new file with mode: 0644]
components/esp32/include/esp32/spiram.h [new file with mode: 0644]
components/esp32/include/esp_clk.h
components/esp32/include/esp_himem.h
components/esp32/include/esp_spiram.h
components/esp32/panic.c
components/esp32/pm_esp32.c
components/esp32/sleep_modes.c
components/esp32/spiram.c
components/esp32/test/test_aes_sha_rsa.c
components/esp32/test/test_dport.c
components/esp32/test/test_himem.c
components/esp32/test/test_pm.c
components/esp32/test/test_sha.c
components/esp32/test/test_sleep.c
components/espcoredump/src/core_dump_uart.c
components/ethernet/emac_main.c
components/freertos/xtensa_init.c
components/newlib/test/test_time.c
components/newlib/time.c
components/soc/esp32/include/soc/dport_access.h
components/soc/esp32/test/test_rtc_clk.c
components/spi_flash/flash_mmap.c
components/spi_flash/flash_ops.c
components/ulp/ulp.c
components/unity/unity_port_esp32.c
components/wear_levelling/test/test_wl.c
docs/Doxyfile
docs/en/api-reference/system/himem.rst
examples/system/himem/main/himem_test_main.c

index da0a8d58a448697e4d325eae2fa158ced5c34362..0558351b7577a15a358fce3d78b47e8d22fc2ede 100644 (file)
@@ -15,7 +15,7 @@
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
 #include "esp_app_trace_util.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 
 ///////////////////////////////////////////////////////////////////////////////
 ///////////////////////////////// TIMEOUT /////////////////////////////////////
index 2df7ee0c12374e0e851c9de57c58f84991029b0d..6c4a53eb9b8fc4672d8bb99831e41e254dfef53c 100644 (file)
@@ -67,7 +67,7 @@ Revision: $Rev: 3734 $
 #include "esp_app_trace.h"
 #include "esp_app_trace_util.h"
 #include "esp_intr_alloc.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 
 extern const SEGGER_SYSVIEW_OS_API SYSVIEW_X_OS_TraceAPI;
 
index dc17d9b025c72de8642e37f30589589e4fcedbdc..a7126bdf092e60d3cd7bdc5a88e08501987b3912 100644 (file)
@@ -42,7 +42,7 @@
 #include "soc/rtc.h"
 #include "soc/rtc_cntl_reg.h"
 #include "soc/soc_memory_layout.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_coexist_internal.h"
 
 
index de872d881d56183bca44d70f6a4850ebc6dd1773..7761089b86d3f4f8c04bd1336fa7853aa3fa7416 100644 (file)
@@ -18,7 +18,7 @@
 #include "esp_intr_alloc.h"
 #include "esp_log.h"
 #include "esp_err.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "malloc.h"
 #include "freertos/FreeRTOS.h"
 #include "freertos/semphr.h"
index a6de81ce65b36fa6192435469ceac75de02851d9..b844c72f719f9a6ab866d34f5f729fd72bc8148e 100644 (file)
@@ -29,7 +29,7 @@
 #include "esp_attr.h"
 #include "soc/dport_reg.h"
 #include "sdkconfig.h"
-#include "esp_dport_access.h"
+#include "esp32/dport_access.h"
 
 void esp_cache_err_int_init()
 {
index c965511cbf054c0e909287c32d0bffc9fbbe0228..d8120ebad2b63d150ff14d054f747ad2cb278a18 100644 (file)
@@ -19,7 +19,7 @@
 #include "sdkconfig.h"
 #include "esp_attr.h"
 #include "esp_log.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_clk_internal.h"
 #include "rom/ets_sys.h"
 #include "rom/uart.h"
index 7e45abb037f9aaf169438bec0309a667526c9faa..b4d067c461d7060c2ab90177b663cea0c8d206bc 100644 (file)
 #include "esp_spi_flash.h"
 #include "esp_ipc.h"
 #include "esp_crosscore_int.h"
-#include "esp_dport_access.h"
+#include "esp32/dport_access.h"
 #include "esp_log.h"
 #include "esp_vfs_dev.h"
 #include "esp_newlib.h"
-#include "esp_brownout.h"
+#include "esp32/brownout.h"
 #include "esp_int_wdt.h"
 #include "esp_task.h"
 #include "esp_task_wdt.h"
 #include "esp_phy_init.h"
-#include "esp_cache_err_int.h"
+#include "esp32/cache_err_int.h"
 #include "esp_coexist_internal.h"
 #include "esp_panic.h"
 #include "esp_core_dump.h"
 #include "esp_app_trace.h"
 #include "esp_dbg_stubs.h"
 #include "esp_efuse.h"
-#include "esp_spiram.h"
+#include "esp32/spiram.h"
 #include "esp_clk_internal.h"
 #include "esp_timer.h"
 #include "esp_pm.h"
index 89e5b3237b667cbcec0eddac4e146c498f274a03..b2a55d385e3c7f7804e6072bf205bc5a13b88b07 100644 (file)
 
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
-#include "esp_spiram.h"
+#include "esp32/spiram.h"
 #include "rom/cache.h"
 #include "sdkconfig.h"
-#include "esp_himem.h"
+#include "esp32/himem.h"
 #include "soc/soc.h"
 #include "esp_log.h"
 
@@ -161,7 +161,7 @@ void __attribute__((constructor)) esp_himem_init()
         free(s_range_descriptor);
         return;
     }
-    ESP_EARLY_LOGI(TAG, "Initialized. Using last %d 32KB address blocks for bank switching on %d KB of physical memory.", 
+    ESP_EARLY_LOGI(TAG, "Initialized. Using last %d 32KB address blocks for bank switching on %d KB of physical memory.",
                 SPIRAM_BANKSWITCH_RESERVE, (paddr_end - paddr_start)/1024);
 }
 
index 75e3a58fa545d784b44464a85929a7e442082d29..70b840370f2662108037aeb887e4190f349c9b4d 100644 (file)
@@ -19,7 +19,7 @@
 #include "esp_attr.h"
 #include "esp_intr_alloc.h"
 #include "esp_log.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_timer_impl.h"
 #include "soc/frc_timer_reg.h"
 #include "soc/rtc.h"
index 1bd0e6300afd4c99fbc8b6f33625c4f5302de8ae..faf297503a8ed78a7cf16d8096501588ab8d89bf 100644 (file)
@@ -18,7 +18,7 @@
 #include <string.h>
 #include <sys/param.h>
 #include "esp_attr.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "soc/wdev_reg.h"
 #include "freertos/FreeRTOSConfig.h"
 #include "xtensa/core-macros.h"
diff --git a/components/esp32/include/esp32/clk.h b/components/esp32/include/esp32/clk.h
new file mode 100644 (file)
index 0000000..9393fc1
--- /dev/null
@@ -0,0 +1,87 @@
+// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#pragma once
+#include <stdint.h>
+
+/**
+ * @file esp32/clk.h
+ *
+ * This file contains declarations of clock related functions.
+ */
+
+/**
+ * @brief Get the calibration value of RTC slow clock
+ *
+ * The value is in the same format as returned by rtc_clk_cal (microseconds,
+ * in Q13.19 fixed-point format).
+ *
+ * @return the calibration value obtained using rtc_clk_cal, at startup time
+ */
+uint32_t esp_clk_slowclk_cal_get();
+
+/**
+ * @brief Update the calibration value of RTC slow clock
+ *
+ * The value has to be in the same format as returned by rtc_clk_cal (microseconds,
+ * in Q13.19 fixed-point format).
+ * This value is used by timekeeping functions (such as gettimeofday) to
+ * calculate current time based on RTC counter value.
+ * @param value calibration value obtained using rtc_clk_cal
+ */
+void esp_clk_slowclk_cal_set(uint32_t value);
+
+/**
+ * @brief Return current CPU clock frequency
+ * When frequency switching is performed, this frequency may change.
+ * However it is guaranteed that the frequency never changes with a critical
+ * section.
+ *
+ * @return CPU clock frequency, in Hz
+ */
+int esp_clk_cpu_freq(void);
+
+/**
+ * @brief Return current APB clock frequency
+ *
+ * When frequency switching is performed, this frequency may change.
+ * However it is guaranteed that the frequency never changes with a critical
+ * section.
+ *
+ * @return APB clock frequency, in Hz
+ */
+int esp_clk_apb_freq(void);
+
+/**
+ * @brief Return frequency of the main XTAL
+ *
+ * Frequency of the main XTAL can be either auto-detected or set at compile
+ * time (see CONFIG_ESP32_XTAL_FREQ_SEL sdkconfig option). In both cases, this
+ * function returns the actual value at run time.
+ *
+ * @return XTAL frequency, in Hz
+ */
+int esp_clk_xtal_freq(void);
+
+
+/**
+ * @brief Read value of RTC counter, converting it to microseconds
+ * @attention The value returned by this function may change abruptly when
+ * calibration value of RTC counter is updated via esp_clk_slowclk_cal_set
+ * function. This should not happen unless application calls esp_clk_slowclk_cal_set.
+ * In ESP-IDF, esp_clk_slowclk_cal_set is only called in startup code.
+ *
+ * @return Value or RTC counter, expressed in microseconds
+ */
+uint64_t esp_clk_rtc_time();
diff --git a/components/esp32/include/esp32/himem.h b/components/esp32/include/esp32/himem.h
new file mode 100644 (file)
index 0000000..099d926
--- /dev/null
@@ -0,0 +1,152 @@
+// Copyright 2018 Espressif Systems (Shanghai) PTE LTD
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+#pragma once
+
+#include <stddef.h>
+#include "esp_err.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+//Opaque pointers as handles for ram/range data
+typedef struct esp_himem_ramdata_t *esp_himem_handle_t;
+typedef struct esp_himem_rangedata_t *esp_himem_rangehandle_t;
+
+//ESP32 MMU block size
+#define ESP_HIMEM_BLKSZ (0x8000)
+
+#define ESP_HIMEM_MAPFLAG_RO 1 /*!< Indicates that a mapping will only be read from. Note that this is unused for now. */
+
+/**
+ * @brief Allocate a block in high memory
+ *
+ * @param size Size of the to-be-allocated block, in bytes. Note that this needs to be
+ *             a multiple of the external RAM mmu block size (32K).
+ * @param[out] handle_out Handle to be returned
+ * @returns - ESP_OK if succesful
+ *          - ESP_ERR_NO_MEM if out of memory
+ *          - ESP_ERR_INVALID_SIZE if size is not a multiple of 32K
+ */
+esp_err_t esp_himem_alloc(size_t size, esp_himem_handle_t *handle_out);
+
+
+/**
+ * @brief Allocate a memory region to map blocks into
+ * 
+ * This allocates a contiguous CPU memory region that can be used to map blocks
+ * of physical memory into.
+ *
+ * @param size Size of the range to be allocated. Note this needs to be a multiple of
+ *             the external RAM mmu block size (32K).
+ * @param[out] handle_out Handle to be returned
+ * @returns - ESP_OK if succesful
+ *          - ESP_ERR_NO_MEM if out of memory or address space
+ *          - ESP_ERR_INVALID_SIZE if size is not a multiple of 32K
+ */
+esp_err_t esp_himem_alloc_map_range(size_t size, esp_himem_rangehandle_t *handle_out);
+
+/**
+ * @brief Map a block of high memory into the CPUs address space
+ *
+ * This effectively makes the block available for read/write operations.
+ * 
+ * @note The region to be mapped needs to have offsets and sizes that are aligned to the
+ *       SPI RAM MMU block size (32K)
+ *
+ * @param handle Handle to the block of memory, as given by esp_himem_alloc
+ * @param range Range handle to map the memory in
+ * @param ram_offset Offset into the block of physical memory of the block to map
+ * @param range_offset Offset into the address range where the block will be mapped
+ * @param len Length of region to map
+ * @param flags One of ESP_HIMEM_MAPFLAG_*
+ * @param[out] out_ptr Pointer to variable to store resulting memory pointer in
+ * @returns - ESP_OK if the memory could be mapped
+ *          - ESP_ERR_INVALID_ARG if offset, range or len aren't MMU-block-aligned (32K)
+ *          - ESP_ERR_INVALID_SIZE if the offsets/lengths don't fit in the allocated memory or range
+ *          - ESP_ERR_INVALID_STATE if a block in the selected ram offset/length is already mapped, or
+ *                                  if a block in the selected range offset/length already has a mapping.
+ */
+esp_err_t esp_himem_map(esp_himem_handle_t handle, esp_himem_rangehandle_t range, size_t ram_offset, size_t range_offset, size_t len, int flags, void **out_ptr);
+
+
+/**
+ * @brief Free a block of physical memory
+ *
+ * This clears out the associated handle making the memory available for re-allocation again.
+ * This will only succeed if none of the memory blocks currently have a mapping.
+ *
+ * @param handle Handle to the block of memory, as given by esp_himem_alloc
+ * @returns - ESP_OK if the memory is succesfully freed
+ *          - ESP_ERR_INVALID_ARG if the handle still is (partially) mapped
+ */
+esp_err_t esp_himem_free(esp_himem_handle_t handle);
+
+
+
+/**
+ * @brief Free a mapping range
+ *
+ * This clears out the associated handle making the range available for re-allocation again.
+ * This will only succeed if none of the range blocks currently are used for a mapping.
+ *
+ * @param handle Handle to the range block, as given by esp_himem_alloc_map_range
+ * @returns - ESP_OK if the memory is succesfully freed
+ *          - ESP_ERR_INVALID_ARG if the handle still is (partially) mapped to
+ */
+esp_err_t esp_himem_free_map_range(esp_himem_rangehandle_t handle);
+
+
+/**
+ * @brief Unmap a region
+ *
+ * @param range Range handle
+ * @param ptr Pointer returned by esp_himem_map
+ * @param len Length of the block to be unmapped. Must be aligned to the SPI RAM MMU blocksize (32K)
+ * @returns - ESP_OK if the memory is succesfully unmapped,
+ *          - ESP_ERR_INVALID_ARG if ptr or len are invalid.
+ */
+esp_err_t esp_himem_unmap(esp_himem_rangehandle_t range, void *ptr, size_t len);
+
+
+/**
+ * @brief Get total amount of memory under control of himem API
+ *
+ * @returns Amount of memory, in bytes
+ */
+size_t esp_himem_get_phys_size();
+
+/**
+ * @brief Get free amount of memory under control of himem API
+ *
+ * @returns Amount of free memory, in bytes
+ */
+size_t esp_himem_get_free_size();
+
+
+/**
+ * @brief Get amount of SPI memory address space needed for bankswitching
+ *
+ * @note This is also weakly defined in esp32/spiram.c and returns 0 there, so
+ *       if no other function in this file is used, no memory is reserved.
+ *
+ * @returns Amount of reserved area, in bytes
+ */
+size_t esp_himem_reserved_area_size();
+
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/components/esp32/include/esp32/spiram.h b/components/esp32/include/esp32/spiram.h
new file mode 100644 (file)
index 0000000..a55872c
--- /dev/null
@@ -0,0 +1,116 @@
+// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+
+#ifndef __ESP_SPIRAM_H
+#define __ESP_SPIRAM_H
+
+#include <stddef.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include "esp_err.h"
+
+typedef enum {
+    ESP_SPIRAM_SIZE_16MBITS = 0,   /*!< SPI RAM size is 16 MBits */
+    ESP_SPIRAM_SIZE_32MBITS = 1,   /*!< SPI RAM size is 32 MBits */
+    ESP_SPIRAM_SIZE_64MBITS = 2,   /*!< SPI RAM size is 64 MBits */
+    ESP_SPIRAM_SIZE_INVALID,       /*!< SPI RAM size is invalid */
+} esp_spiram_size_t;
+
+/**
+ * @brief get SPI RAM size
+ * @return
+ *     - ESP_SPIRAM_SIZE_INVALID if SPI RAM not enabled or not valid
+ *     - SPI RAM size
+ */
+esp_spiram_size_t esp_spiram_get_chip_size();
+
+/**
+ * @brief Initialize spiram interface/hardware. Normally called from cpu_start.c.
+ *
+ * @return ESP_OK on success
+ */
+esp_err_t esp_spiram_init();
+
+/**
+ * @brief Configure Cache/MMU for access to external SPI RAM.
+ *
+ * Normally this function is called from cpu_start, if CONFIG_SPIRAM_BOOT_INIT
+ * option is enabled. Applications which need to enable SPI RAM at run time
+ * can disable CONFIG_SPIRAM_BOOT_INIT, and call this function later.
+ *
+ * @attention this function must be called with flash cache disabled.
+ */
+void esp_spiram_init_cache();
+
+
+/**
+ * @brief Memory test for SPI RAM. Should be called after SPI RAM is initialized and
+ * (in case of a dual-core system) the app CPU is online. This test overwrites the
+ * memory with crap, so do not call after e.g. the heap allocator has stored important
+ * stuff in SPI RAM.
+ *
+ * @return true on success, false on failed memory test
+ */
+bool esp_spiram_test();
+
+
+/**
+ * @brief Add the initialized SPI RAM to the heap allocator.
+ */
+esp_err_t esp_spiram_add_to_heapalloc();
+
+
+/**
+ * @brief Get the size of the attached SPI RAM chip selected in menuconfig
+ *
+ * @return Size in bytes, or 0 if no external RAM chip support compiled in.
+ */
+size_t esp_spiram_get_size();
+
+
+/**
+ * @brief Force a writeback of the data in the SPI RAM cache. This is to be called whenever
+ * cache is disabled, because disabling cache on the ESP32 discards the data in the SPI
+ * RAM cache.
+ *
+ * This is meant for use from within the SPI flash code.
+ */
+void esp_spiram_writeback_cache();
+
+
+
+/**
+ * @brief Reserve a pool of internal memory for specific DMA/internal allocations
+ *
+ * @param size Size of reserved pool in bytes
+ *
+ * @return
+ *          - ESP_OK on success
+ *          - ESP_ERR_NO_MEM when no memory available for pool
+ */
+esp_err_t esp_spiram_reserve_dma_pool(size_t size);
+
+
+/**
+ * @brief If SPI RAM(PSRAM) has been initialized
+ *
+ * @return
+ *          - true SPI RAM has been initialized successfully
+ *          - false SPI RAM hasn't been initialized or initialized failed
+ */
+bool esp_spiram_is_initialized(void);
+
+
+#endif
index 99e4f3078c673cabf72fcf73ffdef296edf5ffe2..920f310c920ecd2b0946ba74f37ff4a626babbef 100644 (file)
@@ -1,87 +1,2 @@
-// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#pragma once
-#include <stdint.h>
-
-/**
- * @file esp_clk.h
- *
- * This file contains declarations of clock related functions.
- */
-
-/**
- * @brief Get the calibration value of RTC slow clock
- *
- * The value is in the same format as returned by rtc_clk_cal (microseconds,
- * in Q13.19 fixed-point format).
- *
- * @return the calibration value obtained using rtc_clk_cal, at startup time
- */
-uint32_t esp_clk_slowclk_cal_get();
-
-/**
- * @brief Update the calibration value of RTC slow clock
- *
- * The value has to be in the same format as returned by rtc_clk_cal (microseconds,
- * in Q13.19 fixed-point format).
- * This value is used by timekeeping functions (such as gettimeofday) to
- * calculate current time based on RTC counter value.
- * @param value calibration value obtained using rtc_clk_cal
- */
-void esp_clk_slowclk_cal_set(uint32_t value);
-
-/**
- * @brief Return current CPU clock frequency
- * When frequency switching is performed, this frequency may change.
- * However it is guaranteed that the frequency never changes with a critical
- * section.
- *
- * @return CPU clock frequency, in Hz
- */
-int esp_clk_cpu_freq(void);
-
-/**
- * @brief Return current APB clock frequency
- *
- * When frequency switching is performed, this frequency may change.
- * However it is guaranteed that the frequency never changes with a critical
- * section.
- *
- * @return APB clock frequency, in Hz
- */
-int esp_clk_apb_freq(void);
-
-/**
- * @brief Return frequency of the main XTAL
- *
- * Frequency of the main XTAL can be either auto-detected or set at compile
- * time (see CONFIG_ESP32_XTAL_FREQ_SEL sdkconfig option). In both cases, this
- * function returns the actual value at run time.
- *
- * @return XTAL frequency, in Hz
- */
-int esp_clk_xtal_freq(void);
-
-
-/**
- * @brief Read value of RTC counter, converting it to microseconds
- * @attention The value returned by this function may change abruptly when
- * calibration value of RTC counter is updated via esp_clk_slowclk_cal_set
- * function. This should not happen unless application calls esp_clk_slowclk_cal_set.
- * In ESP-IDF, esp_clk_slowclk_cal_set is only called in startup code.
- *
- * @return Value or RTC counter, expressed in microseconds
- */
-uint64_t esp_clk_rtc_time();
+#warning esp_clk.h has been replaced by esp32/clk.h, please include esp32/clk.h instead
+#include "esp32/clk.h"
index 099d92601535d781fdc65319e213446118d42e3f..c3ac9f52eb10ae3babdd551aaf2df8540da2c93b 100644 (file)
@@ -1,152 +1,2 @@
-// Copyright 2018 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-#pragma once
-
-#include <stddef.h>
-#include "esp_err.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-//Opaque pointers as handles for ram/range data
-typedef struct esp_himem_ramdata_t *esp_himem_handle_t;
-typedef struct esp_himem_rangedata_t *esp_himem_rangehandle_t;
-
-//ESP32 MMU block size
-#define ESP_HIMEM_BLKSZ (0x8000)
-
-#define ESP_HIMEM_MAPFLAG_RO 1 /*!< Indicates that a mapping will only be read from. Note that this is unused for now. */
-
-/**
- * @brief Allocate a block in high memory
- *
- * @param size Size of the to-be-allocated block, in bytes. Note that this needs to be
- *             a multiple of the external RAM mmu block size (32K).
- * @param[out] handle_out Handle to be returned
- * @returns - ESP_OK if succesful
- *          - ESP_ERR_NO_MEM if out of memory
- *          - ESP_ERR_INVALID_SIZE if size is not a multiple of 32K
- */
-esp_err_t esp_himem_alloc(size_t size, esp_himem_handle_t *handle_out);
-
-
-/**
- * @brief Allocate a memory region to map blocks into
- * 
- * This allocates a contiguous CPU memory region that can be used to map blocks
- * of physical memory into.
- *
- * @param size Size of the range to be allocated. Note this needs to be a multiple of
- *             the external RAM mmu block size (32K).
- * @param[out] handle_out Handle to be returned
- * @returns - ESP_OK if succesful
- *          - ESP_ERR_NO_MEM if out of memory or address space
- *          - ESP_ERR_INVALID_SIZE if size is not a multiple of 32K
- */
-esp_err_t esp_himem_alloc_map_range(size_t size, esp_himem_rangehandle_t *handle_out);
-
-/**
- * @brief Map a block of high memory into the CPUs address space
- *
- * This effectively makes the block available for read/write operations.
- * 
- * @note The region to be mapped needs to have offsets and sizes that are aligned to the
- *       SPI RAM MMU block size (32K)
- *
- * @param handle Handle to the block of memory, as given by esp_himem_alloc
- * @param range Range handle to map the memory in
- * @param ram_offset Offset into the block of physical memory of the block to map
- * @param range_offset Offset into the address range where the block will be mapped
- * @param len Length of region to map
- * @param flags One of ESP_HIMEM_MAPFLAG_*
- * @param[out] out_ptr Pointer to variable to store resulting memory pointer in
- * @returns - ESP_OK if the memory could be mapped
- *          - ESP_ERR_INVALID_ARG if offset, range or len aren't MMU-block-aligned (32K)
- *          - ESP_ERR_INVALID_SIZE if the offsets/lengths don't fit in the allocated memory or range
- *          - ESP_ERR_INVALID_STATE if a block in the selected ram offset/length is already mapped, or
- *                                  if a block in the selected range offset/length already has a mapping.
- */
-esp_err_t esp_himem_map(esp_himem_handle_t handle, esp_himem_rangehandle_t range, size_t ram_offset, size_t range_offset, size_t len, int flags, void **out_ptr);
-
-
-/**
- * @brief Free a block of physical memory
- *
- * This clears out the associated handle making the memory available for re-allocation again.
- * This will only succeed if none of the memory blocks currently have a mapping.
- *
- * @param handle Handle to the block of memory, as given by esp_himem_alloc
- * @returns - ESP_OK if the memory is succesfully freed
- *          - ESP_ERR_INVALID_ARG if the handle still is (partially) mapped
- */
-esp_err_t esp_himem_free(esp_himem_handle_t handle);
-
-
-
-/**
- * @brief Free a mapping range
- *
- * This clears out the associated handle making the range available for re-allocation again.
- * This will only succeed if none of the range blocks currently are used for a mapping.
- *
- * @param handle Handle to the range block, as given by esp_himem_alloc_map_range
- * @returns - ESP_OK if the memory is succesfully freed
- *          - ESP_ERR_INVALID_ARG if the handle still is (partially) mapped to
- */
-esp_err_t esp_himem_free_map_range(esp_himem_rangehandle_t handle);
-
-
-/**
- * @brief Unmap a region
- *
- * @param range Range handle
- * @param ptr Pointer returned by esp_himem_map
- * @param len Length of the block to be unmapped. Must be aligned to the SPI RAM MMU blocksize (32K)
- * @returns - ESP_OK if the memory is succesfully unmapped,
- *          - ESP_ERR_INVALID_ARG if ptr or len are invalid.
- */
-esp_err_t esp_himem_unmap(esp_himem_rangehandle_t range, void *ptr, size_t len);
-
-
-/**
- * @brief Get total amount of memory under control of himem API
- *
- * @returns Amount of memory, in bytes
- */
-size_t esp_himem_get_phys_size();
-
-/**
- * @brief Get free amount of memory under control of himem API
- *
- * @returns Amount of free memory, in bytes
- */
-size_t esp_himem_get_free_size();
-
-
-/**
- * @brief Get amount of SPI memory address space needed for bankswitching
- *
- * @note This is also weakly defined in esp32/spiram.c and returns 0 there, so
- *       if no other function in this file is used, no memory is reserved.
- *
- * @returns Amount of reserved area, in bytes
- */
-size_t esp_himem_reserved_area_size();
-
-
-#ifdef __cplusplus
-}
-#endif
-
+#warning esp_himem.h has been replaced by esp32/himem.h, please include esp32/himem.h instead
+#include "esp32/himem.h"
index a55872cd4deb05d729c8e7bdaf9f52b0f4c9e3a0..eabd6b6b3512698d3799f8ac13380158e4d237a2 100644 (file)
@@ -1,116 +1,2 @@
-// Copyright 2015-2017 Espressif Systems (Shanghai) PTE LTD
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-
-#ifndef __ESP_SPIRAM_H
-#define __ESP_SPIRAM_H
-
-#include <stddef.h>
-#include <stdint.h>
-#include <stdbool.h>
-#include "esp_err.h"
-
-typedef enum {
-    ESP_SPIRAM_SIZE_16MBITS = 0,   /*!< SPI RAM size is 16 MBits */
-    ESP_SPIRAM_SIZE_32MBITS = 1,   /*!< SPI RAM size is 32 MBits */
-    ESP_SPIRAM_SIZE_64MBITS = 2,   /*!< SPI RAM size is 64 MBits */
-    ESP_SPIRAM_SIZE_INVALID,       /*!< SPI RAM size is invalid */
-} esp_spiram_size_t;
-
-/**
- * @brief get SPI RAM size
- * @return
- *     - ESP_SPIRAM_SIZE_INVALID if SPI RAM not enabled or not valid
- *     - SPI RAM size
- */
-esp_spiram_size_t esp_spiram_get_chip_size();
-
-/**
- * @brief Initialize spiram interface/hardware. Normally called from cpu_start.c.
- *
- * @return ESP_OK on success
- */
-esp_err_t esp_spiram_init();
-
-/**
- * @brief Configure Cache/MMU for access to external SPI RAM.
- *
- * Normally this function is called from cpu_start, if CONFIG_SPIRAM_BOOT_INIT
- * option is enabled. Applications which need to enable SPI RAM at run time
- * can disable CONFIG_SPIRAM_BOOT_INIT, and call this function later.
- *
- * @attention this function must be called with flash cache disabled.
- */
-void esp_spiram_init_cache();
-
-
-/**
- * @brief Memory test for SPI RAM. Should be called after SPI RAM is initialized and
- * (in case of a dual-core system) the app CPU is online. This test overwrites the
- * memory with crap, so do not call after e.g. the heap allocator has stored important
- * stuff in SPI RAM.
- *
- * @return true on success, false on failed memory test
- */
-bool esp_spiram_test();
-
-
-/**
- * @brief Add the initialized SPI RAM to the heap allocator.
- */
-esp_err_t esp_spiram_add_to_heapalloc();
-
-
-/**
- * @brief Get the size of the attached SPI RAM chip selected in menuconfig
- *
- * @return Size in bytes, or 0 if no external RAM chip support compiled in.
- */
-size_t esp_spiram_get_size();
-
-
-/**
- * @brief Force a writeback of the data in the SPI RAM cache. This is to be called whenever
- * cache is disabled, because disabling cache on the ESP32 discards the data in the SPI
- * RAM cache.
- *
- * This is meant for use from within the SPI flash code.
- */
-void esp_spiram_writeback_cache();
-
-
-
-/**
- * @brief Reserve a pool of internal memory for specific DMA/internal allocations
- *
- * @param size Size of reserved pool in bytes
- *
- * @return
- *          - ESP_OK on success
- *          - ESP_ERR_NO_MEM when no memory available for pool
- */
-esp_err_t esp_spiram_reserve_dma_pool(size_t size);
-
-
-/**
- * @brief If SPI RAM(PSRAM) has been initialized
- *
- * @return
- *          - true SPI RAM has been initialized successfully
- *          - false SPI RAM hasn't been initialized or initialized failed
- */
-bool esp_spiram_is_initialized(void);
-
-
-#endif
+#warning esp_spiram.h has been replaced by esp32/spiram.h, please include esp32/spiram.h instead
+#include "esp32/spiram.h"
index 64383f5624a43d2b2836a720f53aa9d022a6aa78..880d219a10c1b1eec5a2bd56046e8739595d77da 100644 (file)
@@ -38,7 +38,7 @@
 #include "esp_err.h"
 #include "esp_core_dump.h"
 #include "esp_spi_flash.h"
-#include "esp_cache_err_int.h"
+#include "esp32/cache_err_int.h"
 #include "esp_app_trace.h"
 #include "esp_system_internal.h"
 #include "sdkconfig.h"
index 0cf7e2d20d9a70f76a9a5b40a968b90c80a0aa6f..78ac02232ce2b7efbf1cc8205239504fe013451c 100644 (file)
@@ -22,7 +22,7 @@
 #include "esp_pm.h"
 #include "esp_log.h"
 #include "esp_crosscore_int.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 
 #include "soc/rtc.h"
 
index d460365905e5c084092d418719ca88e52caf1ad8..9bd754e8be8beb0294877766c89c81c3513fac73 100644 (file)
@@ -19,7 +19,7 @@
 #include "esp_sleep.h"
 #include "esp_timer_impl.h"
 #include "esp_log.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_newlib.h"
 #include "esp_spi_flash.h"
 #include "rom/cache.h"
index 7dacfa0503023c32c6b7680603bccb2ed084b7c9..ee60ab08ad8e8b7d1bff1763e1112847739b4060 100644 (file)
@@ -24,7 +24,7 @@ we add more types of external RAM memory, this can be made into a more intellige
 #include "sdkconfig.h"
 #include "esp_attr.h"
 #include "esp_err.h"
-#include "esp_spiram.h"
+#include "esp32/spiram.h"
 #include "spiram_psram.h"
 #include "esp_log.h"
 #include "freertos/FreeRTOS.h"
@@ -34,7 +34,7 @@ we add more types of external RAM memory, this can be made into a more intellige
 #include "soc/soc_memory_layout.h"
 #include "soc/dport_reg.h"
 #include "rom/cache.h"
-#include "esp_himem.h"
+#include "esp32/himem.h"
 
 #if CONFIG_FREERTOS_UNICORE
 #define PSRAM_MODE PSRAM_VADDR_MODE_NORMAL
index a2ca6b3b5ef1a12b241dd2e8b2e0cd0e75007102..003d58419e9d0ab01f523f0faeaa3659edc3cbc8 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include "esp_types.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
index 418cd4202d5d92fb802fa3f5e723973c0fcd6411..ab81d7230a0cdb166a02539d6a0f3c20a57fa49c 100644 (file)
@@ -1,7 +1,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include "esp_types.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
index 95ed27d5aebb5f84097d94b9e546f1ab34bbfe15..496d09588ffa7457414082e6a1bad807e497f9e4 100644 (file)
@@ -7,7 +7,7 @@
 #include "esp_system.h"
 #include "rom/cache.h"
 #include "sdkconfig.h"
-#include "esp_himem.h"
+#include "esp32/himem.h"
 
 #if CONFIG_SPIRAM_BANKSWITCH_ENABLE
 
index e34658b7ef921bd568f41fe2e4aa96b031a282cd..01e1e17bc97c65ff92994fbcdbfdeda46e036302 100644 (file)
@@ -5,7 +5,7 @@
 #include <sys/param.h>
 #include "unity.h"
 #include "esp_pm.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "freertos/FreeRTOS.h"
 #include "freertos/task.h"
 #include "freertos/semphr.h"
index d64b86760262471fdcab6e1685f37d83bd90c7a2..db9754b531a79ee8905f70773e15959c4cec76f5 100644 (file)
@@ -2,7 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include "esp_types.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_log.h"
 #include "esp_timer.h"
 #include "esp_heap_caps.h"
index d2e2d9b2795ca3c1a6cad20d68e56d8c1374aca4..57aad6ab626da091478b2a34a8b90ded730d6341 100644 (file)
@@ -2,7 +2,7 @@
 #include <sys/time.h>
 #include <sys/param.h>
 #include "esp_sleep.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "driver/rtc_io.h"
 #include "soc/gpio_reg.h"
 #include "soc/rtc.h"
index 2c1f4cbfc27dc1d5408c2d8ed3bc992e0e850c61..dfc62d9a8800d2c3e0db6a62581fdeccfebc1e63 100644 (file)
@@ -15,7 +15,7 @@
 #include "soc/uart_reg.h"
 #include "soc/io_mux_reg.h"
 #include "driver/gpio.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_core_dump_priv.h"
 
 const static DRAM_ATTR char TAG[] __attribute__((unused)) = "esp_core_dump_uart";
index 8cfbec972e92ddffbf73eccc2738cd08bf4375ff..dc9a42b887d59be7715732992c7c706767a93602 100644 (file)
@@ -39,7 +39,7 @@
 #include "esp_eth.h"
 #include "esp_intr_alloc.h"
 #include "esp_pm.h"
-#include "esp_spiram.h"
+#include "esp32/spiram.h"
 
 #include "driver/periph_ctrl.h"
 
index 624f242b1e6357812eda7375b33b970802b25749..c503b7c37a8ea9d1787e4345944467426fb7aaa9 100644 (file)
@@ -34,7 +34,7 @@ that are implemented in C.
 #endif
 
 #include    "xtensa_rtos.h"
-#include    "esp_clk.h"
+#include    "esp32/clk.h"
 
 #ifdef XT_RTOS_TIMER_INT
 
index a6c2b80bb3de109fc657e40414e30f4762e9c61f..fb7ccbf7f64153adb305aa4dacc8459eef8d1157 100644 (file)
@@ -10,7 +10,7 @@
 #include "freertos/semphr.h"
 #include "sdkconfig.h"
 #include "soc/rtc.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_system.h"
 #include "test_utils.h"
 
index 892ab2ff83df15067d01302d261d87016c5e73ca..a8364367a3ad99bf987979f1abcf7d6779d39a26 100644 (file)
@@ -25,7 +25,7 @@
 #include <rom/rtc.h>
 #include "esp_attr.h"
 #include "esp_intr_alloc.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_timer.h"
 #include "soc/soc.h"
 #include "soc/rtc.h"
index 00e7c83810540f1176c3c7a9d598f43d3eac150f..544560fdfbc4d48858e80d559ae456b176032475 100644 (file)
@@ -17,7 +17,7 @@
 
 #include <stdint.h>
 #include "esp_attr.h"
-#include "esp_dport_access.h"
+#include "esp32/dport_access.h"
 #include "soc.h"
 #include "uart_reg.h"
 #include "xtensa/xtruntime.h"
index ee05a302bf1e9396f7959430e7528677f65e0bd1..eb5c1b1ddba38b670d71a6e11a6c66f36faa4d33 100644 (file)
@@ -13,7 +13,7 @@
 #include "freertos/task.h"
 #include "freertos/semphr.h"
 #include "../esp_clk_internal.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 
 
 
index 534a7e3d35448466badbcf0ede2634563e1ad1b4..c1e68cbedb90b124c85d652a4f9291c63fc77114 100644 (file)
@@ -31,7 +31,7 @@
 #include "esp_flash_encrypt.h"
 #include "esp_log.h"
 #include "cache_utils.h"
-#include "esp_spiram.h"
+#include "esp32/spiram.h"
 
 #ifndef NDEBUG
 // Enable built-in checks in queue.h in debug builds
index 29dbb2fd60cdc661e2f672ab7dd7867a5a369dc1..6529a750d9a02a38b637e10e14cb37d8c6e6d9e0 100644 (file)
@@ -30,7 +30,7 @@
 #include "esp_attr.h"
 #include "esp_spi_flash.h"
 #include "esp_log.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp_flash_partitions.h"
 #include "esp_ota_ops.h"
 #include "cache_utils.h"
index 3424da21ec228f049d3d591d00dd49a4b85003b3..ad1e083ee2d1b1915f82dc54b2ccc1191c72b2c9 100644 (file)
@@ -19,7 +19,7 @@
 #include "esp_attr.h"
 #include "esp_err.h"
 #include "esp_log.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "esp32/ulp.h"
 
 #include "soc/soc.h"
index 024dbc7e513ea4b0273fa570793759052bcdb669..535d63bccd2bd51df13d22ddff6a8e23506cb526 100644 (file)
@@ -15,7 +15,7 @@
 #include "unity.h"
 #include "sdkconfig.h"
 #include "rom/uart.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "soc/cpu.h"
 
 static uint32_t s_test_start, s_test_stop;
index 0c2bf39dcce133014c6db90743207f6d12c9b35a..09ef23bfec78905d181aae9bf4939e6eb782ba6f 100644 (file)
@@ -6,7 +6,7 @@
 #include "freertos/portable.h"
 #include "freertos/task.h"
 #include "freertos/semphr.h"
-#include "esp_clk.h"
+#include "esp32/clk.h"
 #include "soc/cpu.h"
 
 TEST_CASE("wl_unmount doesn't leak memory", "[wear_levelling]")
index b79aa3e2c309e9822d84ba37a07caff330df878c..97705f264c5a16e402530f54694bcecaffe9ede1 100644 (file)
@@ -152,7 +152,7 @@ INPUT = \
     ../../components/heap/include/esp_heap_caps_init.h \
     ../../components/heap/include/multi_heap.h \
     ## Himem
-    ../../components/esp32/include/esp_himem.h \
+    ../../components/esp32/include/esp32/himem.h \
     ## Interrupt Allocation
     ../../components/esp32/include/esp_intr_alloc.h \
     ## Watchdogs
index a3eba8be3b11561d76ac0ffb86ac46ebe5a8f8d5..1c5dd0129a7a4d9633c41fea8d4612b347b2040d 100644 (file)
@@ -30,4 +30,4 @@ An example doing a simple memory test of the high memory range is available in e
 API Reference
 -------------
 
-.. include:: /_build/inc/esp_himem.inc
+.. include:: /_build/inc/himem.inc
index c5f8c97a2a82cdf22fdc9620b6cc0c81d630149a..98955725a62be61af3224e1458aad3a26ec05e9f 100644 (file)
 #include "esp_system.h"
 #include "nvs_flash.h"
 #include "esp_heap_caps.h"
-#include "esp_spiram.h"
+#include "esp32/spiram.h"
 #include "rom/cache.h"
 #include "sdkconfig.h"
-#include "esp_himem.h"
+#include "esp32/himem.h"
 
 
 //Fill memory with pseudo-random data generated from the given seed.