122 lines
3.4 KiB
Plaintext
Executable File
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)
|
|
}
|
|
}
|