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

DSP编程

开发平台:

C/C++

  1. /*
  2.  *  ======== Teb6416_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); -- v1.0 Si did not support RTDX */
  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.  *  ISRAM is internal program & data memory
  34.  *  SDRAM is external program & data memory,
  35.  *
  36.  *  In internal and external memory, we create heaps with names 
  37.  *  INTERNALHEAP and EXTERNALHEAP, respectively, and platform-independent
  38.  *  portions of the application refer to these heaps by their names
  39.  *  rather than the names of memory segments they are created in
  40.  */
  41. /* Enable heap creation */
  42. bios.enableMemoryHeaps(prog);
  43. /* define comments of the data memory segments (Temporary fix for SDSsq28652) */
  44. tibios.SDRAM.comment ="This object defines space for the DSP's off-chip memory";
  45. tibios.GBL.C641XCONFIGUREL2 = true;  /* Enable L2 configuration */
  46. tibios.GBL.C641XCCFGL2MODE = "4-way cache (0k)"; /* No L2 cache */ 
  47. /* allocate heap named "INTERNALHEAP" of size 0x02000 in internal memory */
  48. tibios.ISRAM.createHeap      = true;
  49. tibios.ISRAM.heapSize        = 0x02000;  /* 8K   */
  50. tibios.ISRAM.enableHeapLabel = true; 
  51. tibios.ISRAM.heapLabel       = prog.extern( "INTERNALHEAP" );
  52. /* allocate heap named "EXTERNALHEAP" of size 0x08000 in external memory */
  53. tibios.SDRAM.createHeap      = true;
  54. tibios.SDRAM.heapSize        = 0x08000;  /* 32K  */
  55. tibios.SDRAM.enableHeapLabel = true;  
  56. tibios.SDRAM.heapLabel       = prog.extern( "EXTERNALHEAP" );
  57. /*  
  58.  *  Set the size of the application stack. Must be large
  59.  *  enough to accomodate worst-case of nested priorities, if any.
  60.  */
  61. tibios.MEM.STACKSIZE = 0x1000;
  62. /*
  63.  *  Set the default segment for the stack allocated by TSK_create().
  64.  */
  65. tibios.TSK.STACKSEG = tibios.SDRAM;
  66. /* 
  67.  *  Overriding default section placement
  68.  *  Assign listed sections to specified memory segments.
  69.  */
  70. /* General */
  71. /* Set dynamic heap allocation into ISRAM */
  72. tibios.MEM.BIOSOBJSEG = tibios.ISRAM;    /* Segment for DSP/BIOS Objects */
  73. tibios.MEM.MALLOCSEG = tibios.ISRAM;     /* Segment for malloc()/free() */
  74. /* BIOS data */
  75. /* BIOS code */
  76. /* Compiler Sections */
  77. /* 
  78.  *  .bss and .far segments should be in internal memory to avoid cache
  79.  *  consistency problems with EDMA-ed data (it is by default,
  80.  *  so this is more of a reminder)
  81.  */
  82. tibios.MEM.BSSSEG = tibios.ISRAM;        /* C variables section (.bss) */
  83. tibios.MEM.FARSEG = tibios.ISRAM;        /* C Variables Section (.far) */