|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 q' q5 y4 o) d4 ?+ {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) e7 D# a* u: [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" O6 b" f( m, u' J9 L" C9 l
& ~5 U0 `- p8 A7 U2 H$ D# f4 t是不是需要在DSP.CFG中进行配置# Q! p9 o, z" \( y. [# |
我现在的配置为
2 ~( ^# F; \7 i- e" g% _
, l/ X& r; M% _0 v/*
" A( R/ D7 b& L+ z7 K& ^: e z1 w * ======== Operating System Configuration ========
) J" x2 ~* i0 [* e */
9 M- u V; e4 K1 H6 H" o
8 [, p2 |% A- N0 y( z$ i* X/* no rts heap */
/ E8 n/ V6 ]" S+ J) jProgram.heap = 0;# [5 A, Q0 S. b F
Program.argSize = 100; /* minimum size */
9 g# ?9 I e% y. E* @4 X$ |Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ w6 `! o$ t$ i: ^8 ]
m9 v1 c. |/ [/* create a default heap */
+ e; s$ N# S/ \2 q4 Z5 ?5 uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 b5 o1 S! [2 Pvar heapMemParams = new HeapMem.Params();
8 W1 `1 g% T% I1 E+ t6 [* f& P4 D4 HheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, o6 z$ F7 O; G+ H7 M& s
2 U$ `, S) e' g- V7 Q3 Z2 e
var Memory = xdc.useModule('xdc.runtime.Memory');
' y6 ~% J& P0 `4 f+ NMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
Q* D1 }! p# a% m
$ _. P! A: E8 Y1 [) q/* configure System module */
9 T/ w6 g; y- T: lvar SysMin = xdc.useModule('xdc.runtime.SysMin');* g( J, _1 R" c, q6 I( q/ `
SysMin.bufSize = 0x1000;3 E8 a# ]! J: i `0 y' m# q
SysMin.flushAtExit = false;
& ?' y+ q. N5 l# E
$ x9 w6 |' X* ?8 Cvar System = xdc.useModule('xdc.runtime.System');+ s5 [0 X6 ?8 @% \: F6 m. X% O
System.SupportProxy = SysMin;
" h9 ^: b* s) i; ]# r% R$ ^& k9 B4 ]7 L3 a6 q& ^ z* ^
/* configure SysBios to use the lower half of Timer 1 */
2 m& G2 Q7 z2 ~& Svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% w' y4 B) k4 }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% Y! t8 d" _" c9 {
Timer.timerSettings[1].master = true;
5 {! S+ I2 u( sTimer.defaultHalf = Timer.Half_LOWER;6 n) a7 ^: m8 H
Clock.timerId = 1;8 j. l4 b# l2 J- F) q
; p# ~. n/ A) o0 L0 m. [, ~! J
! Z7 }2 t) `7 t. @7 A/*$ m" v+ a: a+ r3 ^3 Q
* ======== Miscellaneous Configuration ========
: ~! F" I' U% ~: |$ Z */
6 h5 J; o( p6 N$ ~/ c" E q* n$ {7 z) b8 U! Y1 u0 x5 `
/* set default diags mask */: Z- l; Y8 P6 p4 S [/ |, `# a
var Diags = xdc.useModule('xdc.runtime.Diags');
6 S0 ?1 ~4 ]' K4 c9 o( H x1 Gvar Defaults = xdc.useModule('xdc.runtime.Defaults');7 G7 \5 M3 G7 S' S
0 G. R% t7 |1 f6 w; N- l# mDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 L9 B8 `$ M% C& |' D
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 F& D) }2 K$ w5 X
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- y9 q- e4 q$ }" N1 {9 s, p. d! B
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( z3 e5 s% o' N% ~0 l
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. [5 w1 C% {: c% ^& |2 {+ L# j6 E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 Q" p! d, B% V/ qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ T H/ j8 `& D5 i L
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 w) f" ~+ v' l' d" c
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& \0 x, b! z" q1 k, Q% E; DDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! p& z6 t! @/ ^" m) G7 V' mDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 F9 C3 d% k! v1 l, oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" ~4 y+ ~: h, O0 c& uDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;% y' s& h/ Q0 c/ V. w$ V% l0 D
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ b+ n! W) R! u4 ~% ?0 x# K8 f# x( J) _
% `( d0 J0 }2 ^* C/* override diags mask for selected modules */; b0 I0 A2 n9 X, V; n* I$ u4 X
xdc.useModule('xdc.runtime.Main');) q8 P& {7 K3 _1 C
Diags.setMaskMeta(2 B/ Q2 k3 S+ L% V* p
"xdc.runtime.Main",8 J1 @' C, k. H* X) d3 S- d' G
Diags.ENTRY | Diags.EXIT | Diags.INFO,
; H/ E6 K k0 w4 y! P Diags.RUNTIME_ON
% C, [0 i @$ d8 T# Z; A2 a, v, F);
. k7 z0 P& m% H9 G
/ y, b3 W# }$ xvar Registry = xdc.useModule('xdc.runtime.Registry');9 Z7 c3 E# e; `: _0 x4 y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' C# Y, o9 P& o% s: `. [Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, q& V. |" O0 }8 S9 G! |2 v
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 |8 x M# L! j# V; URegistry.common$.diags_USER1 = Diags.RUNTIME_OFF; p3 G$ R; v- y& ^1 f# E0 ^
- X& h0 T6 Z1 m8 g5 o' U5 y$ X t5 R" A/* create a logger instance */
5 k- |4 h$ @$ ]var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ X; |8 s& m) a5 O) Lvar loggerBufP = new LoggerBuf.Params(); o) C4 l! g- p/ e% x0 h* B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 D; s; `3 h7 qloggerBufP.bufType = LoggerBuf.BufType_FIXED;! [# l8 j, ]* M& Z1 |
3 m. ^9 B9 Q; G* C2 Dvar appLogger = LoggerBuf.create(loggerBufP);6 h5 ^0 h' r' j
appLogger.instance.name = "AppLog_Core1";
4 E& i+ a, a3 I: W/ e. I- ~' ^Defaults.common$.logger = appLogger;1 U9 ^% u1 |" S9 z
Memory.defaultHeapSize = 0x8192; ! p6 A# ^: V7 p) h9 |- B
Idle.idleFxns[0] = "&LEDStatus";* Z$ c `/ z$ Y4 K( m
Cache.initSize.l2Size = Cache.L2Size_32K;
; Y& | [8 S; K q9 L+ W, Z& u. r" [4 B, ~0 u/ i* ^
|
|