浏览代码

esp_rom: fix rom layout issues

jiangguangming 2 年之前
父节点
当前提交
0d0fa7bda2

+ 28 - 2
components/esp_rom/include/esp32c2/rom/rom_layout.h

@@ -13,7 +13,11 @@ extern "C" {
 #endif
 
 #define SUPPORT_BTDM            1
+#define SUPPORT_BTBB            1
 #define SUPPORT_WIFI            1
+#define SUPPORT_USB_DWCOTG      0
+#define SUPPORT_COEXIST         1
+#define SUPPORT_MBEDTLS         1
 
 /* Structure and functions for returning ROM global layout
  *
@@ -28,6 +32,7 @@ typedef struct {
     void *stack_app;
 
     /* BTDM data */
+#if SUPPORT_BTDM
     void *data_start_btdm;
     void *data_end_btdm;
     void *bss_start_btdm;
@@ -38,12 +43,19 @@ typedef struct {
     void *data_end_interface_btdm;
     void *bss_start_interface_btdm;
     void *bss_end_interface_btdm;
+#endif
+
+#if SUPPORT_BTBB
+    void *dram_start_btbbrom;
+    void *dram_end_btbbrom;
+#endif
 
     /* Other DRAM ranges */
 #if SUPPORT_BTDM || SUPPORT_WIFI
     void *dram_start_phyrom;
     void *dram_end_phyrom;
 #endif
+
 #if SUPPORT_WIFI
     void *dram_start_coexist;
     void *dram_end_coexist;
@@ -64,11 +76,25 @@ typedef struct {
     void *bss_start_interface_pp;
     void *bss_end_interface_pp;
 #endif
-    void *dram_start_usbdev_rom;
-    void *dram_end_usbdev_rom;
+
+#if SUPPORT_USB_DWCOTG
+    void *dram_start_usb_dwcotg_rom;
+    void *dram_end_usb_dwcotg_rom;
+#else
+    //Two reserved members are defined here, so the structure will not be broken,
+    //please keep in mind that there is no memory can be released between
+    //dram_start_usb_reserved_rom ~ dram_end_usb_reserved_rom.
+    void *dram_start_usb_reserved_rom;
+    void *dram_end_usb_reserved_rom;
+#endif
+
     void *dram_start_uart_rom;
     void *dram_end_uart_rom;
 
+#if SUPPORT_MBEDTLS
+    void *dram_start_mbedtls_rom;
+    void *dram_end_mbedtls_rom;
+#endif
 } ets_rom_layout_t;
 
 extern const ets_rom_layout_t * const ets_rom_layout_p;

+ 21 - 16
components/esp_rom/include/esp32c3/rom/rom_layout.h

@@ -1,16 +1,8 @@
-// Copyright 2020 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.
+/*
+ * SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
 #pragma once
 
@@ -22,6 +14,7 @@ extern "C" {
 
 #define SUPPORT_BTDM            1
 #define SUPPORT_WIFI            1
+#define SUPPORT_USB_DWCOTG      0
 
 /* Structure and functions for returning ROM global layout
  *
@@ -36,6 +29,7 @@ typedef struct {
     void *stack_app;
 
     /* BTDM data */
+#if SUPPORT_BTDM
     void *data_start_btdm;
     void *data_end_btdm;
     void *bss_start_btdm;
@@ -46,12 +40,14 @@ typedef struct {
     void *data_end_interface_btdm;
     void *bss_start_interface_btdm;
     void *bss_end_interface_btdm;
+#endif
 
     /* Other DRAM ranges */
 #if SUPPORT_BTDM || SUPPORT_WIFI
     void *dram_start_phyrom;
     void *dram_end_phyrom;
 #endif
+
 #if SUPPORT_WIFI
     void *dram_start_coexist;
     void *dram_end_coexist;
@@ -72,11 +68,20 @@ typedef struct {
     void *bss_start_interface_pp;
     void *bss_end_interface_pp;
 #endif
-    void *dram_start_usbdev_rom;
-    void *dram_end_usbdev_rom;
+
+#if SUPPORT_USB_DWCOTG
+    void *dram_start_usb_dwcotg_rom;
+    void *dram_end_usb_dwcotg_rom;
+#else
+    //Two reserved members are defined here, so the structure will not be broken,
+    //please keep in mind that there is no memory can be released between
+    //dram_start_usb_reserved_rom ~ dram_end_usb_reserved_rom.
+    void *dram_start_usb_reserved_rom;
+    void *dram_end_usb_reserved_rom;
+#endif
+
     void *dram_start_uart_rom;
     void *dram_end_uart_rom;
-
 } ets_rom_layout_t;
 
 extern const ets_rom_layout_t * const ets_rom_layout_p;

+ 14 - 7
components/esp_rom/include/esp32c6/rom/rom_layout.h

@@ -1,5 +1,5 @@
 /*
- * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
+ * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
  *
  * SPDX-License-Identifier: Apache-2.0
  */
@@ -12,11 +12,12 @@
 extern "C" {
 #endif
 
-#define SUPPORT_BTDM            1
-#define SUPPORT_BTBB            1
+#define SUPPORT_BTDM            0
+#define SUPPORT_BTBB            0
 #define SUPPORT_WIFI            1
-#define SUPPORT_USB_DEVICE      1
+#define SUPPORT_USB_DWCOTG      0
 #define SUPPORT_COEXIST         1
+#define SUPPORT_MBEDTLS         0
 
 /* Structure and functions for returning ROM global layout
  *
@@ -79,9 +80,15 @@ typedef struct {
     void *dram_end_mbedtls_rom;
 #endif
 
-#if SUPPORT_USB_DEVICE
-    void *dram_start_usbdev_rom;
-    void *dram_end_usbdev_rom;
+#if SUPPORT_USB_DWCOTG
+    void *dram_start_usb_dwcotg_rom;
+    void *dram_end_usb_dwcotg_rom;
+#else
+    //Two reserved members are defined here, so the structure will not be broken,
+    //please keep in mind that there is no memory can be released between
+    //dram_start_usb_reserved_rom ~ dram_end_usb_reserved_rom.
+    void *dram_start_usb_reserved_rom;
+    void *dram_end_usb_reserved_rom;
 #endif
 
     void *dram_start_uart_rom;

+ 26 - 9
components/esp_rom/include/esp32h2/rom/rom_layout.h

@@ -1,5 +1,5 @@
 /*
- * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
+ * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD
  *
  * SPDX-License-Identifier: Apache-2.0
  */
@@ -12,8 +12,12 @@
 extern "C" {
 #endif
 
-#define SUPPORT_BTDM            1
-#define SUPPORT_WIFI            1
+#define SUPPORT_BTDM            0
+#define SUPPORT_BTBB            0
+#define SUPPORT_WIFI            0
+#define SUPPORT_USB_DWCOTG      0
+#define SUPPORT_COEXIST         0
+#define SUPPORT_MBEDTLS         0
 
 /* Structure and functions for returning ROM global layout
  *
@@ -24,10 +28,8 @@ typedef struct {
     void *dram0_rtos_reserved_start;
     void *stack_sentry;
     void *stack;
-    void *stack_sentry_app;
-    void *stack_app;
 
-    /* BTDM data */
+#if SUPPORT_BTDM
     void *data_start_btdm;
     void *data_end_btdm;
     void *bss_start_btdm;
@@ -38,6 +40,12 @@ typedef struct {
     void *data_end_interface_btdm;
     void *bss_start_interface_btdm;
     void *bss_end_interface_btdm;
+#endif
+
+#if SUPPORT_BTBB
+    void *dram_start_btbbrom;
+    void *dram_end_btbbrom;
+#endif
 
     /* Other DRAM ranges */
 #if SUPPORT_BTDM || SUPPORT_WIFI
@@ -64,11 +72,20 @@ typedef struct {
     void *bss_start_interface_pp;
     void *bss_end_interface_pp;
 #endif
-    void *dram_start_usbdev_rom;
-    void *dram_end_usbdev_rom;
+
+#if SUPPORT_USB_DWCOTG
+    void *dram_start_usb_dwcotg_rom;
+    void *dram_end_usb_dwcotg_rom;
+#else
+    //Two reserved members are defined here, so the structure will not be broken,
+    //please keep in mind that there is no memory can be released between
+    //dram_start_usb_reserved_rom ~ dram_end_usb_reserved_rom.
+    void *dram_start_usb_reserved_rom;
+    void *dram_end_usb_reserved_rom;
+#endif
+
     void *dram_start_uart_rom;
     void *dram_end_uart_rom;
-
 } ets_rom_layout_t;
 
 extern const ets_rom_layout_t * const ets_rom_layout_p;

+ 24 - 18
components/esp_rom/include/esp32s3/rom/rom_layout.h

@@ -1,16 +1,8 @@
-// Copyright 2020 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.
+/*
+ * SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ */
 
 #pragma once
 #include <stdint.h>
@@ -19,8 +11,10 @@
 extern "C" {
 #endif
 
-#define SUPPORT_WIFI 1
-#define SUPPORT_BTDM 1
+#define SUPPORT_WIFI            1
+#define SUPPORT_BTDM            1
+#define SUPPORT_USB_DWCOTG      1
+
 /* Structure and functions for returning ROM global layout
  *
  * This is for address symbols defined in the linker script, which may change during ECOs.
@@ -34,6 +28,7 @@ typedef struct {
     void *stack_app;
 
     /* BTDM data */
+#if SUPPORT_BTDM
     void *data_start_btdm;
     void *data_end_btdm;
     void *bss_start_btdm;
@@ -44,12 +39,14 @@ typedef struct {
     void *data_end_interface_btdm;
     void *bss_start_interface_btdm;
     void *bss_end_interface_btdm;
+#endif
 
     /* Other DRAM ranges */
 #if SUPPORT_BTDM || SUPPORT_WIFI
     void *dram_start_phyrom;
     void *dram_end_phyrom;
 #endif
+
 #if SUPPORT_WIFI
     void *dram_start_coexist;
     void *dram_end_coexist;
@@ -70,11 +67,20 @@ typedef struct {
     void *bss_start_interface_pp;
     void *bss_end_interface_pp;
 #endif
-    void *dram_start_usbdev_rom;
-    void *dram_end_usbdev_rom;
+
+#if SUPPORT_USB_DWCOTG
+    void *dram_start_usb_dwcotg_rom;
+    void *dram_end_usb_dwcotg_rom;
+#else
+    //Two reserved members are defined here, so the structure will not be broken,
+    //please keep in mind that there is no memory can be released between
+    //dram_start_usb_reserved_rom ~ dram_end_usb_reserved_rom.
+    void *dram_start_usb_reserved_rom;
+    void *dram_end_usb_reserved_rom;
+#endif
+
     void *dram_start_uart_rom;
     void *dram_end_uart_rom;
-
 } ets_rom_layout_t;
 
 extern const ets_rom_layout_t * const ets_rom_layout_p;

+ 0 - 2
tools/ci/check_copyright_ignore.txt

@@ -486,7 +486,6 @@ components/esp_rom/include/esp32c3/rom/crc.h
 components/esp_rom/include/esp32c3/rom/digital_signature.h
 components/esp_rom/include/esp32c3/rom/esp_flash.h
 components/esp_rom/include/esp32c3/rom/hmac.h
-components/esp_rom/include/esp32c3/rom/rom_layout.h
 components/esp_rom/include/esp32c3/rom/rsa_pss.h
 components/esp_rom/include/esp32c3/rom/sha.h
 components/esp_rom/include/esp32c3/rom/tjpgd.h
@@ -504,7 +503,6 @@ components/esp_rom/include/esp32s3/rom/crc.h
 components/esp_rom/include/esp32s3/rom/digital_signature.h
 components/esp_rom/include/esp32s3/rom/hmac.h
 components/esp_rom/include/esp32s3/rom/opi_flash.h
-components/esp_rom/include/esp32s3/rom/rom_layout.h
 components/esp_rom/include/esp32s3/rom/rsa_pss.h
 components/esp_rom/include/esp32s3/rom/sha.h
 components/esp_rom/include/esp32s3/rom/tjpgd.h