From 0d0fa7bda2a4b7ca784800b1aecc5afe7ee0e025 Mon Sep 17 00:00:00 2001 From: jiangguangming Date: Tue, 23 May 2023 16:06:44 +0800 Subject: [PATCH] esp_rom: fix rom layout issues --- .../esp_rom/include/esp32c2/rom/rom_layout.h | 30 ++++++++++++- .../esp_rom/include/esp32c3/rom/rom_layout.h | 37 +++++++++------- .../esp_rom/include/esp32c6/rom/rom_layout.h | 21 ++++++---- .../esp_rom/include/esp32h2/rom/rom_layout.h | 35 ++++++++++++---- .../esp_rom/include/esp32s3/rom/rom_layout.h | 42 +++++++++++-------- tools/ci/check_copyright_ignore.txt | 2 - 6 files changed, 113 insertions(+), 54 deletions(-) diff --git a/components/esp_rom/include/esp32c2/rom/rom_layout.h b/components/esp_rom/include/esp32c2/rom/rom_layout.h index 2a5f03126f..1ef53fee7b 100644 --- a/components/esp_rom/include/esp32c2/rom/rom_layout.h +++ b/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; diff --git a/components/esp_rom/include/esp32c3/rom/rom_layout.h b/components/esp_rom/include/esp32c3/rom/rom_layout.h index cd1730c840..777d465272 100644 --- a/components/esp_rom/include/esp32c3/rom/rom_layout.h +++ b/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; diff --git a/components/esp_rom/include/esp32c6/rom/rom_layout.h b/components/esp_rom/include/esp32c6/rom/rom_layout.h index 0775a366a0..18b6d79ba7 100644 --- a/components/esp_rom/include/esp32c6/rom/rom_layout.h +++ b/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; diff --git a/components/esp_rom/include/esp32h2/rom/rom_layout.h b/components/esp_rom/include/esp32h2/rom/rom_layout.h index 032919f5cd..567bc9ef88 100644 --- a/components/esp_rom/include/esp32h2/rom/rom_layout.h +++ b/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; diff --git a/components/esp_rom/include/esp32s3/rom/rom_layout.h b/components/esp_rom/include/esp32s3/rom/rom_layout.h index 289fbd60ba..418afbef12 100644 --- a/components/esp_rom/include/esp32s3/rom/rom_layout.h +++ b/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 @@ -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; diff --git a/tools/ci/check_copyright_ignore.txt b/tools/ci/check_copyright_ignore.txt index 3efe7da1cf..d57ecad0a6 100644 --- a/tools/ci/check_copyright_ignore.txt +++ b/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