esp_rom: fix rom layout issues

pull/12186/head
Jiang Guang Ming 2023-07-07 01:32:28 -07:00
rodzic 5efdd24f24
commit efae7d0d04
2 zmienionych plików z 45 dodań i 34 usunięć

Wyświetl plik

@ -1,16 +1,8 @@
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD /*
// * SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
// Licensed under the Apache License, Version 2.0 (the "License"); *
// you may not use this file except in compliance with the License. * SPDX-License-Identifier: Apache-2.0
// 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 #pragma once
@ -22,6 +14,7 @@ extern "C" {
#define SUPPORT_BTDM 1 #define SUPPORT_BTDM 1
#define SUPPORT_WIFI 1 #define SUPPORT_WIFI 1
#define SUPPORT_USB_DWCOTG 0
/* Structure and functions for returning ROM global layout /* Structure and functions for returning ROM global layout
* *
@ -36,6 +29,7 @@ typedef struct {
void *stack_app; void *stack_app;
/* BTDM data */ /* BTDM data */
#if SUPPORT_BTDM
void *data_start_btdm; void *data_start_btdm;
void *data_end_btdm; void *data_end_btdm;
void *bss_start_btdm; void *bss_start_btdm;
@ -46,12 +40,14 @@ typedef struct {
void *data_end_interface_btdm; void *data_end_interface_btdm;
void *bss_start_interface_btdm; void *bss_start_interface_btdm;
void *bss_end_interface_btdm; void *bss_end_interface_btdm;
#endif
/* Other DRAM ranges */ /* Other DRAM ranges */
#if SUPPORT_BTDM || SUPPORT_WIFI #if SUPPORT_BTDM || SUPPORT_WIFI
void *dram_start_phyrom; void *dram_start_phyrom;
void *dram_end_phyrom; void *dram_end_phyrom;
#endif #endif
#if SUPPORT_WIFI #if SUPPORT_WIFI
void *dram_start_coexist; void *dram_start_coexist;
void *dram_end_coexist; void *dram_end_coexist;
@ -72,11 +68,20 @@ typedef struct {
void *bss_start_interface_pp; void *bss_start_interface_pp;
void *bss_end_interface_pp; void *bss_end_interface_pp;
#endif #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_start_uart_rom;
void *dram_end_uart_rom; void *dram_end_uart_rom;
} ets_rom_layout_t; } ets_rom_layout_t;
extern const ets_rom_layout_t * const ets_rom_layout_p; extern const ets_rom_layout_t * const ets_rom_layout_p;

Wyświetl plik

@ -1,16 +1,8 @@
// Copyright 2020 Espressif Systems (Shanghai) PTE LTD /*
// * SPDX-FileCopyrightText: 2020-2023 Espressif Systems (Shanghai) CO LTD
// Licensed under the Apache License, Version 2.0 (the "License"); *
// you may not use this file except in compliance with the License. * SPDX-License-Identifier: Apache-2.0
// 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 #pragma once
#include <stdint.h> #include <stdint.h>
@ -19,8 +11,10 @@
extern "C" { extern "C" {
#endif #endif
#define SUPPORT_WIFI 1 #define SUPPORT_WIFI 1
#define SUPPORT_BTDM 1 #define SUPPORT_BTDM 1
#define SUPPORT_USB_DWCOTG 1
/* Structure and functions for returning ROM global layout /* Structure and functions for returning ROM global layout
* *
* This is for address symbols defined in the linker script, which may change during ECOs. * This is for address symbols defined in the linker script, which may change during ECOs.
@ -34,6 +28,7 @@ typedef struct {
void *stack_app; void *stack_app;
/* BTDM data */ /* BTDM data */
#if SUPPORT_BTDM
void *data_start_btdm; void *data_start_btdm;
void *data_end_btdm; void *data_end_btdm;
void *bss_start_btdm; void *bss_start_btdm;
@ -44,12 +39,14 @@ typedef struct {
void *data_end_interface_btdm; void *data_end_interface_btdm;
void *bss_start_interface_btdm; void *bss_start_interface_btdm;
void *bss_end_interface_btdm; void *bss_end_interface_btdm;
#endif
/* Other DRAM ranges */ /* Other DRAM ranges */
#if SUPPORT_BTDM || SUPPORT_WIFI #if SUPPORT_BTDM || SUPPORT_WIFI
void *dram_start_phyrom; void *dram_start_phyrom;
void *dram_end_phyrom; void *dram_end_phyrom;
#endif #endif
#if SUPPORT_WIFI #if SUPPORT_WIFI
void *dram_start_coexist; void *dram_start_coexist;
void *dram_end_coexist; void *dram_end_coexist;
@ -70,11 +67,20 @@ typedef struct {
void *bss_start_interface_pp; void *bss_start_interface_pp;
void *bss_end_interface_pp; void *bss_end_interface_pp;
#endif #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_start_uart_rom;
void *dram_end_uart_rom; void *dram_end_uart_rom;
} ets_rom_layout_t; } ets_rom_layout_t;
extern const ets_rom_layout_t * const ets_rom_layout_p; extern const ets_rom_layout_t * const ets_rom_layout_p;