Dsk6711_ddk.tci
上传用户:dahaojd
上传日期:2008-01-29
资源大小:14357k
文件大小:5k
源码类别:

DSP编程

开发平台:

C/C++

  1. /*
  2.  *  ======== Dsk6713_ddk.tci ========
  3.  *  This script simply sets up the board-specific parameters that are needed
  4.  *  for the assorted DDK examples.
  5.  */
  6. /*
  7.  *  Create an empty object and call it with the getProgObjs method to
  8.  *  create global variables for every Module and Instance object.
  9.  *  For example, instead of
  10.  *  prog.module("LOG").instance("LOG_system").buflen = <some value>;
  11.  *  we can simply say
  12.  *  tibios.LOG_system.buflen = <value>;
  13.  */
  14. tibios = {};
  15. utils.getProgObjs(prog, tibios);
  16. /*
  17.  *  enable assorted BIOS features
  18.  */
  19. bios.enableMemoryHeaps(prog)
  20. bios.enableRealTimeAnalysis(prog);
  21. bios.enableRtdx(prog);
  22. bios.enableTskManager(prog);
  23. /*
  24.  *  initialize LOG objects for user trace and system log
  25.  */
  26. var trace = tibios.LOG.create("trace");
  27. trace.bufLen = 1024;
  28. trace.logType = "circular";
  29. tibios.LOG_system.bufLen = 1024;
  30. tibios.LOG_system.logType = "circular";
  31. /*
  32.  *  Memory segments, their sizes, heaps, and heap sizes
  33.  *  (SDRAM is external program memory, IRAM is internal memory)
  34.  *  We split the 64K of internal RAM as 16K for code/data and 48K for cache.
  35.  *  In internal and external data memory, we create heaps with names 
  36.  *  INTERNALHEAP and EXTERNALHEAP, respectively, and platform-independent
  37.  *  portions of the application refer to these heaps by their names
  38.  *  rather than the names of memory segments they are created in
  39.  *  (as not all platforms have IRAM, SDRAM segments).
  40.  */
  41. tibios.GBL.C621XCONFIGUREL2 = true;  /* Enable L2 configuration */
  42. tibios.GBL.C621XCCFGL2MODE = "3-way cache";
  43. /* define comments of the data memory segments (Temporary fix for SDSsq28652) */
  44. tibios.IRAM.comment ="This object defines space for the DSP's on-chip memory";
  45. tibios.SDRAM.comment ="This object defines space for the DSP's off-chip memory";
  46. /* shorten the length of the IRAM section to allow 3-way cache */
  47. tibios.IRAM.base            = 0x00000;
  48. tibios.IRAM.len             = 0x04000;               /* 16K */
  49. tibios.IRAM.space           = "code/data";
  50. /* allocate heap named "EXTERNALHEAP" of size 0x02000 in internal memory */
  51. tibios.IRAM.createHeap      = true;
  52. tibios.IRAM.heapSize        = 0x01800;  /* 8K   */
  53. tibios.IRAM.enableHeapLabel = true;
  54. tibios.IRAM.heapLabel       = prog.extern( "INTERNALHEAP" );
  55. /* allocate heap named "EXTERNALHEAP" of size 0x08000 in external memory */
  56. tibios.SDRAM.createHeap      = true;
  57. tibios.SDRAM.heapSize        = 0x08000;  /* 32K   */
  58. tibios.SDRAM.enableHeapLabel = true;
  59. tibios.SDRAM.heapLabel       = prog.extern( "EXTERNALHEAP" );
  60. /*
  61.  *  Set the size of the application stack. Must be large
  62.  *  enough to accomodate worst-case of nested priorities, if any.
  63.  */
  64. tibios.MEM.STACKSIZE = 0x0400;
  65. /*
  66.  *  Set the default segment for the stack allocated by TSK_create().
  67.  */
  68. tibios.TSK.STACKSEG = tibios.SDRAM;
  69. /*
  70.  *  Overriding default section placement
  71.  *  assign listed sections to specified memory segments 
  72.  */ 
  73. /* General */
  74. tibios.MEM.BIOSOBJSEG  = tibios.SDRAM;    /* Segment for DSP/BIOS Objects */
  75. tibios.MEM.MALLOCSEG   = tibios.SDRAM;    /* Segment for malloc()/free() */
  76. /* BIOS data */
  77. tibios.MEM.ARGSSEG     = tibios.SDRAM;    /* Argument Buffer Section (.args) */
  78. tibios.MEM.STACKSEG    = tibios.IRAM;     /* Stack Section (.stack) */
  79. tibios.MEM.GBLINITSEG  = tibios.SDRAM;    /* DSP/BIOS Init Tables (.gblinit) */
  80. tibios.MEM.TRCDATASEG  = tibios.SDRAM;    /* TRC Initial Value (.trcdata) */
  81. tibios.MEM.SYSDATASEG  = tibios.SDRAM;    /* DSP/BIOS Kernel State (.sysdata) */
  82. tibios.MEM.OBJSEG      = tibios.SDRAM;    /* DSP/BIOS Conf Sections (.*obj) */
  83. /* BIOS code */
  84. tibios.MEM.BIOSSEG     = tibios.SDRAM;    /* BIOS Code Section (.bios) */
  85. tibios.MEM.SYSINITSEG  = tibios.SDRAM;    /* Startup Code Section (.sysinit) */
  86. tibios.MEM.HWISEG      = tibios.SDRAM;    /* Function stub memory (.hwi) */
  87. tibios.MEM.HWIVECSEG   = tibios.SDRAM;    /* Interrupt Service Table */
  88.   /* Memory (.hwi_vec) */
  89. tibios.MEM.RTDXTEXTSEG   = tibios.SDRAM;  /* RTDX Text Segment (.rtdx_text) */
  90.   /*  Place RTDX in internal memory */
  91. /* Compiler Sections */
  92. tibios.MEM.TEXTSEG     = tibios.SDRAM;    /* Text Section (.text) */
  93. tibios.MEM.SWITCHSEG   = tibios.SDRAM;    /* Switch Jump Tables (.switch) */
  94. tibios.MEM.CINITSEG    = tibios.SDRAM;    /* Data Initialization */
  95.   /* Section (.cinit) */
  96. tibios.MEM.PINITSEG    = tibios.SDRAM;    /* C Function Initialization */
  97.   /* (.pinit) */
  98. tibios.MEM.CONSTSEG    = tibios.SDRAM;    /* Constant Section (.const) */
  99. tibios.MEM.DATASEG     = tibios.SDRAM;    /* Data section (.data) */
  100. tibios.MEM.CIOSEG      = tibios.SDRAM;    /* Data section (.cio) */
  101. /*
  102.  *  .bss and .far segments should be in internal memory to avoid cache
  103.  *  consistency problems with EDMA-ed data (it is by default,
  104.  *  so this is more of a reminder)
  105.  */
  106. tibios.MEM.BSSSEG = tibios.IRAM;          /* C variables section (.bss) */
  107. tibios.MEM.FARSEG = tibios.IRAM;          /* C Variables Section (.far) */
  108. /*
  109.  *  Move Object memory segments to external memory 
  110.  *  to minimize internal memory usage
  111.  */
  112. var objectModules = prog.modules();
  113. for (i = 0; i < objectModules.length; i++) {
  114.     if (objectModules[i].OBJMEMSEG == tibios.IRAM) {
  115.         objectModules[i].OBJMEMSEG = tibios.SDRAM;
  116.     }
  117. }
  118. /*
  119.  *  Move SYS Trace Buffer to external memory 
  120.  *  to minimize internal memory usage
  121.  */
  122. tibios.SYS.TRACESEG   = tibios.SDRAM;