helloyifa 31f179cb76 init
2025-05-15 14:19:56 +08:00

122 lines
3.4 KiB
Plaintext
Executable File

USER_SECTIONS .nds_vector
USER_SECTIONS .itcm_sec_code
USER_SECTIONS .dtcm_sec_data
USER_SECTIONS .dtcm_sec_bss
USER_SECTIONS .bt_spec_data
USER_SECTIONS .ble_bss_data
USER_SECTIONS .video_spec_data
USER_SECTIONS .media_bss_data
USER_SECTIONS .swap_data
USER_SECTIONS .itcm
USER_SECTIONS .interrupt.text
USER_SECTIONS .interrupt.HalTrapVector.text.HalTrapVector
DEFINE CPU0_FLASH_START 0x10000
DEFINE CPU0_FLASH_SIZE 0x1d0000
CPU0_LOAD1 CPU0_FLASH_START CPU0_FLASH_SIZE
{
FLASH1 +0
{
* KEEP (.nds_vector)
* KEEP (.interrupt.text)
* KEEP (.interrupt.HalTrapVector.text.HalTrapVector)
* KEEP (.itcm)
* (+RO)
}
ITCM 0x10000000 0x8000
{
LOADADDR NEXT _itcm_lma_start
ADDR NEXT _itcm_ema_start
* KEEP (.itcm_sec_code LMA_FORCE_ALIGN)
LOADADDR _itcm_lma_end
ADDR _itcm_ema_end
}
DTCM 0x20000400 0x6C00
{
LOADADDR NEXT _dtcm_lma_start
ADDR NEXT _dtcm_ema_start
* KEEP (.dtcm_sec_data LMA_FORCE_ALIGN)
;WiFi Data Path
*bam.c.obj *ke_env.c.obj *hal_dma.c.obj *hal_machw.c.obj *txu_cntrl.c.obj *bam_task.c.obj(*data* LMA_FORCE_ALIGN)
*rxl_cntrl.c.obj *tx_swdesc.c.obj *txl_cfm.c.obj *txl_cntrl.c.obj (*data* LMA_FORCE_ALIGN)
;WiFi SM/MM/RC/VIF/TD/CHAN/PS
*sta_mgmt.c.obj *vif_mgmt.c.obj *rc.c.obj *rwnx.c.obj *me_task.c.obj *sm.c.obj(*data* LMA_FORCE_ALIGN)
*sm_task.c.obj *me.c.obj *mm.c.obj *mm_bcn.c.obj *mm_task.c.obj *mm_timer.c.obj(*data* LMA_FORCE_ALIGN)
*td.c.obj *chan.c.obj *ps.c.obj(*data* LMA_FORCE_ALIGN)
;WiFi SCAN/APM
*scan_task.c.obj *scan.c.obj *scanu.c.obj *scanu_task.c.obj(*data* LMA_FORCE_ALIGN)
;Flowling obj can't move to DTCM
;*hal_desc.c.obj *rxu_cntrl.c.obj *txl_agg.c.obj *txl_he.c.obj *txl_buffer_shared.c.obj *txl_frame_shared.c.obj(*data* LMA_FORCE_ALIGN)
;*rxl_hwdesc.c.obj *scanu_shared.c.obj *scan_shared.c.obj *apm_task.c.obj(*data* LMA_FORCE_ALIGN)
LOADADDR _dtcm_lma_end
ADDR _dtcm_ema_end
ADDR _dtcm_bss_start
* KEEP (.dtcm_sec_bss)
;WiFi Data Path
*bam.c.obj *ke_env.c.obj *hal_dma.c.obj *hal_machw.c.obj *txu_cntrl.c.obj *bam_task.c.obj(+ZI)
*rxl_cntrl.c.obj *tx_swdesc.c.obj *txl_cfm.c.obj *txl_cntrl.c.obj (+ZI)
;WiFi SM/MM/RC/VIF/TD/CHAN/PS
*sta_mgmt.c.obj *vif_mgmt.c.obj *rc.c.obj *rwnx.c.obj *me_task.c.obj *sm.c.obj(+ZI)
*sm_task.c.obj *me.c.obj *mm.c.obj *mm_bcn.c.obj *mm_task.c.obj *mm_timer.c.obj(+ZI)
*td.c.obj *chan.c.obj *ps.c.obj(+ZI)
;WiFi SCAN/APM
*scan_task.c.obj *scan.c.obj *scanu.c.obj *scanu_task.c.obj(+ZI)
;Flowling obj can't move to DTCM
;*hal_desc.c.obj *rxu_cntrl.c.obj *txl_agg.c.obj *txl_he.c.obj *txl_buffer_shared.c.obj *txl_frame_shared.c.obj(+ZI)
;*rxl_hwdesc.c.obj *scanu_shared.c.obj *scan_shared.c.obj apm_task.c.obj(+ZI)
ADDR _dtcm_bss_end
}
SRAM_VIDEO 0x30000000 0xA000
{
ADDR NEXT _video_start
* KEEP (.video_spec_data)
}
SRAM_BT 0x3000A000 0x16000
{
LOADADDR NEXT _bt_data_lmastart
ADDR NEXT _bt_data_start
* KEEP (.bt_spec_data LMA_FORCE_ALIGN)
* KEEP (.ble_bss_data LMA_FORCE_ALIGN)
*rwip.c.obj *rwip_driver.c.obj *uart_ble.c.obj *hci_packet_parser.c.obj(+ZI)
*sdp_common.c.obj *app_ble.c.obj *prf.c.obj *gapm.c.obj(+ZI)
*ble_util_buf.c.obj *sch_prog.c.obj *sch_slice.c.obj *llm.c.obj(+ZI)
ADDR _bt_data_end
}
SRAM_DATA 0x30020000 0x58C00
{
LOADADDR NEXT _data_lmastart
ADDR NEXT _data_start
*(+RW,+ZI LMA_FORCE_ALIGN)
STACK = 0x20007FE0
}
SWAP 0x3007FC00 0x400
{
ADDR NEXT _swap_start
* KEEP (.swap_data)
}
}