📄 gsm_is_lj3_secure.template
字号:
/*
* Locosto Standalone PSP build for Virtio Linker Command file
*
* Target : ARM
*
* Platform : Locosto Virtio
*
* Copyright (c) Texas Instruments 2005
*
* Flash size -- 16MB, check I-sample spec
* remove Internal ROM
* Jump table check from release notes
* .out file is extracted and placed in Flash, copied to RAM in Cal+, store addresses for future reference
*/
-c /* Autoinitialize variables at runtime */
/*********************************/
/* SPECIFY THE SYSTEM MEMORY MAP */
/*********************************/
MEMORY
{
/* Secure Boot ROM */
BOOT_MEM (RXI) : org = 0x00000000 len = 0x00100000
/* CS0: External SRAM 2 Mbytes */
D_MEM0 (RW) : org = 0x00400000 len = 0x00800000
/* CS3: Flash 6 Mbytes */
/* Breaking into Multiple Segments , Thanks to V1.22E the Pre
* historic Tool chain */
P_MEM0 (RXI) : org = 0x06000000 len = 0x00410000
P_MEM1 (RXI) : org = 0x06410000 len = 0x002f0000
/* FFS Area */
FFS_MEM (RI) : org = 0x06700000 len = 0x00100000
/* CS3: Flash 8 Mbytes */
/* Breaking into Multiple Segments , Thanks to V1.22E the Pre
* historic Tool chain */
P_MEM2 (RXI) : org = 0x06800000 len = 0x00400000
P_MEM3 (RXI) : org = 0x06C00000 len = 0x00300000
S_ROM (RXI) : org = 0x08050000 len = 0x00030000
/* Allocate memory for MIDI and JPEG */
S_MEM_JPEG_JUMPTABLE (RXW) : org = 0x0804FB60 len = 0x00000250 /* JPEG Jump Table */
S_MEM_JUMPTABLE (RXW) : org = 0x0804FDB0 len = 0x00000250 /* MIDI Jump Table */
/* CS6: Calypso+ Internal SRAM 320 kbytes */
/* Code & Variables Memory */
S_MEM (RXW) : org = 0x08000000 len = 0x0004FB60
}
/***********************************************/
/* SPECIFY THE SECTIONS ALLOCATION INTO MEMORY */
/***********************************************/
/*
* Since the bootloader directly calls the INT_Initialize() routine located
* in int.s, this int.s code must always be mapped at the same address
* (usually in the second flash sector). Its length is about 0x500 bytes.
* Then comes the code that need to be loaded into the internal RAM.
*/
SECTIONS
{
.cert : {} > 0x06000000
.text : {} >> P_MEM0 /* Code. .text must be contiguous to .cert */
/* Entry point of the Firmware */
.start : {} > P_MEM0
/*
* Interrupt vector re-mapping management
*/
.intload : {} > P_MEM0
.indint : {} load = P_MEM0, run = 0x0800000C
/*
* Firmware's certificate location
*/
.inttext : {} > P_MEM0 /* int.s Code */
.bss_dar : > D_MEM0 /* DAR SWE Variables */
{
$(BSS_DAR_LIB)
}
.bss : > D_MEM0 /* Global & Static Variables */
{
$(BSS_BOOT_LIB)
}
/*
* All .bss sections, which must be mapped in internal RAM must be
* grouped in order to initialized the corresponding memory to 0.
* This initialization is done in int.s file before calling the Nucleus
* routine.
*/
GROUP
{
S_D_Mem /* Label of start address of .bss section in Int. RAM */
.DintMem
{
/*
* .bss sections of the application
*/
$(BSS_LIBS)
$(AUDIO_BSS_LIBS)
}
E_D_Mem /* Label of end address of .bss section in Int. RAM */
} > S_MEM
/*
* .text and .const sections which must be mapped in internal RAM.
*/
.ldfl : {} > P_MEM2 /* Used to know the start load address */
GROUP load = P_MEM2, run = 0x08000044
{
S_P_Mem /* Label of start address of .text & .const sections in Int. RAM */
.PIntMem
{
/*
* .text and .const sections of the application.
*
* The .veneer sections correspond exactly to .text:v&n sections
* implementing the veneer functions. The .text:v$n -> .veneer
* translation is performed by PTOOL software when PTOOL_OPTIONS
* environement variable is set to veneer_section.
*/
$(CONST_LIBS)
}
/* Add for EMIFS changes into internal RAM */
.emifconf
.nop_delay_sect
E_P_Mem /* Label of end address of .text and .const sections in Int. RAM */
}
/*
* The rest of the code is mapped in flash, however the trampolines
* load address should be consistent with .text.
*/
COMMENT2START
`trampolines load = P_MEM2 , run = S_MEM
COMMENT2END
/*
* The rest of the constants is mapped in flash.
*/
.cinit : {} > P_MEM3 /* Initialization Tables */
/* OMAPS00058957 start */
.pinit : {} > P_MEM2 /* C++ constructors if they exist */
/* OMAPS00058957 end */
.const : {} >> P_MEM3 | P_MEM1 /* Constant Data */
.drp_flash_data : {} > P_MEM1
.flashcnst : {} > P_MEM1
.l1s_global: {} > S_MEM
.HISR_stack: {} > S_MEM
API_HISR_global : {} > S_MEM
API_HISR_stack : {} > S_MEM
.stackandheap :> S_MEM /* System Stacks, etc... */
{
/* Leave 20 32bit words for register pushes. */
. = align(8);
. += 20 * 4;
/* Stack for abort and/or undefined modes. */
exception_stack = .;
/* Leave 38 32bit words for state saving on exceptions. */
_xdump_buffer = .;
. += 38 * 4;
. = align(8);
/* Beginning of stacks and heap area - 2.75 kbytes (int.s) */
stack_segment = .;
. += 0xB00;
}
.data : {} > D_MEM0 /* Initialized Data */
.sysmem : {} > D_MEM0 /* Dynamic Memory Allocation Area */
S_MEM_JUMPTABLE : {} > S_MEM_JUMPTABLE /* OMAPS00082333: MIDI Jump table */
JPEG_JUMP_TABLE : {} > S_MEM_JPEG_JUMPTABLE /* JPEG Jump Table */
/* AAC DMA input buffers are placed in ARM internal memory */
/* AAC_dma_input_buffer : {} > S_MEM */
/*We need to point to the global variables of JPEG components in the ROM */
emz_acChromCodeLen_var_sec: {} > 0x0807618c
emz_acChromCodeWord_var_sec: {} > 0x08075fa4
emz_ACCountTable0_var_sec: {} > 0x08076418
emz_ACCountTable1_var_sec: {} > 0x08076428
emz_acLumCodeLen_var_sec: {} > 0x080760e8
emz_acLumCodeWord_var_sec: {} > 0x08075e60
emz_ACLumTable0_var_sec: {} > 0x08076438
emz_ACLumTable1_var_sec: {} > 0x080764dc
emz_dcChromCodeLen_var_sec: {} > 0x0807626c
emz_dcChromCodeWord_var_sec: {} > 0x08076254
emz_DCChromTable_var_sec: {} > 0x08076408
emz_dcLumCodeLen_var_sec: {} > 0x08076248
emz_dcLumCodeWord_var_sec: {} > 0x08076230
emz_DCLumTable_var_sec: {} > 0x080763f8
emz_QuantTable_var_sec: {} > 0x080762f8
emz_sInvZigzagScan_EzdJpgEnc_var_sec: {} > 0x080762b8
emz_sInvZigzagScanMtx_var_sec: {} > 0x080766c0
emz_sPrePostMult_Jpeg_enc_var_sec: {} > 0x08076780
emz_sZigzagPreMult_var_sec: {} > 0x08076700
emz_zigzagScan_EzdJpgEnc_var_sec: {} > 0x08076278
.r2dbuffer : {} > D_MEM0 /* This Has to remain in external Memory */
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -