1.MEMORY关键字用于描述一个MCU ROM和RAM的内存地址分布(Memory Map),MEMORY中所做的内存描述主要用于SECTIONS中LMA和VMA的定义。

2.SECTIONS关键字用于定义output section(输出段)的相应input section(输入段)、LMA和VMA,是整个连接脚本中最为重要的部分。注:output section是实际存储在内存中的“段”,而input section是其构成成员,如.data为数据段,由所有全局变量构成(默认情况下);.text为代码段,由所有函数构成(默认情况下)...

3.下面我们首先来介绍MEMORY的语法,MEMORY的语法格式如下:

MEMORY
{
  <name> [(<attr>)] : ORIGIN = <origin>, LENGTH = <len>
  ...
}

其中<name>是所要定义的内存区域的名字,<origin>是其起始地址,<len>为内存区域的大小。另外,<attr>是可选的,并不重要,具体用法可参考GNU Linker的语法说明。

MEMORY的一个具体使用实例如下:

MEMORY
{
  rom (rx) : ORIGIN = , LENGTH = 256K  // MEMORY语法中可以使用如K、M和G这样的内存单位
  ram (!rx) : org = 0x40000000, l = 4M // ORIGIN可以写为org,而LENGTH可以写为l
}

4.在介绍SECTIONS的用法之前,我们先对之前提到的LMA和VMA进行说明:每个output section都有一个LMA和一个VMA,LMA是其存储地址,而VMA是其运行时地址,例如将全局变量g_Data所在数据段.data的LMA设为0x80000020(属于ROM地址),VMA设为0xD0004000(属于RAM地址),那么g_Data的值将存储在ROM中的0x80000020处,而程序运行时,用到g_Data的程序会到RAM中的0xD0004000处寻找它。

6.现在我们可以开始介绍SECTIONS了,SECTIONS的语法如下:

SECTIONS
{
  <sections−command>
  <sections−command>
  ...
}

其中主要的部分是<sections−command>,而SECTIONS{ }属于框架。<sections−command>的语法如下:

<section> [<address>] [(<type>)] : [AT(<lma>)]
{
  <output−section−command>
  <var{output−section−command>
  ...
} [><region>] [AT><lma region>] [:<phdr> :<phdr> ...] [=<fillexp>]

我们从使用的角度来讲解其语法:(假设有一个全局变量myData,我们用#pragma section命令将其定义为.myData段(input section))

(1)我们首先可以定义output section的名字,随便什么都可以,比如.my_data;

(2)然后我们可以定义其构成成员,*(.myData);

(3)接下来我们就要指定.my_data的LMA和VMA了,有4种方法:

  a) [<address>] + [AT(<lma>)];

  b) [<address>] + [AT><lma region>];

  c) [><region>] + [AT><lma region>];

  d) [><region>] + [AT(<lma>)].

  但是要注意这些用法的不同:[<address>] 和 [AT(<lma>)]必须指定具体的地址,而 [><region>] 和 [AT><lma region>]只需指定内存空间,具体地址紧接着上一个output section的末尾地址。

  经过以上步骤,我们得出如下section定义:(这里只列出2种)

SECTIONS
{
  .my_data ( 0xD0004000 ) : AT ( 0x80000020 )
  {
    *(.myData)
  }
  ...
}
SECTIONS
{
  .my_data :
  {
    *(.myData)
  } > ram AT> rom
  ...
}

  以上为了说明SECTION的语法,使用了全局变量这种LMA和VMA不同的例子。而对于代码段.text这种LMA与VMA相同的情况,由于默认情况下LMA=VMA,因此可以只定义VMA而不必指明LMA,例如:

.text :
{
*(.text)
*(.text.*)
. = ALIGN();
} > pfls0

7.最后,我们有必要提及“.”这个符号(不是.text、.data中的".",而是如上例中.=ALIGN(4);中的"."),以下介绍来自于HighTec编译器手册

8.最后的最后,附上英飞凌TC2xx的Linker file,其中的语法和用法值得深入的去学习,可以极大地加深对链接脚本的理解。由于本篇博文着重介绍链接脚本中最重要的SECTIONS关键字的使用,大家可能在下面的链接脚本示例中碰到很多本文未提及的语法,不过这些都可以在参考手册第19章中找到。

/* Default linker script, for normal executables */
OUTPUT_FORMAT("elf32-tricore")
OUTPUT_ARCH(tricore)
ENTRY(_START) __TRICORE_DERIVATE_MEMORY_MAP__ = 0x270; LCF_CSA0_SIZE = 8k;
LCF_USTACK0_SIZE = 2k;
LCF_ISTACK0_SIZE = 1k; LCF_CSA1_SIZE = 8k;
LCF_USTACK1_SIZE = 2k;
LCF_ISTACK1_SIZE = 1k; LCF_CSA2_SIZE = 8k;
LCF_USTACK2_SIZE = 2k;
LCF_ISTACK2_SIZE = 1k; LCF_HEAP_SIZE = 4k; LCF_DSPR2_START = 0x50000000;
LCF_DSPR2_SIZE = 120k; LCF_DSPR1_START = 0x60000000;
LCF_DSPR1_SIZE = 120k; LCF_DSPR0_START = 0x70000000;
LCF_DSPR0_SIZE = 112k; LCF_CSA2_OFFSET = (LCF_DSPR2_SIZE - 1k - LCF_CSA2_SIZE);
LCF_ISTACK2_OFFSET = (LCF_CSA2_OFFSET - - LCF_ISTACK2_SIZE);
LCF_USTACK2_OFFSET = (LCF_ISTACK2_OFFSET - - LCF_USTACK2_SIZE); LCF_CSA1_OFFSET = (LCF_DSPR1_SIZE - 1k - LCF_CSA1_SIZE);
LCF_ISTACK1_OFFSET = (LCF_CSA1_OFFSET - - LCF_ISTACK1_SIZE);
LCF_USTACK1_OFFSET = (LCF_ISTACK1_OFFSET - - LCF_USTACK1_SIZE); LCF_CSA0_OFFSET = (LCF_DSPR0_SIZE - 1k - LCF_CSA0_SIZE);
LCF_ISTACK0_OFFSET = (LCF_CSA0_OFFSET - - LCF_ISTACK0_SIZE);
LCF_USTACK0_OFFSET = (LCF_ISTACK0_OFFSET - - LCF_USTACK0_SIZE); LCF_HEAP0_OFFSET = (LCF_USTACK0_OFFSET - LCF_HEAP_SIZE);
LCF_HEAP1_OFFSET = (LCF_USTACK1_OFFSET - LCF_HEAP_SIZE);
LCF_HEAP2_OFFSET = (LCF_USTACK2_OFFSET - LCF_HEAP_SIZE); LCF_INTVEC0_START = 0x801F4000;
LCF_TRAPVEC0_START = 0x80000100;
LCF_TRAPVEC1_START = 0x801F6800;
LCF_TRAPVEC2_START = 0x801F6000; RESET = 0x80000020; MEMORY
{
dsram2_local (w!xp): org = 0xd0000000, len = 120K
dsram2 (w!xp): org = 0x50000000, len = 120K
psram2 (w!xp): org = 0x50100000, len = 24K dsram1_local (w!xp): org = 0xd0000000, len = 120K
dsram1 (w!xp): org = 0x60000000, len = 120K
psram1 (w!xp): org = 0x60100000, len = 24K dsram0_local (w!xp): org = 0xd0000000, len = 112K
dsram0 (w!xp): org = 0x70000000, len = 112K
psram0 (w!xp): org = 0x70100000, len = 24K psram_local (w!xp): org = 0xc0000000, len = 24K pfls0 (rx!p): org = 0x80000000, len = 2M
pfls0_nc (rx!p): org = 0xa0000000, len = 2M pfls1 (rx!p): org = 0x80200000, len = 2M /*Not used to allocate and sections*/
pfls1_nc (rx!p): org = 0xa0200000, len = 2M /*Not used to allocate and sections*/ dfls0 (rx!p): org = 0xaf000000, len = 384K lmuram (w!xp): org = 0x90000000, len = 32K
lmuram_nc (w!xp): org = 0xb0000000, len = 32K edmem (w!xp): org = 0x9f000000, len = 1M
edmem_nc (w!xp): org = 0xbf000000, len = 1M
} /* map local memory address to a global address */
REGION_MAP( CPU0 , ORIGIN(dsram0_local), LENGTH(dsram0_local), ORIGIN(dsram0))
REGION_MAP( CPU1 , ORIGIN(dsram1_local), LENGTH(dsram1_local), ORIGIN(dsram1))
REGION_MAP( CPU2 , ORIGIN(dsram2_local), LENGTH(dsram2_local), ORIGIN(dsram2)) /*Un comment one of the below statements to enable CpuX DMI RAM to hold global variables*/
/*REGION_ALIAS( default_ram , dsram0)*/
REGION_ALIAS( default_ram , dsram1)
/*REGION_ALIAS( default_ram , dsram2)*/ CORE_ID = GLOBAL ; SECTIONS
{
/*This section is always required as Boot mode header 0 address absolutely restricted at address 0x80000000*/
.bmhd_0 (0x80000000) : FLAGS(arl)
{
BootModeHeader0 = .;
KEEP (*(.bmhd_0))
} > pfls0 /*This section is always required as Boot mode header 1 address absolutely restricted at address 0x80020000*/
.bmhd_1 (0x80020000) : FLAGS(arl)
{
BootModeIndex = .;
KEEP (*(.bmhd_1));
} > pfls0 /*This section is always required as user start address absolutely restricted at address 0x80000020*/
.startup (0x80000020) : FLAGS(rxl)
{
BootModeIndex = .;
. = ALIGN();
KEEP (*(.start));
. = ALIGN();
} > pfls0 =0x800 /*This section contains the data indirection pointers to interface external devices*/
.interface_const (0x80000040) :
{
__IF_CONST = .;
KEEP (*(.interface_const));
. = ALIGN();
} > pfls0 .traptab_tc0 (LCF_TRAPVEC0_START) :
{
PROVIDE(__TRAPTAB_CPU0 = .);
KEEP (*(.traptab_cpu0));
} > pfls0 .zrodata : FLAGS(arl)
{
*(.zrodata)
*(.zrodata.*)
} > pfls0 .sdata2 : FLAGS(arsl)
{
*(.srodata)
*(.srodata.*)
} > pfls0 _SMALL_DATA2_ = SIZEOF(CORE_SEC(.sdata2)) ? ADDR(CORE_SEC(.sdata2)) + 32k : (ADDR(CORE_SEC(.sdata2)) & 0xF0000000) + 32k ;
__A1_MEM = _SMALL_DATA2_; .rodata : FLAGS(arl)
{
*(.rodata)
*(.rodata.*)
*(.gnu.linkonce.r.*)
/*
* Create the clear and copy tables that tell the startup code
* which memory areas to clear and to copy, respectively.
*/
. = ALIGN() ;
PROVIDE(__clear_table = .) ;
LONG( + ADDR(.CPU2.zbss)); LONG(SIZEOF(.CPU2.zbss));
LONG( + ADDR(.CPU2.bss)); LONG(SIZEOF(.CPU2.bss));
LONG( + ADDR(.CPU1.zbss)); LONG(SIZEOF(.CPU1.zbss));
LONG( + ADDR(.CPU1.bss)); LONG(SIZEOF(.CPU1.bss));
LONG( + ADDR(.CPU0.zbss)); LONG(SIZEOF(.CPU0.zbss));
LONG( + ADDR(.CPU0.bss)); LONG(SIZEOF(.CPU0.bss));
LONG( + ADDR(.zbss)); LONG(SIZEOF(.zbss));
LONG( + ADDR(.sbss)); LONG(SIZEOF(.sbss));
LONG( + ADDR(.bss)); LONG(SIZEOF(.bss));
LONG( + ADDR(.sbss4)); LONG(SIZEOF(.sbss4));
LONG( + ADDR(.bss_emem)); LONG(SIZEOF(.bss_emem));
LONG(-); LONG(-);
PROVIDE(__copy_table = .) ;
LONG(LOADADDR(.CPU2.zdata)); LONG( + ADDR(.CPU2.zdata)); LONG(SIZEOF(.CPU2.zdata));
LONG(LOADADDR(.CPU2.data)); LONG( + ADDR(.CPU2.data)); LONG(SIZEOF(.CPU2.data));
LONG(LOADADDR(.CPU1.zdata)); LONG( + ADDR(.CPU1.zdata)); LONG(SIZEOF(.CPU1.zdata));
LONG(LOADADDR(.CPU1.data)); LONG( + ADDR(.CPU1.data)); LONG(SIZEOF(.CPU1.data));
LONG(LOADADDR(.CPU0.zdata)); LONG( + ADDR(.CPU0.zdata)); LONG(SIZEOF(.CPU0.zdata));
LONG(LOADADDR(.CPU0.data)); LONG( + ADDR(.CPU0.data)); LONG(SIZEOF(.CPU0.data));
LONG(LOADADDR(.zdata)); LONG( + ADDR(.zdata)); LONG(SIZEOF(.zdata));
LONG(LOADADDR(.sdata)); LONG( + ADDR(.sdata)); LONG(SIZEOF(.sdata));
LONG(LOADADDR(.data)); LONG( + ADDR(.data)); LONG(SIZEOF(.data));
LONG(LOADADDR(.data_emem)); LONG( + ADDR(.data_emem)); LONG(SIZEOF(.data_emem));
LONG(LOADADDR(.data_lmu)); LONG( + ADDR(.data_lmu)); LONG(SIZEOF(.data_lmu));
LONG(LOADADDR(.sdata4)); LONG( + ADDR(.sdata4)); LONG(SIZEOF(.sdata4));
LONG(LOADADDR(.CPU0.psram_text)); LONG( + ADDR(.CPU0.psram_text)); LONG(SIZEOF(.CPU0.psram_text));
LONG(LOADADDR(.CPU1.psram_text)); LONG( + ADDR(.CPU1.psram_text)); LONG(SIZEOF(.CPU1.psram_text));
LONG(LOADADDR(.CPU2.psram_text)); LONG( + ADDR(.CPU2.psram_text)); LONG(SIZEOF(.CPU2.psram_text));
LONG(-); LONG(-); LONG(-);
. = ALIGN();
} > pfls0 .text : FLAGS(axl)
{
*(.text)
*(.text.*)
*(.gnu.linkonce.t.*)
*(.gnu.warning) /* .gnu.warning sections are handled specially by elf32.em. */
. = ALIGN();
} > pfls0 /*
* C++ exception handling tables. NOTE: gcc emits .eh_frame
* sections when compiling C sources with debugging enabled (-g).
* If you can be sure that your final application consists
* exclusively of C objects (i.e., no C++ objects), you may use
* the -R option of the "strip" and "objcopy" utilities to remove
* the .eh_frame section from the executable.
*/
.eh_frame :
{
*(.gcc_except_table)
__EH_FRAME_BEGIN__ = . ;
KEEP (*(.eh_frame))
__EH_FRAME_END__ = . ;
. = ALIGN();
} > pfls0 /*
* Constructors and destructors.
*/
.ctors : FLAGS(ar)
{
__CTOR_LIST__ = . ;
LONG((__CTOR_END__ - __CTOR_LIST__) / - );
*(.ctors)
LONG() ;
__CTOR_END__ = . ;
. = ALIGN();
} > pfls0
.dtors : FLAGS(ar)
{
__DTOR_LIST__ = . ;
LONG((__DTOR_END__ - __DTOR_LIST__) / - );
*(.dtors)
LONG() ;
__DTOR_END__ = . ;
. = ALIGN();
} > pfls0 .traptab_tc2 (LCF_TRAPVEC2_START) :
{
PROVIDE(__TRAPTAB_CPU2 = .);
KEEP (*(.traptab_cpu2));
} > pfls0 .traptab_tc1 (LCF_TRAPVEC1_START) :
{
PROVIDE(__TRAPTAB_CPU1 = .);
KEEP (*(.traptab_cpu1));
} > pfls0
} /*Near data sections*/ CORE_ID = CPU2 ; SECTIONS
{
CORE_SEC(.zdata) (LCF_DSPR2_START): FLAGS(awzl)
{
. = ALIGN() ;
*(.zdata_cpu2)
*(.zdata_cpu2.*)
} > dsram2 AT> pfls0 CORE_SEC(.zbss) (NOLOAD): FLAGS(awz)
{
. = ALIGN() ;
*(.zbss_cpu2)
*(.zbss_cpu2.*)
} > dsram2 } CORE_ID = CPU1; SECTIONS
{
CORE_SEC(.zdata) (LCF_DSPR1_START): FLAGS(awzl)
{
. = ALIGN() ;
*(.zdata_cpu1)
*(.zdata_cpu1.*)
} > dsram1 AT> pfls0 CORE_SEC(.zbss): FLAGS(awz)
{
. = ALIGN() ;
*(.zbss_cpu1)
*(.zbss_cpu1.*)
} > dsram1
} CORE_ID = CPU0; SECTIONS
{
CORE_SEC(.zdata) (LCF_DSPR0_START): FLAGS(awzl)
{
. = ALIGN() ;
*(.zdata_cpu0)
*(.zdata_cpu0.*)
} > dsram0 AT> pfls0 CORE_SEC(.zbss) (NOLOAD): FLAGS(awz)
{
. = ALIGN() ;
*(.zbss_cpu0)
*(.zbss_cpu0.*)
} > dsram0
} /*RAM sections without cpu sufix will go to default ram defined above with REGION_ALIAS*/ CORE_ID = GLOBAL; SECTIONS
{
CORE_SEC(.zdata) : FLAGS(awzl)
{
. = ALIGN() ;
*(.zdata)
*(.zdata.*)
*(.gnu.linkonce.z.*)
} > default_ram AT> pfls0 CORE_SEC(.zbss) (NOLOAD) : FLAGS(awz)
{
. = ALIGN() ;
*(.zbss)
*(.zbss.*)
*(.bbss)
*(.bbss.*)
*(.gnu.linkonce.zb.*)
} > default_ram CORE_SEC(.sdata) : FLAGS(awsl)
{
. = ALIGN() ;
*(.sdata)
*(.sdata.*)
} > default_ram AT> pfls0
_SMALL_DATA_ = SIZEOF(CORE_SEC(.sdata)) ? ADDR(CORE_SEC(.sdata)) + 32k : (ADDR(CORE_SEC(.sdata)) & 0xF0000000) + 32k ;
__A0_MEM = _SMALL_DATA_; CORE_SEC(.sbss) (NOLOAD): FLAGS(aws)
{
. = ALIGN() ;
*(.sbss)
*(.sbss.*)
} > default_ram CORE_SEC(.data) : FLAGS(awl)
{
. = ALIGN() ;
*(.data)
*(.data.*)
*(.gnu.linkonce.d.*)
} > default_ram AT> pfls0 CORE_SEC(.bss) (NOLOAD) : FLAGS(aw)
{
. = ALIGN() ;
*(.bss)
*(.bss.*)
*(.gnu.linkonce.b.*)
} > default_ram .heap : FLAGS(aw)
{
. = ALIGN();
__HEAP = .;
. += LCF_HEAP_SIZE;
__HEAP_END = .;
} > default_ram
} CORE_ID = CPU2 ; SECTIONS
{
CORE_SEC(.data) : FLAGS(awl)
{
. = ALIGN() ;
*(.data_cpu2)
*(.data_cpu2.*)
} > dsram2 AT> pfls0 CORE_SEC(.bss) (NOLOAD): FLAGS(aw)
{
. = ALIGN() ;
*(.bss_cpu2)
*(.bss_cpu2.*)
} > dsram2
} CORE_ID = CPU1; SECTIONS
{
CORE_SEC(.data) : FLAGS(awl)
{
. = ALIGN() ;
*(.data_cpu1)
*(.data_cpu1.*)
} > dsram1 AT> pfls0 CORE_SEC(.bss) (NOLOAD): FLAGS(aw)
{
. = ALIGN() ;
*(.bss_cpu1)
*(.bss_cpu1.*)
} > dsram1
} CORE_ID = CPU0; SECTIONS
{
CORE_SEC(.data) : FLAGS(awl)
{
. = ALIGN() ;
*(.data_cpu0)
*(.data_cpu0.*)
} > dsram0 AT> pfls0 CORE_SEC(.bss) (NOLOAD): FLAGS(aw)
{
. = ALIGN() ;
*(.bss_cpu0)
*(.bss_cpu0.*)
} > dsram0 CORE_SEC(.psram_text) : FLAGS(awx)
{
. = ALIGN();
*(.cpu0_psram)
} > psram0 AT> pfls0
} CORE_ID = CPU2 ; SECTIONS
{
CORE_SEC(.ustack) (LCF_DSPR2_START + LCF_USTACK2_OFFSET):
{
PROVIDE(__USTACK2_END = .);
. = . + LCF_USTACK2_SIZE;
PROVIDE(__USTACK2 = .);
} > dsram2 CORE_SEC(.istack) (LCF_DSPR2_START + LCF_ISTACK2_OFFSET):
{
PROVIDE(__ISTACK2_END = .);
. = . + LCF_ISTACK2_SIZE;
PROVIDE(__ISTACK2 = .);
} > dsram2 CORE_SEC(.csa) (LCF_DSPR2_START + LCF_CSA2_OFFSET):
{
PROVIDE(__CSA2 = .);
. = . + LCF_CSA2_SIZE;
PROVIDE(__CSA2_END = .);
} > dsram2 CORE_SEC(.psram_text) : FLAGS(awx)
{
. = ALIGN();
*(.cpu2_psram)
} > psram2 AT> pfls0
} CORE_ID = CPU1; SECTIONS
{
CORE_SEC(.ustack) (LCF_DSPR1_START + LCF_USTACK1_OFFSET):
{
PROVIDE(__USTACK1_END = .);
. = . + LCF_USTACK1_SIZE;
PROVIDE(__USTACK1 = .);
} > dsram1 CORE_SEC(.istack) (LCF_DSPR1_START + LCF_ISTACK1_OFFSET):
{
PROVIDE(__ISTACK1_END = .);
. = . + LCF_ISTACK1_SIZE;
PROVIDE(__ISTACK1 = .);
} > dsram1 CORE_SEC(.csa) (LCF_DSPR1_START + LCF_CSA1_OFFSET):
{
PROVIDE(__CSA1 = .);
. = . + LCF_CSA1_SIZE;
PROVIDE(__CSA1_END = .);
} > dsram1 CORE_SEC(.psram_text) : FLAGS(awx)
{
. = ALIGN();
*(.cpu1_psram)
} > psram1 AT> pfls0
} CORE_ID = CPU0; SECTIONS
{
CORE_SEC(.ustack) (LCF_DSPR0_START + LCF_USTACK0_OFFSET):
{
PROVIDE(__USTACK0_END = .);
. = . + LCF_USTACK0_SIZE;
PROVIDE(__USTACK0 = .);
} > dsram0 CORE_SEC(.istack) (LCF_DSPR0_START + LCF_ISTACK0_OFFSET):
{
PROVIDE(__ISTACK0_END = .);
. = . + LCF_ISTACK0_SIZE;
PROVIDE(__ISTACK0 = .);
} > dsram0 CORE_SEC(.csa) (LCF_DSPR0_START + LCF_CSA0_OFFSET):
{
PROVIDE(__CSA0 = .);
. = . + LCF_CSA0_SIZE;
PROVIDE(__CSA0_END = .);
} > dsram0
} CORE_ID = GLOBAL; SECTIONS
{
CORE_SEC(.sdata3) : FLAGS(arsl)
{
*(.rodata_a8)
*(.rodata_a8.*)
} > pfls0 _SMALL_DATA3_ = SIZEOF(CORE_SEC(.sdata3)) ? ADDR(CORE_SEC(.sdata3)) + 32k : (ADDR(CORE_SEC(.sdata3)) & 0xF0000000) + 32k ;
__A8_MEM = _SMALL_DATA3_; .data_lmu : FLAGS(awl)
{
*(.lmudata)
*(.lmudata.*)
} > lmuram AT> pfls0 .bss_lmu (NOLOAD): FLAGS(aw)
{
*(.lmubss)
*(.lmubss.*)
} > lmuram .sdata4 : FLAGS(awsl)
{
*(.sdata_a9)
*(.sdata_a9.*)
*(.lmu_data)
*(.lmu_data.*)
} > lmuram AT> pfls0 .sbss4 (NOLOAD): FLAGS(aws)
{
*(.sbss_a9)
*(.sbss_a9.*)
*(.lmu_bss)
*(.lmu_bss.*)
} > lmuram _SMALL_DATA4_ = SIZEOF(.sdata4) ? ADDR(.sdata4) + 32k : (ADDR(.sdata4) & 0xF0000000) + 32k ;
__A9_MEM = _SMALL_DATA4_; .data_emem : FLAGS(awl)
{
. = ALIGN() ;
*(.data_emem)
*(.data_emem.*)
*(.gnu.linkonce.d.*)
} > edmem_nc AT> pfls0 .bss_emem (NOLOAD) : FLAGS(aw)
{
. = ALIGN() ;
*(.bss_emem)
*(.bss_emem.*)
*(.gnu.linkonce.b.*)
} > edmem_nc .inttab_tc0_000 (LCF_INTVEC0_START + 0x0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_0)); } > pfls0
.inttab_tc0_001 (LCF_INTVEC0_START + 0x20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_1)); } > pfls0
.inttab_tc0_002 (LCF_INTVEC0_START + 0x40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_2)); } > pfls0
.inttab_tc0_003 (LCF_INTVEC0_START + 0x60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_3)); } > pfls0
.inttab_tc0_004 (LCF_INTVEC0_START + 0x80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_4)); } > pfls0
.inttab_tc0_005 (LCF_INTVEC0_START + 0xA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_5)); } > pfls0
.inttab_tc0_006 (LCF_INTVEC0_START + 0xC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_6)); } > pfls0
.inttab_tc0_007 (LCF_INTVEC0_START + 0xE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_7)); } > pfls0
.inttab_tc0_008 (LCF_INTVEC0_START + 0x100) : { . = ALIGN() ; KEEP (*(.intvec_tc0_8)); } > pfls0
.inttab_tc0_009 (LCF_INTVEC0_START + 0x120) : { . = ALIGN() ; KEEP (*(.intvec_tc0_9)); } > pfls0
.inttab_tc0_00A (LCF_INTVEC0_START + 0x140) : { . = ALIGN() ; KEEP (*(.intvec_tc0_10)); } > pfls0
.inttab_tc0_00B (LCF_INTVEC0_START + 0x160) : { . = ALIGN() ; KEEP (*(.intvec_tc0_11)); } > pfls0
.inttab_tc0_00C (LCF_INTVEC0_START + 0x180) : { . = ALIGN() ; KEEP (*(.intvec_tc0_12)); } > pfls0
.inttab_tc0_00D (LCF_INTVEC0_START + 0x1A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_13)); } > pfls0
.inttab_tc0_00E (LCF_INTVEC0_START + 0x1C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_14)); } > pfls0
.inttab_tc0_00F (LCF_INTVEC0_START + 0x1E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_15)); } > pfls0
.inttab_tc0_010 (LCF_INTVEC0_START + 0x200) : { . = ALIGN() ; KEEP (*(.intvec_tc0_16)); } > pfls0
.inttab_tc0_011 (LCF_INTVEC0_START + 0x220) : { . = ALIGN() ; KEEP (*(.intvec_tc0_17)); } > pfls0
.inttab_tc0_012 (LCF_INTVEC0_START + 0x240) : { . = ALIGN() ; KEEP (*(.intvec_tc0_18)); } > pfls0
.inttab_tc0_013 (LCF_INTVEC0_START + 0x260) : { . = ALIGN() ; KEEP (*(.intvec_tc0_19)); } > pfls0
.inttab_tc0_014 (LCF_INTVEC0_START + 0x280) : { . = ALIGN() ; KEEP (*(.intvec_tc0_20)); } > pfls0
.inttab_tc0_015 (LCF_INTVEC0_START + 0x2A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_21)); } > pfls0
.inttab_tc0_016 (LCF_INTVEC0_START + 0x2C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_22)); } > pfls0
.inttab_tc0_017 (LCF_INTVEC0_START + 0x2E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_23)); } > pfls0
.inttab_tc0_018 (LCF_INTVEC0_START + 0x300) : { . = ALIGN() ; KEEP (*(.intvec_tc0_24)); } > pfls0
.inttab_tc0_019 (LCF_INTVEC0_START + 0x320) : { . = ALIGN() ; KEEP (*(.intvec_tc0_25)); } > pfls0
.inttab_tc0_01A (LCF_INTVEC0_START + 0x340) : { . = ALIGN() ; KEEP (*(.intvec_tc0_26)); } > pfls0
.inttab_tc0_01B (LCF_INTVEC0_START + 0x360) : { . = ALIGN() ; KEEP (*(.intvec_tc0_27)); } > pfls0
.inttab_tc0_01C (LCF_INTVEC0_START + 0x380) : { . = ALIGN() ; KEEP (*(.intvec_tc0_28)); } > pfls0
.inttab_tc0_01D (LCF_INTVEC0_START + 0x3A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_29)); } > pfls0
.inttab_tc0_01E (LCF_INTVEC0_START + 0x3C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_30)); } > pfls0
.inttab_tc0_01F (LCF_INTVEC0_START + 0x3E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_31)); } > pfls0
.inttab_tc0_020 (LCF_INTVEC0_START + 0x400) : { . = ALIGN() ; KEEP (*(.intvec_tc0_32)); } > pfls0
.inttab_tc0_021 (LCF_INTVEC0_START + 0x420) : { . = ALIGN() ; KEEP (*(.intvec_tc0_33)); } > pfls0
.inttab_tc0_022 (LCF_INTVEC0_START + 0x440) : { . = ALIGN() ; KEEP (*(.intvec_tc0_34)); } > pfls0
.inttab_tc0_023 (LCF_INTVEC0_START + 0x460) : { . = ALIGN() ; KEEP (*(.intvec_tc0_35)); } > pfls0
.inttab_tc0_024 (LCF_INTVEC0_START + 0x480) : { . = ALIGN() ; KEEP (*(.intvec_tc0_36)); } > pfls0
.inttab_tc0_025 (LCF_INTVEC0_START + 0x4A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_37)); } > pfls0
.inttab_tc0_026 (LCF_INTVEC0_START + 0x4C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_38)); } > pfls0
.inttab_tc0_027 (LCF_INTVEC0_START + 0x4E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_39)); } > pfls0
.inttab_tc0_028 (LCF_INTVEC0_START + 0x500) : { . = ALIGN() ; KEEP (*(.intvec_tc0_40)); } > pfls0
.inttab_tc0_029 (LCF_INTVEC0_START + 0x520) : { . = ALIGN() ; KEEP (*(.intvec_tc0_41)); } > pfls0
.inttab_tc0_02A (LCF_INTVEC0_START + 0x540) : { . = ALIGN() ; KEEP (*(.intvec_tc0_42)); } > pfls0
.inttab_tc0_02B (LCF_INTVEC0_START + 0x560) : { . = ALIGN() ; KEEP (*(.intvec_tc0_43)); } > pfls0
.inttab_tc0_02C (LCF_INTVEC0_START + 0x580) : { . = ALIGN() ; KEEP (*(.intvec_tc0_44)); } > pfls0
.inttab_tc0_02D (LCF_INTVEC0_START + 0x5A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_45)); } > pfls0
.inttab_tc0_02E (LCF_INTVEC0_START + 0x5C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_46)); } > pfls0
.inttab_tc0_02F (LCF_INTVEC0_START + 0x5E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_47)); } > pfls0
.inttab_tc0_030 (LCF_INTVEC0_START + 0x600) : { . = ALIGN() ; KEEP (*(.intvec_tc0_48)); } > pfls0
.inttab_tc0_031 (LCF_INTVEC0_START + 0x620) : { . = ALIGN() ; KEEP (*(.intvec_tc0_49)); } > pfls0
.inttab_tc0_032 (LCF_INTVEC0_START + 0x640) : { . = ALIGN() ; KEEP (*(.intvec_tc0_50)); } > pfls0
.inttab_tc0_033 (LCF_INTVEC0_START + 0x660) : { . = ALIGN() ; KEEP (*(.intvec_tc0_51)); } > pfls0
.inttab_tc0_034 (LCF_INTVEC0_START + 0x680) : { . = ALIGN() ; KEEP (*(.intvec_tc0_52)); } > pfls0
.inttab_tc0_035 (LCF_INTVEC0_START + 0x6A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_53)); } > pfls0
.inttab_tc0_036 (LCF_INTVEC0_START + 0x6C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_54)); } > pfls0
.inttab_tc0_037 (LCF_INTVEC0_START + 0x6E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_55)); } > pfls0
.inttab_tc0_038 (LCF_INTVEC0_START + 0x700) : { . = ALIGN() ; KEEP (*(.intvec_tc0_56)); } > pfls0
.inttab_tc0_039 (LCF_INTVEC0_START + 0x720) : { . = ALIGN() ; KEEP (*(.intvec_tc0_57)); } > pfls0
.inttab_tc0_03A (LCF_INTVEC0_START + 0x740) : { . = ALIGN() ; KEEP (*(.intvec_tc0_58)); } > pfls0
.inttab_tc0_03B (LCF_INTVEC0_START + 0x760) : { . = ALIGN() ; KEEP (*(.intvec_tc0_59)); } > pfls0
.inttab_tc0_03C (LCF_INTVEC0_START + 0x780) : { . = ALIGN() ; KEEP (*(.intvec_tc0_60)); } > pfls0
.inttab_tc0_03D (LCF_INTVEC0_START + 0x7A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_61)); } > pfls0
.inttab_tc0_03E (LCF_INTVEC0_START + 0x7C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_62)); } > pfls0
.inttab_tc0_03F (LCF_INTVEC0_START + 0x7E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_63)); } > pfls0
.inttab_tc0_040 (LCF_INTVEC0_START + 0x800) : { . = ALIGN() ; KEEP (*(.intvec_tc0_64)); } > pfls0
.inttab_tc0_041 (LCF_INTVEC0_START + 0x820) : { . = ALIGN() ; KEEP (*(.intvec_tc0_65)); } > pfls0
.inttab_tc0_042 (LCF_INTVEC0_START + 0x840) : { . = ALIGN() ; KEEP (*(.intvec_tc0_66)); } > pfls0
.inttab_tc0_043 (LCF_INTVEC0_START + 0x860) : { . = ALIGN() ; KEEP (*(.intvec_tc0_67)); } > pfls0
.inttab_tc0_044 (LCF_INTVEC0_START + 0x880) : { . = ALIGN() ; KEEP (*(.intvec_tc0_68)); } > pfls0
.inttab_tc0_045 (LCF_INTVEC0_START + 0x8A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_69)); } > pfls0
.inttab_tc0_046 (LCF_INTVEC0_START + 0x8C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_70)); } > pfls0
.inttab_tc0_047 (LCF_INTVEC0_START + 0x8E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_71)); } > pfls0
.inttab_tc0_048 (LCF_INTVEC0_START + 0x900) : { . = ALIGN() ; KEEP (*(.intvec_tc0_72)); } > pfls0
.inttab_tc0_049 (LCF_INTVEC0_START + 0x920) : { . = ALIGN() ; KEEP (*(.intvec_tc0_73)); } > pfls0
.inttab_tc0_04A (LCF_INTVEC0_START + 0x940) : { . = ALIGN() ; KEEP (*(.intvec_tc0_74)); } > pfls0
.inttab_tc0_04B (LCF_INTVEC0_START + 0x960) : { . = ALIGN() ; KEEP (*(.intvec_tc0_75)); } > pfls0
.inttab_tc0_04C (LCF_INTVEC0_START + 0x980) : { . = ALIGN() ; KEEP (*(.intvec_tc0_76)); } > pfls0
.inttab_tc0_04D (LCF_INTVEC0_START + 0x9A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_77)); } > pfls0
.inttab_tc0_04E (LCF_INTVEC0_START + 0x9C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_78)); } > pfls0
.inttab_tc0_04F (LCF_INTVEC0_START + 0x9E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_79)); } > pfls0
.inttab_tc0_050 (LCF_INTVEC0_START + 0xA00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_80)); } > pfls0
.inttab_tc0_051 (LCF_INTVEC0_START + 0xA20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_81)); } > pfls0
.inttab_tc0_052 (LCF_INTVEC0_START + 0xA40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_82)); } > pfls0
.inttab_tc0_053 (LCF_INTVEC0_START + 0xA60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_83)); } > pfls0
.inttab_tc0_054 (LCF_INTVEC0_START + 0xA80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_84)); } > pfls0
.inttab_tc0_055 (LCF_INTVEC0_START + 0xAA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_85)); } > pfls0
.inttab_tc0_056 (LCF_INTVEC0_START + 0xAC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_86)); } > pfls0
.inttab_tc0_057 (LCF_INTVEC0_START + 0xAE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_87)); } > pfls0
.inttab_tc0_058 (LCF_INTVEC0_START + 0xB00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_88)); } > pfls0
.inttab_tc0_059 (LCF_INTVEC0_START + 0xB20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_89)); } > pfls0
.inttab_tc0_05A (LCF_INTVEC0_START + 0xB40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_90)); } > pfls0
.inttab_tc0_05B (LCF_INTVEC0_START + 0xB60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_91)); } > pfls0
.inttab_tc0_05C (LCF_INTVEC0_START + 0xB80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_92)); } > pfls0
.inttab_tc0_05D (LCF_INTVEC0_START + 0xBA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_93)); } > pfls0
.inttab_tc0_05E (LCF_INTVEC0_START + 0xBC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_94)); } > pfls0
.inttab_tc0_05F (LCF_INTVEC0_START + 0xBE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_95)); } > pfls0
.inttab_tc0_060 (LCF_INTVEC0_START + 0xC00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_96)); } > pfls0
.inttab_tc0_061 (LCF_INTVEC0_START + 0xC20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_97)); } > pfls0
.inttab_tc0_062 (LCF_INTVEC0_START + 0xC40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_98)); } > pfls0
.inttab_tc0_063 (LCF_INTVEC0_START + 0xC60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_99)); } > pfls0
.inttab_tc0_064 (LCF_INTVEC0_START + 0xC80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_100)); } > pfls0
.inttab_tc0_065 (LCF_INTVEC0_START + 0xCA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_101)); } > pfls0
.inttab_tc0_066 (LCF_INTVEC0_START + 0xCC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_102)); } > pfls0
.inttab_tc0_067 (LCF_INTVEC0_START + 0xCE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_103)); } > pfls0
.inttab_tc0_068 (LCF_INTVEC0_START + 0xD00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_104)); } > pfls0
.inttab_tc0_069 (LCF_INTVEC0_START + 0xD20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_105)); } > pfls0
.inttab_tc0_06A (LCF_INTVEC0_START + 0xD40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_106)); } > pfls0
.inttab_tc0_06B (LCF_INTVEC0_START + 0xD60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_107)); } > pfls0
.inttab_tc0_06C (LCF_INTVEC0_START + 0xD80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_108)); } > pfls0
.inttab_tc0_06D (LCF_INTVEC0_START + 0xDA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_109)); } > pfls0
.inttab_tc0_06E (LCF_INTVEC0_START + 0xDC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_110)); } > pfls0
.inttab_tc0_06F (LCF_INTVEC0_START + 0xDE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_111)); } > pfls0
.inttab_tc0_070 (LCF_INTVEC0_START + 0xE00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_112)); } > pfls0
.inttab_tc0_071 (LCF_INTVEC0_START + 0xE20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_113)); } > pfls0
.inttab_tc0_072 (LCF_INTVEC0_START + 0xE40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_114)); } > pfls0
.inttab_tc0_073 (LCF_INTVEC0_START + 0xE60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_115)); } > pfls0
.inttab_tc0_074 (LCF_INTVEC0_START + 0xE80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_116)); } > pfls0
.inttab_tc0_075 (LCF_INTVEC0_START + 0xEA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_117)); } > pfls0
.inttab_tc0_076 (LCF_INTVEC0_START + 0xEC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_118)); } > pfls0
.inttab_tc0_077 (LCF_INTVEC0_START + 0xEE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_119)); } > pfls0
.inttab_tc0_078 (LCF_INTVEC0_START + 0xF00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_120)); } > pfls0
.inttab_tc0_079 (LCF_INTVEC0_START + 0xF20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_121)); } > pfls0
.inttab_tc0_07A (LCF_INTVEC0_START + 0xF40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_122)); } > pfls0
.inttab_tc0_07B (LCF_INTVEC0_START + 0xF60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_123)); } > pfls0
.inttab_tc0_07C (LCF_INTVEC0_START + 0xF80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_124)); } > pfls0
.inttab_tc0_07D (LCF_INTVEC0_START + 0xFA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_125)); } > pfls0
.inttab_tc0_07E (LCF_INTVEC0_START + 0xFC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_126)); } > pfls0
.inttab_tc0_07F (LCF_INTVEC0_START + 0xFE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_127)); } > pfls0
.inttab_tc0_080 (LCF_INTVEC0_START + 0x1000) : { . = ALIGN() ; KEEP (*(.intvec_tc0_128)); } > pfls0
.inttab_tc0_081 (LCF_INTVEC0_START + 0x1020) : { . = ALIGN() ; KEEP (*(.intvec_tc0_129)); } > pfls0
.inttab_tc0_082 (LCF_INTVEC0_START + 0x1040) : { . = ALIGN() ; KEEP (*(.intvec_tc0_130)); } > pfls0
.inttab_tc0_083 (LCF_INTVEC0_START + 0x1060) : { . = ALIGN() ; KEEP (*(.intvec_tc0_131)); } > pfls0
.inttab_tc0_084 (LCF_INTVEC0_START + 0x1080) : { . = ALIGN() ; KEEP (*(.intvec_tc0_132)); } > pfls0
.inttab_tc0_085 (LCF_INTVEC0_START + 0x10A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_133)); } > pfls0
.inttab_tc0_086 (LCF_INTVEC0_START + 0x10C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_134)); } > pfls0
.inttab_tc0_087 (LCF_INTVEC0_START + 0x10E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_135)); } > pfls0
.inttab_tc0_088 (LCF_INTVEC0_START + 0x1100) : { . = ALIGN() ; KEEP (*(.intvec_tc0_136)); } > pfls0
.inttab_tc0_089 (LCF_INTVEC0_START + 0x1120) : { . = ALIGN() ; KEEP (*(.intvec_tc0_137)); } > pfls0
.inttab_tc0_08A (LCF_INTVEC0_START + 0x1140) : { . = ALIGN() ; KEEP (*(.intvec_tc0_138)); } > pfls0
.inttab_tc0_08B (LCF_INTVEC0_START + 0x1160) : { . = ALIGN() ; KEEP (*(.intvec_tc0_139)); } > pfls0
.inttab_tc0_08C (LCF_INTVEC0_START + 0x1180) : { . = ALIGN() ; KEEP (*(.intvec_tc0_140)); } > pfls0
.inttab_tc0_08D (LCF_INTVEC0_START + 0x11A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_141)); } > pfls0
.inttab_tc0_08E (LCF_INTVEC0_START + 0x11C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_142)); } > pfls0
.inttab_tc0_08F (LCF_INTVEC0_START + 0x11E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_143)); } > pfls0
.inttab_tc0_090 (LCF_INTVEC0_START + 0x1200) : { . = ALIGN() ; KEEP (*(.intvec_tc0_144)); } > pfls0
.inttab_tc0_091 (LCF_INTVEC0_START + 0x1220) : { . = ALIGN() ; KEEP (*(.intvec_tc0_145)); } > pfls0
.inttab_tc0_092 (LCF_INTVEC0_START + 0x1240) : { . = ALIGN() ; KEEP (*(.intvec_tc0_146)); } > pfls0
.inttab_tc0_093 (LCF_INTVEC0_START + 0x1260) : { . = ALIGN() ; KEEP (*(.intvec_tc0_147)); } > pfls0
.inttab_tc0_094 (LCF_INTVEC0_START + 0x1280) : { . = ALIGN() ; KEEP (*(.intvec_tc0_148)); } > pfls0
.inttab_tc0_095 (LCF_INTVEC0_START + 0x12A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_149)); } > pfls0
.inttab_tc0_096 (LCF_INTVEC0_START + 0x12C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_150)); } > pfls0
.inttab_tc0_097 (LCF_INTVEC0_START + 0x12E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_151)); } > pfls0
.inttab_tc0_098 (LCF_INTVEC0_START + 0x1300) : { . = ALIGN() ; KEEP (*(.intvec_tc0_152)); } > pfls0
.inttab_tc0_099 (LCF_INTVEC0_START + 0x1320) : { . = ALIGN() ; KEEP (*(.intvec_tc0_153)); } > pfls0
.inttab_tc0_09A (LCF_INTVEC0_START + 0x1340) : { . = ALIGN() ; KEEP (*(.intvec_tc0_154)); } > pfls0
.inttab_tc0_09B (LCF_INTVEC0_START + 0x1360) : { . = ALIGN() ; KEEP (*(.intvec_tc0_155)); } > pfls0
.inttab_tc0_09C (LCF_INTVEC0_START + 0x1380) : { . = ALIGN() ; KEEP (*(.intvec_tc0_156)); } > pfls0
.inttab_tc0_09D (LCF_INTVEC0_START + 0x13A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_157)); } > pfls0
.inttab_tc0_09E (LCF_INTVEC0_START + 0x13C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_158)); } > pfls0
.inttab_tc0_09F (LCF_INTVEC0_START + 0x13E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_159)); } > pfls0
.inttab_tc0_0A0 (LCF_INTVEC0_START + 0x1400) : { . = ALIGN() ; KEEP (*(.intvec_tc0_160)); } > pfls0
.inttab_tc0_0A1 (LCF_INTVEC0_START + 0x1420) : { . = ALIGN() ; KEEP (*(.intvec_tc0_161)); } > pfls0
.inttab_tc0_0A2 (LCF_INTVEC0_START + 0x1440) : { . = ALIGN() ; KEEP (*(.intvec_tc0_162)); } > pfls0
.inttab_tc0_0A3 (LCF_INTVEC0_START + 0x1460) : { . = ALIGN() ; KEEP (*(.intvec_tc0_163)); } > pfls0
.inttab_tc0_0A4 (LCF_INTVEC0_START + 0x1480) : { . = ALIGN() ; KEEP (*(.intvec_tc0_164)); } > pfls0
.inttab_tc0_0A5 (LCF_INTVEC0_START + 0x14A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_165)); } > pfls0
.inttab_tc0_0A6 (LCF_INTVEC0_START + 0x14C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_166)); } > pfls0
.inttab_tc0_0A7 (LCF_INTVEC0_START + 0x14E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_167)); } > pfls0
.inttab_tc0_0A8 (LCF_INTVEC0_START + 0x1500) : { . = ALIGN() ; KEEP (*(.intvec_tc0_168)); } > pfls0
.inttab_tc0_0A9 (LCF_INTVEC0_START + 0x1520) : { . = ALIGN() ; KEEP (*(.intvec_tc0_169)); } > pfls0
.inttab_tc0_0AA (LCF_INTVEC0_START + 0x1540) : { . = ALIGN() ; KEEP (*(.intvec_tc0_170)); } > pfls0
.inttab_tc0_0AB (LCF_INTVEC0_START + 0x1560) : { . = ALIGN() ; KEEP (*(.intvec_tc0_171)); } > pfls0
.inttab_tc0_0AC (LCF_INTVEC0_START + 0x1580) : { . = ALIGN() ; KEEP (*(.intvec_tc0_172)); } > pfls0
.inttab_tc0_0AD (LCF_INTVEC0_START + 0x15A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_173)); } > pfls0
.inttab_tc0_0AE (LCF_INTVEC0_START + 0x15C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_174)); } > pfls0
.inttab_tc0_0AF (LCF_INTVEC0_START + 0x15E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_175)); } > pfls0
.inttab_tc0_0B0 (LCF_INTVEC0_START + 0x1600) : { . = ALIGN() ; KEEP (*(.intvec_tc0_176)); } > pfls0
.inttab_tc0_0B1 (LCF_INTVEC0_START + 0x1620) : { . = ALIGN() ; KEEP (*(.intvec_tc0_177)); } > pfls0
.inttab_tc0_0B2 (LCF_INTVEC0_START + 0x1640) : { . = ALIGN() ; KEEP (*(.intvec_tc0_178)); } > pfls0
.inttab_tc0_0B3 (LCF_INTVEC0_START + 0x1660) : { . = ALIGN() ; KEEP (*(.intvec_tc0_179)); } > pfls0
.inttab_tc0_0B4 (LCF_INTVEC0_START + 0x1680) : { . = ALIGN() ; KEEP (*(.intvec_tc0_180)); } > pfls0
.inttab_tc0_0B5 (LCF_INTVEC0_START + 0x16A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_181)); } > pfls0
.inttab_tc0_0B6 (LCF_INTVEC0_START + 0x16C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_182)); } > pfls0
.inttab_tc0_0B7 (LCF_INTVEC0_START + 0x16E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_183)); } > pfls0
.inttab_tc0_0B8 (LCF_INTVEC0_START + 0x1700) : { . = ALIGN() ; KEEP (*(.intvec_tc0_184)); } > pfls0
.inttab_tc0_0B9 (LCF_INTVEC0_START + 0x1720) : { . = ALIGN() ; KEEP (*(.intvec_tc0_185)); } > pfls0
.inttab_tc0_0BA (LCF_INTVEC0_START + 0x1740) : { . = ALIGN() ; KEEP (*(.intvec_tc0_186)); } > pfls0
.inttab_tc0_0BB (LCF_INTVEC0_START + 0x1760) : { . = ALIGN() ; KEEP (*(.intvec_tc0_187)); } > pfls0
.inttab_tc0_0BC (LCF_INTVEC0_START + 0x1780) : { . = ALIGN() ; KEEP (*(.intvec_tc0_188)); } > pfls0
.inttab_tc0_0BD (LCF_INTVEC0_START + 0x17A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_189)); } > pfls0
.inttab_tc0_0BE (LCF_INTVEC0_START + 0x17C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_190)); } > pfls0
.inttab_tc0_0BF (LCF_INTVEC0_START + 0x17E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_191)); } > pfls0
.inttab_tc0_0C0 (LCF_INTVEC0_START + 0x1800) : { . = ALIGN() ; KEEP (*(.intvec_tc0_192)); } > pfls0
.inttab_tc0_0C1 (LCF_INTVEC0_START + 0x1820) : { . = ALIGN() ; KEEP (*(.intvec_tc0_193)); } > pfls0
.inttab_tc0_0C2 (LCF_INTVEC0_START + 0x1840) : { . = ALIGN() ; KEEP (*(.intvec_tc0_194)); } > pfls0
.inttab_tc0_0C3 (LCF_INTVEC0_START + 0x1860) : { . = ALIGN() ; KEEP (*(.intvec_tc0_195)); } > pfls0
.inttab_tc0_0C4 (LCF_INTVEC0_START + 0x1880) : { . = ALIGN() ; KEEP (*(.intvec_tc0_196)); } > pfls0
.inttab_tc0_0C5 (LCF_INTVEC0_START + 0x18A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_197)); } > pfls0
.inttab_tc0_0C6 (LCF_INTVEC0_START + 0x18C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_198)); } > pfls0
.inttab_tc0_0C7 (LCF_INTVEC0_START + 0x18E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_199)); } > pfls0
.inttab_tc0_0C8 (LCF_INTVEC0_START + 0x1900) : { . = ALIGN() ; KEEP (*(.intvec_tc0_200)); } > pfls0
.inttab_tc0_0C9 (LCF_INTVEC0_START + 0x1920) : { . = ALIGN() ; KEEP (*(.intvec_tc0_201)); } > pfls0
.inttab_tc0_0CA (LCF_INTVEC0_START + 0x1940) : { . = ALIGN() ; KEEP (*(.intvec_tc0_202)); } > pfls0
.inttab_tc0_0CB (LCF_INTVEC0_START + 0x1960) : { . = ALIGN() ; KEEP (*(.intvec_tc0_203)); } > pfls0
.inttab_tc0_0CC (LCF_INTVEC0_START + 0x1980) : { . = ALIGN() ; KEEP (*(.intvec_tc0_204)); } > pfls0
.inttab_tc0_0CD (LCF_INTVEC0_START + 0x19A0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_205)); } > pfls0
.inttab_tc0_0CE (LCF_INTVEC0_START + 0x19C0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_206)); } > pfls0
.inttab_tc0_0CF (LCF_INTVEC0_START + 0x19E0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_207)); } > pfls0
.inttab_tc0_0D0 (LCF_INTVEC0_START + 0x1A00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_208)); } > pfls0
.inttab_tc0_0D1 (LCF_INTVEC0_START + 0x1A20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_209)); } > pfls0
.inttab_tc0_0D2 (LCF_INTVEC0_START + 0x1A40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_210)); } > pfls0
.inttab_tc0_0D3 (LCF_INTVEC0_START + 0x1A60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_211)); } > pfls0
.inttab_tc0_0D4 (LCF_INTVEC0_START + 0x1A80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_212)); } > pfls0
.inttab_tc0_0D5 (LCF_INTVEC0_START + 0x1AA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_213)); } > pfls0
.inttab_tc0_0D6 (LCF_INTVEC0_START + 0x1AC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_214)); } > pfls0
.inttab_tc0_0D7 (LCF_INTVEC0_START + 0x1AE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_215)); } > pfls0
.inttab_tc0_0D8 (LCF_INTVEC0_START + 0x1B00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_216)); } > pfls0
.inttab_tc0_0D9 (LCF_INTVEC0_START + 0x1B20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_217)); } > pfls0
.inttab_tc0_0DA (LCF_INTVEC0_START + 0x1B40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_218)); } > pfls0
.inttab_tc0_0DB (LCF_INTVEC0_START + 0x1B60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_219)); } > pfls0
.inttab_tc0_0DC (LCF_INTVEC0_START + 0x1B80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_220)); } > pfls0
.inttab_tc0_0DD (LCF_INTVEC0_START + 0x1BA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_221)); } > pfls0
.inttab_tc0_0DE (LCF_INTVEC0_START + 0x1BC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_222)); } > pfls0
.inttab_tc0_0DF (LCF_INTVEC0_START + 0x1BE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_223)); } > pfls0
.inttab_tc0_0E0 (LCF_INTVEC0_START + 0x1C00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_224)); } > pfls0
.inttab_tc0_0E1 (LCF_INTVEC0_START + 0x1C20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_225)); } > pfls0
.inttab_tc0_0E2 (LCF_INTVEC0_START + 0x1C40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_226)); } > pfls0
.inttab_tc0_0E3 (LCF_INTVEC0_START + 0x1C60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_227)); } > pfls0
.inttab_tc0_0E4 (LCF_INTVEC0_START + 0x1C80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_228)); } > pfls0
.inttab_tc0_0E5 (LCF_INTVEC0_START + 0x1CA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_229)); } > pfls0
.inttab_tc0_0E6 (LCF_INTVEC0_START + 0x1CC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_230)); } > pfls0
.inttab_tc0_0E7 (LCF_INTVEC0_START + 0x1CE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_231)); } > pfls0
.inttab_tc0_0E8 (LCF_INTVEC0_START + 0x1D00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_232)); } > pfls0
.inttab_tc0_0E9 (LCF_INTVEC0_START + 0x1D20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_233)); } > pfls0
.inttab_tc0_0EA (LCF_INTVEC0_START + 0x1D40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_234)); } > pfls0
.inttab_tc0_0EB (LCF_INTVEC0_START + 0x1D60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_235)); } > pfls0
.inttab_tc0_0EC (LCF_INTVEC0_START + 0x1D80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_236)); } > pfls0
.inttab_tc0_0ED (LCF_INTVEC0_START + 0x1DA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_237)); } > pfls0
.inttab_tc0_0EE (LCF_INTVEC0_START + 0x1DC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_238)); } > pfls0
.inttab_tc0_0EF (LCF_INTVEC0_START + 0x1DE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_239)); } > pfls0
.inttab_tc0_0F0 (LCF_INTVEC0_START + 0x1E00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_240)); } > pfls0
.inttab_tc0_0F1 (LCF_INTVEC0_START + 0x1E20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_241)); } > pfls0
.inttab_tc0_0F2 (LCF_INTVEC0_START + 0x1E40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_242)); } > pfls0
.inttab_tc0_0F3 (LCF_INTVEC0_START + 0x1E60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_243)); } > pfls0
.inttab_tc0_0F4 (LCF_INTVEC0_START + 0x1E80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_244)); } > pfls0
.inttab_tc0_0F5 (LCF_INTVEC0_START + 0x1EA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_245)); } > pfls0
.inttab_tc0_0F6 (LCF_INTVEC0_START + 0x1EC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_246)); } > pfls0
.inttab_tc0_0F7 (LCF_INTVEC0_START + 0x1EE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_247)); } > pfls0
.inttab_tc0_0F8 (LCF_INTVEC0_START + 0x1F00) : { . = ALIGN() ; KEEP (*(.intvec_tc0_248)); } > pfls0
.inttab_tc0_0F9 (LCF_INTVEC0_START + 0x1F20) : { . = ALIGN() ; KEEP (*(.intvec_tc0_249)); } > pfls0
.inttab_tc0_0FA (LCF_INTVEC0_START + 0x1F40) : { . = ALIGN() ; KEEP (*(.intvec_tc0_250)); } > pfls0
.inttab_tc0_0FB (LCF_INTVEC0_START + 0x1F60) : { . = ALIGN() ; KEEP (*(.intvec_tc0_251)); } > pfls0
.inttab_tc0_0FC (LCF_INTVEC0_START + 0x1F80) : { . = ALIGN() ; KEEP (*(.intvec_tc0_252)); } > pfls0
.inttab_tc0_0FD (LCF_INTVEC0_START + 0x1FA0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_253)); } > pfls0
.inttab_tc0_0FE (LCF_INTVEC0_START + 0x1FC0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_254)); } > pfls0
.inttab_tc0_0FF (LCF_INTVEC0_START + 0x1FE0) : { . = ALIGN() ; KEEP (*(.intvec_tc0_255)); } > pfls0
__INTTAB_CPU0 = LCF_INTVEC0_START;
__INTTAB_CPU1 = LCF_INTVEC0_START; /*Single interrupt table for all CPUs*/
__INTTAB_CPU2 = LCF_INTVEC0_START; /*Single interrupt table for all CPUs*/ /*
* DWARF debug sections.
* Symbols in the DWARF debugging sections are relative to the
* beginning of the section, so we begin them at 0.
*/
/*
* DWARF 1
*/
.comment : { *(.comment) }
.debug : { *(.debug) }
.line : { *(.line) }
/*
* GNU DWARF 1 extensions
*/
.debug_srcinfo : { *(.debug_srcinfo) }
.debug_sfnames : { *(.debug_sfnames) }
/*
* DWARF 1.1 and DWARF 2
*/
.debug_aranges : { *(.debug_aranges) }
.debug_pubnames : { *(.debug_pubnames) }
/*
* DWARF 2
*/
.debug_info : { *(.debug_info) }
.debug_abbrev : { *(.debug_abbrev) }
.debug_line : { *(.debug_line) }
.debug_frame : { *(.debug_frame) }
.debug_str : { *(.debug_str) }
.debug_loc : { *(.debug_loc) }
.debug_macinfo : { *(.debug_macinfo) }
.debug_ranges : { *(.debug_ranges) }
/*
* SGI/MIPS DWARF 2 extensions
*/
.debug_weaknames : { *(.debug_weaknames) }
.debug_funcnames : { *(.debug_funcnames) }
.debug_typenames : { *(.debug_typenames) }
.debug_varnames : { *(.debug_varnames) }
/*
* Optional sections that may only appear when relocating.
*/
/*
* Optional sections that may appear regardless of relocating.
*/
.version_info : { *(.version_info) }
.boffs : { KEEP (*(.boffs)) }
}

链接脚本(Linker Script)用法解析(一) 关键字SECTIONS与MEMORY的更多相关文章

  1. 脚本kafka-configs.sh用法解析

    引用博客来自李志涛:https://www.cnblogs.com/lizherui/p/12275193.html 前言介绍 网络上针对脚本kafka-configs.sh用法,也有一些各种文章,但 ...

  2. [转]Linux下的lds链接脚本详解

    转载自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml     一. 概论 每一个链接过程都由链接脚本(lin ...

  3. Linux下的lds链接脚本简介

    转载:http://hubingforever.blog.163.com/blog/static/171040579201192472552886/   一. 概论 每一个链接过程都由链接脚本(lin ...

  4. [转]Linux下的链接脚本基础

    [转]http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 1. 前言 (1)每一个链接过程都由链接脚本(linke ...

  5. Linux下的lds链接脚本详解【转】

    转自:http://www.cnblogs.com/li-hao/p/4107964.html 转载自:http://linux.chinaunix.net/techdoc/beginner/2009 ...

  6. Linux下的lds链接脚本详解

    1. 概论2. 基本概念3. 脚本格式4. 简单例子5. 简单脚本命令6. 对符号的赋值7. SECTIONS命令8. MEMORY命令9. PHDRS命令10. VERSION命令11. 脚本内的表 ...

  7. Linux下的lds链接脚本基础

    转载:http://soft.chinabyte.com/os/104/12255104.shtml   今天在看uboot引导Linux部分,发现要对链接脚本深入了解,才能知道各个目标文件的内存分布 ...

  8. Linux下的lds链接脚本简介(一)

    转载自:http://linux.chinaunix.net/techdoc/beginner/2009/08/12/1129972.shtml 一. 概论 每一个链接过程都由链接脚本(linker ...

  9. 链接脚本(Linker Script)用法解析(二) clear_table & copy_table

    可执行文件中的.bss段和.data段分别存放未赋初值的全局变量和已赋初值的全局变量,两者的特点分别为: (1).bss段:①无初值,所以不占ROM空间:②运行时存储于RAM:③默认初值为0 (2). ...

随机推荐

  1. tarjan求lca的神奇

    题目描述 如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先. 输入输出格式 输入格式: 第一行包含三个正整数N.M.S,分别表示树的结点个数.询问的个数和树根结点的序号. 接下来N-1行每 ...

  2. UiPath之DataTable转换为List和Array

    今天给大家分享一下,如何将DataTable转为List和Array,为此小U也花了不少时间研究,最后发现没有那么复杂. 先来说说List和Array的区别: List:就像一个链条,存储数据的空间可 ...

  3. Mybatis中多表关联时,怎么利用association优雅写resultMap来映射vo

    前言 有好一阵没碰mybatis了,这次的项目基于性能考虑,选了mybatis,写着写着,发现有下面的需求,比如两表联查,取其中各一部分字段,怎么更方便地用vo来接,这里犯了难: 我想的是,因为这个s ...

  4. 微信小程序引入全局或公共样式

    在开发的过程中,总会遇到很多可复用性的样式,为了代码更加的简洁和减少微不住道的文件体积,我抽取了一部分的公共样式,并全局引入,不知是否妥当,如有更好的想法,欢迎一起探讨 在app.wxss中引入 然后 ...

  5. C#查看已下载文件大小和扩展名

    FileInfo fi = new FileInfo(fullfile);//fullfile文件路径 ong Size = fi.Length;//查看已下载文件的大小 C# 获取文件名及扩展名 s ...

  6. nyoj 60-谁获得了最高奖学金 (逻辑判断)

    60-谁获得了最高奖学金 内存限制:64MB 时间限制:1000ms Special Judge: No accepted:8 submit:17 题目描述:     某校的惯例是在每学期的期末考试之 ...

  7. django_4数据库3——admin

    生成admin界面 1.setting.py中,保证'django.contrib.admin',应用打开,django1.11默认打开的 2.url.py中的admin默认时打开的 3.对model ...

  8. 1 数据 & 图表

    瞎逼逼:虽然是统计专业,但学艺不精.大学受过的专业训练很少,妥妥学渣.因此工作后决定重新复习,阅读材料为贾俊平的<统计学>第7版.每周更新. 我不按照书里的逻辑顺序和所有知识点来写我的笔记 ...

  9. Java Import的使用

    这里根据上一篇中ClassObject.java的例子改编的:https://www.cnblogs.com/jizizh/p/11938574.html 一.创建ClassObjectImport. ...

  10. 使用RNN进行imdb影评情感识别--use RNN to sentiment analysis

    原创帖子,转载请说明出处 一.RNN神经网络结构 RNN隐藏层神经元的连接方式和普通神经网路的连接方式有一个非常明显的区别,就是同一层的神经元的输出也成为了这一层神经元的输入.当然同一时刻的输出是不可 ...