|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# a( ^4 ?2 ?8 h/ I) n3 C我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, n- Q1 W. m4 u2 s8 t6 [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 ~$ y8 z4 D1 l8 P; Q$ q$ D5 T9 `
\0 J* L/ f- i. D) ^* S: F是不是需要在DSP.CFG中进行配置
% O3 x8 Q3 g7 C- P- V我现在的配置为
7 \6 d* ^% M y2 h- F% C P7 L I/ D& g
/*
* p8 g6 W) b% f6 j * ======== Operating System Configuration ======== B$ j3 \. U! j+ b
*/# r# P& z6 x( z
$ x. D5 R3 \) F1 x/* no rts heap */9 @3 R1 I. C5 U p3 n
Program.heap = 0;
% K* ~0 I P1 U# b* fProgram.argSize = 100; /* minimum size */
( f: r# t) _7 Y7 h5 yProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 ]9 T, n% E0 t6 }. G
2 q3 D! C6 B" b Q/ b2 ?& q/* create a default heap */
4 T: o: t; ?/ U7 J2 lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ {8 u1 L2 C L+ Q& ?- ?' V7 k
var heapMemParams = new HeapMem.Params();
* B: z2 f- [8 RheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大6 i: p& r- h; o, r3 ]0 k" O
& H( j8 W$ j/ a" A) Ivar Memory = xdc.useModule('xdc.runtime.Memory');
0 h0 i4 V% F, A' J# H; d( c* J, A& @Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! N4 w- ?3 ?2 q3 H
9 Y1 P& ]5 M! Z ^, H4 M/* configure System module */
5 j' J6 A3 X/ K5 w0 K; i R/ Yvar SysMin = xdc.useModule('xdc.runtime.SysMin');/ ^1 e5 q3 \6 R' x/ W
SysMin.bufSize = 0x1000;
7 y2 m' E/ N1 aSysMin.flushAtExit = false;
2 W4 W/ B7 N4 ~3 u9 n# |. i) _& w8 C
3 P0 U3 Z3 \( ~: A2 I2 evar System = xdc.useModule('xdc.runtime.System');
. |: ]/ u3 t' J/ m5 NSystem.SupportProxy = SysMin;; e8 U0 }+ w2 e
' t/ h' E, T; G% m/* configure SysBios to use the lower half of Timer 1 */8 U' U' c! x3 |, p0 c4 w) P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) @; ~4 S& @4 b$ o' L9 c* S2 M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');8 s. X3 w q1 r
Timer.timerSettings[1].master = true;# Z# Z% R' D* C, E0 ]5 E
Timer.defaultHalf = Timer.Half_LOWER;1 O |# |7 w( s" F$ n; u3 ]
Clock.timerId = 1;8 f, p6 n$ [- L& x3 a% z! O- X4 e
' J" O- D: g9 v' U4 z, M `
+ P/ |' V& a. h$ V+ V6 u+ M
/*3 y. \& o$ o) t3 d( L
* ======== Miscellaneous Configuration ========4 w) W' r! @8 z) _ o8 W# n
*/. ?" E# O$ x" Y
6 n0 f9 R* Z3 e+ }5 g) W
/* set default diags mask */
( j* e, ?$ ^: h1 zvar Diags = xdc.useModule('xdc.runtime.Diags');# w$ I0 }2 \' ?" x
var Defaults = xdc.useModule('xdc.runtime.Defaults');) A4 Z K6 a& Z
6 i3 n" ~$ L$ N7 ~: h- v. L
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 r, g. {( d( h
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 T' E- w i# b- }3 R* w" h
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 A/ P1 }3 B% e# r1 J8 t, N0 }
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 z- \3 G$ k8 V. B2 |$ S, w j# XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* G9 I* g) p7 K, _/ v7 {4 gDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ E) R9 ?" f, B6 }! v/ Y5 @Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 h, d1 c, M' K; h
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& r: l! e7 L+ s' l6 e5 Y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; K5 ^9 R; W* z4 e! L+ _: ^Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
\) ~( f, r3 }Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
/ o/ n- R1 g) P+ X7 ^% c- \& wDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ s& F5 w3 |+ n
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 |! \% x: N9 Q% W+ B9 ]. H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 S( C6 a4 q) z3 e" \% @' o! E1 e
2 `) f$ X0 ]/ W: Z! X! \/* override diags mask for selected modules */% l! p A' q1 S3 B; J; S3 j( ?
xdc.useModule('xdc.runtime.Main');9 e1 u* T+ T9 }5 R1 {8 B. h; e
Diags.setMaskMeta(5 K: L2 l, E1 y7 d0 ^
"xdc.runtime.Main", K# n& U5 j) O8 b1 S
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 _9 B2 |8 J, ?: R! I
Diags.RUNTIME_ON
$ Z4 a. e+ G \( ?);, k0 h# k3 [0 _% i; W
# h. i2 o+ h( C# k5 _var Registry = xdc.useModule('xdc.runtime.Registry');
6 n! D0 x1 o: g/ a+ WRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: M9 s4 ^3 S3 N8 f5 w2 I+ F8 \' `
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
- b: o% m9 j% r6 @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 E2 l% U- c4 t- U8 W C% `Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;" A4 w N U2 ?2 ?
: k+ f" F! X, \2 _0 y
/* create a logger instance */! z% s" l. G. m* W" a; f2 D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) r! [$ y5 T3 S! Yvar loggerBufP = new LoggerBuf.Params();
" ^- R2 I: B0 a0 vloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% J/ G+ n$ E8 I
loggerBufP.bufType = LoggerBuf.BufType_FIXED;9 @0 h) r* w4 E, v% C
7 x+ R2 O$ M/ h* r
var appLogger = LoggerBuf.create(loggerBufP);- E( L7 a8 s2 O+ A( }6 ]
appLogger.instance.name = "AppLog_Core1";
. S" `- c4 [0 B8 sDefaults.common$.logger = appLogger;' }1 q0 \! I9 C8 d: S' M7 t
Memory.defaultHeapSize = 0x8192;
: x' b# W6 z) VIdle.idleFxns[0] = "&LEDStatus";" F+ N# q9 h: k5 a( [( k7 D& D: s9 U
Cache.initSize.l2Size = Cache.L2Size_32K;1 `7 e# H; m; v3 H& R
; O. h2 n9 s5 Q. \6 i- @
|
|