KT24-1110_65E-HA-651B/include_lib/btctrler/port/br25/btctler_lib.ld
2024-11-10 18:44:17 +08:00

238 lines
6.2 KiB
Plaintext

SECTIONS
{
.data : ALIGN(4)
{
. = ALIGN(4);
btctler_data_start = .;
BTCTLER_CONTROLLER_DATA_START = .;
*(.bt_rf_data)
*(.vendor_manager_data)
*(.device_manager_data)
*(.hci_controller_data)
*(.hci_interface_data)
BTCTLER_CONTROLLER_DATA_SIZE = ABSOLUTE(. - BTCTLER_CONTROLLER_DATA_START);
BTCTLER_LE_CONTROLLER_DATA_START = .;
*(.ble_ll_data)
*(.ble_hci_data)
*(.classic_hci_data)
*(.ble_rf_data)
BTCTLER_LE_CONTROLLER_DATA_SIZE = ABSOLUTE(. - BTCTLER_LE_CONTROLLER_DATA_START);
BTCTLER_CL_DATA_START = .;
*(.classic_lmp_data)
*(.classic_lmp_auth_data)
*(.classic_lmp_bigint_data)
*(.classic_lmp_crypt_data)
*(.classic_lmp_ecdh_data)
*(.classic_lmp_linkbulk_data)
*(.classic_lmp_hmac_data)
*(.classic_rf_data)
*(.classic_bb_data)
BTCTLER_CL_DATA_SIZE = ABSOLUTE(. - BTCTLER_CL_DATA_START);
. = ALIGN(4);
btctler_data_end = .;
} > ram0
.bss (NOLOAD) :ALIGN(4)
{
. = ALIGN(4);
btctler_bss_start = .;
BTCTLER_CONTROLLER_BSS_START = .;
#if TCFG_BLUETOOTH_BACK_MODE
*(.bd_base)
*(.bredr_rxtx_bulk)
acl_tx_pool = .;
*(.bredr_tx_bulk)
#ifdef CONFIG_BT_TX_BUFF_SIZE
acl_tx_pool_end = acl_tx_pool + CONFIG_BT_TX_BUFF_SIZE;
#else
acl_tx_pool_end = acl_tx_pool;
#endif
. = acl_tx_pool_end;
acl_rx_pool = .;
*(.bredr_rx_bulk)
#ifdef CONFIG_BT_RX_BUFF_SIZE
acl_rx_pool_end = acl_rx_pool + CONFIG_BT_RX_BUFF_SIZE;
#else
acl_rx_pool_end = acl_rx_pool;
#endif
. = acl_rx_pool_end;
tws_bulk_pool = .;
#ifdef CONFIG_TWS_BULK_POOL_SIZE
tws_bulk_pool_end = tws_bulk_pool + CONFIG_TWS_BULK_POOL_SIZE;
#else
tws_bulk_pool_end = tws_bulk_pool;
#endif
. = tws_bulk_pool_end;
#endif
*(.bt_rf_bss)
*(.hci_controller_bss)
*(.hci_interface_bss)
*(.device_manager_bss)
*(.vendor_manager_bss)
BTCTLER_CONTROLLER_BSS_SIZE = ABSOLUTE(. - BTCTLER_CONTROLLER_BSS_START);
BTCTLER_LE_CONTROLLER_BSS_START = .;
*(.ble_hci_bss)
*(.ble_ll_bss)
*(.ble_rf_bss)
BTCTLER_LE_CONTROLLER_BSS_SIZE = ABSOLUTE(. - BTCTLER_LE_CONTROLLER_BSS_START);
BTCTLER_CL_BSS_START = .;
*(.classic_rf_bss)
*(.classic_lmp_bss)
*(.classic_lmp_auth_bss)
*(.classic_lmp_bigint_bss)
*(.classic_lmp_crypt_bss)
*(.classic_lmp_ecdh_bss)
*(.classic_lmp_linkbulk_bss)
*(.classic_lmp_hmac_bss)
*(.classic_bb_bss)
*(.classic_hci_bss)
BTCTLER_CL_BSS_SIZE = ABSOLUTE(. - BTCTLER_CL_BSS_START);
. = ALIGN(4);
btctler_bss_end = .;
} > ram0
.text : ALIGN(4)
{
btctler_code_start = .;
BTCTLER_CONTROLLER_CODE_START = .;
*(.bt_rf_const)
*(.bt_rf_code)
*(.vendor_manager_const)
*(.vendor_manager_code)
*(.device_manager_const)
*(.device_manager_code)
*(.hci_controller_const)
*(.hci_controller_code)
*(.hci_interface_const)
*(.hci_interface_code)
BTCTLER_CONTROLLER_CODE_SIZE = ABSOLUTE(. - BTCTLER_CONTROLLER_CODE_START);
BTCTLER_LE_CONTROLLER_CODE_START = .;
*(.ble_rf_const)
*(.ble_rf_code)
*(.ble_ll_const)
*(.ble_ll_code)
*(.ble_hci_const)
*(.ble_hci_code)
*(.classic_hci_const)
*(.classic_hci_code)
BTCTLER_LE_CONTROLLER_CODE_SIZE = ABSOLUTE(. - BTCTLER_LE_CONTROLLER_CODE_START);
BTCTLER_CL_CODE_START = .;
*(.bredr_irq)
*(.bredr_irq_code)
*(.bredr_irq_const)
*(.classic_lmp_const)
*(.classic_lmp_auth_const)
*(.classic_lmp_bigint_const)
*(.classic_lmp_crypt_const)
*(.classic_lmp_ecdh_const)
*(.classic_lmp_hmac_const)
*(.classic_lmp_code)
*(.classic_lmp_auth_code)
*(.classic_lmp_bigint_code)
*(.classic_lmp_crypt_code)
*(.classic_lmp_ecdh_code)
*(.classic_lmp_hmac_code)
*(.classic_rf_const)
*(.classic_rf_code)
*(.classic_bb_const)
*(.classic_bb_code)
BTCTLER_CL_CODE_SIZE = ABSOLUTE(. - BTCTLER_CL_CODE_START);
. = ALIGN(4);
*(.classic_tws_const)
*(.classic_tws_code)
*(.classic_tws_code.esco)
*(.lmp_irq_code)
*(.link_bulk_code)
*(.frame_irq_code)
. = ALIGN(4);
*(.link_task_const)
*(.link_task_code)
. = ALIGN(4);
*(.classic_irq_const)
*(.classic_irq_code)
. = ALIGN(4);
*(.tws_irq_code)
. = ALIGN(4);
tws_sync_call_begin = .;
KEEP(*(.tws_sync_call))
tws_sync_call_end = .;
. = ALIGN(4);
tws_func_stub_begin = .;
KEEP(*(.tws_func_stub))
tws_func_stub_end = .;
*(.tws_media_sync_code)
*(.tws_media_sync_const)
*(.tws_data_forward_code)
*(.tws_data_forward_const)
. = ALIGN(4);
tws_sync_channel_begin = .;
KEEP(*(.tws_sync_channel.0))
KEEP(*(.tws_sync_channel.1))
KEEP(*(.tws_sync_channel.2))
KEEP(*(.tws_sync_channel.3))
KEEP(*(.tws_sync_channel.4))
KEEP(*(.tws_sync_channel.5))
KEEP(*(.tws_sync_channel.6))
KEEP(*(.tws_sync_channel.7))
KEEP(*(.tws_sync_channel.8))
KEEP(*(.tws_sync_channel.9))
KEEP(*(.tws_sync_channel.10))
KEEP(*(.tws_sync_channel.11))
KEEP(*(.tws_sync_channel.12))
KEEP(*(.tws_sync_channel.13))
tws_sync_channel_end = .;
btctler_code_end = .;
. = ALIGN(4);
} > code0
/*代码统计 Code & RAM : 蓝牙协议栈*/
BTCTLER_LE_RAM_TOTAL = BTCTLER_LE_CONTROLLER_DATA_SIZE + BTCTLER_LE_CONTROLLER_BSS_SIZE;
BTCTLER_LE_CODE_TOTAL = BTCTLER_LE_CONTROLLER_CODE_SIZE;
BTCTLER_CL_RAM_TOTAL = BTCTLER_CL_DATA_SIZE + BTCTLER_CL_BSS_SIZE;
BTCTLER_CL_CODE_TOTAL = BTCTLER_CL_CODE_SIZE;
BTCTLER_COMMON_RAM_TOTAL = BTCTLER_CONTROLLER_BSS_SIZE + BTCTLER_CONTROLLER_DATA_SIZE;
BTCTLER_COMMON_CODE_TOTAL = BTCTLER_CONTROLLER_CODE_SIZE ;
BTCTLER_RAM_TOTAL = (btctler_data_end - btctler_data_start) + (btctler_bss_end - btctler_bss_start);
BTCTLER_CODE_TOTAL = (btctler_code_end - btctler_code_start);
}