|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 J" k, F8 z5 m7 U7 Z9 {- \
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' T( `8 f! K% R: e h0 \
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 X: L) t$ F4 Z6 S
F/ M) f/ V0 @9 B是不是需要在DSP.CFG中进行配置
* w+ }# a& a1 a3 T- [我现在的配置为+ O3 v0 j% ?: Q- N5 k
- m6 W6 _7 s; A% d8 m& p6 V/ u, y
/*9 o" y- P+ R7 r2 n9 k! r
* ======== Operating System Configuration ========
4 J; q) s2 y: d$ p$ k) a% i/ I */
/ W2 ?1 v, w" r# x& z9 M. X
( V2 _9 W2 n+ Y R; ]9 |/* no rts heap */
* s, U0 j3 ?8 E0 o, y! ZProgram.heap = 0;9 U3 D' K3 x5 I; L5 _
Program.argSize = 100; /* minimum size */
/ F* N/ F" u8 _8 o; k. AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
$ `/ R/ K, j! d+ [" E$ r' a7 @! A+ n. e0 E& e) W
/* create a default heap */# t3 b! |3 c3 \! p' W; k8 D/ y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* c! k6 A; V8 Y' ?
var heapMemParams = new HeapMem.Params();
Y. y9 {- T9 W5 h0 UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ Z2 [2 t. M& a" e* i( H) I# O+ O" b8 `) P) J
var Memory = xdc.useModule('xdc.runtime.Memory');. y+ f/ @& V0 b, s! a; J0 b4 G8 i
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
w8 i; C9 N6 v+ R- w# N# U9 i r! F$ s
/* configure System module */8 x# r2 \# K! E P
var SysMin = xdc.useModule('xdc.runtime.SysMin');' Z4 d. C1 t6 I7 o* j
SysMin.bufSize = 0x1000;
# {8 _" I, p' O! k8 FSysMin.flushAtExit = false;4 B; g7 M4 I, d, T1 f x
/ D$ Q3 b$ n2 m- u. d- V. Rvar System = xdc.useModule('xdc.runtime.System');* e# \; r. B! i( M3 J
System.SupportProxy = SysMin;) v- @! M' Z" p8 z
- A1 [+ k! U9 ?+ c2 |3 P$ \
/* configure SysBios to use the lower half of Timer 1 */
* |9 ^! O8 q1 U/ r! ?$ ?6 u! Wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 h" D1 g) e& i' S; Tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
P8 U) Q! K* s0 l, iTimer.timerSettings[1].master = true;$ s! ^7 I( C4 U% y Z! V8 t- d
Timer.defaultHalf = Timer.Half_LOWER;
( R5 u6 {7 h% b! ~3 B3 sClock.timerId = 1;
* z! Q! O% e5 q, m. Z1 _" o! ?
4 t" m' N4 J j4 ^. L2 v2 e# S0 P& B s6 u6 B
/*+ @6 r& n6 G, p
* ======== Miscellaneous Configuration ========4 ~. v s$ T) c
*/$ h. d7 n; A2 T5 u: Q1 m/ u
3 c' I- y+ e( R: J& ^
/* set default diags mask */
2 a2 ?' k G+ F0 Tvar Diags = xdc.useModule('xdc.runtime.Diags');
`. p; L8 U5 |+ ]var Defaults = xdc.useModule('xdc.runtime.Defaults');
4 C; { j4 a+ o- ~
/ U$ d) L+ o2 eDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, \/ k0 S% X, W! r4 {* C
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 c3 w. ] d9 k% O* j- w1 d, _. ~4 l
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ z+ J" B& i1 f5 i9 v$ m: ~8 _
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */. b6 {& c& v6 V A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" J4 X* c; N$ [7 x# |4 g% j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 n9 h! W( t* S# D9 rDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& I4 A. \ U9 |1 H: hDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( ~; z! F, s, d* |Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# z/ \5 F: y% T2 e7 r& Y8 R
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( O" o9 ^9 J) k1 EDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ g \9 u# m5 x) ]- v0 T
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! u( j: {. Y' P( I5 q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;6 I. K+ @7 z" m
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) M/ p- s7 f: j$ Z& v: R% @* y+ j
0 Z# O* A! M2 F+ N. T M
/* override diags mask for selected modules */2 M4 {; S" ?9 [: ?( ~& X/ j' U
xdc.useModule('xdc.runtime.Main');
% C) g, O$ ?& HDiags.setMaskMeta(
# S9 d* F4 o* k8 _ "xdc.runtime.Main",: ~" L% s, a( U3 u
Diags.ENTRY | Diags.EXIT | Diags.INFO,. T% }2 [- s4 [: [
Diags.RUNTIME_ON/ X8 {6 f4 ^+ ~8 ?- Z1 z& [! l9 x
);& f% X @% d7 z% @7 Z/ [: G
+ T- x0 M: W" r( N) q I
var Registry = xdc.useModule('xdc.runtime.Registry');( g% C# J: u# e& m; {) ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* @" d, V9 l# d0 ]% l, h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; m9 O2 m+ D8 `+ oRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;- \$ \4 d( |$ g$ }* j/ n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 p0 ~* p: C1 I. x
Z5 G! Y0 v% _6 i. }9 q- d+ C/* create a logger instance */
1 J6 B) X7 t; svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! Z0 k# o& R3 D0 |/ Xvar loggerBufP = new LoggerBuf.Params();
* W6 L. N. q) r, G# L! dloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 j% d$ \4 H: J* N% S6 Z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ ~" U7 ], I) P9 H
9 y# h: S1 ?0 F! f& o2 Ivar appLogger = LoggerBuf.create(loggerBufP);
2 l+ ]; Z) I2 \& wappLogger.instance.name = "AppLog_Core1";
) F2 s( I+ S# v( t: }9 R' mDefaults.common$.logger = appLogger;
5 C, O7 L7 n/ s! ^, k! _- |4 n# |7 tMemory.defaultHeapSize = 0x8192; ( |0 ~) f5 ~% y& z, N
Idle.idleFxns[0] = "&LEDStatus";
4 t% C8 q. m$ v3 M* i8 g2 V6 PCache.initSize.l2Size = Cache.L2Size_32K;
; t5 H- v) t8 P/ E S e% Z- J4 B3 c4 z/ I; [# m- q
|
|