|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' b+ f% ~1 r3 \0 g
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! ^! b; U* ^3 I6 U. T$ L; m(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: Z" r# c, O+ h3 u1 N% c4 y, C
+ c: K% h. P& F* W! D是不是需要在DSP.CFG中进行配置1 Q, _+ O6 y* @, Q
我现在的配置为. G- S5 Z, l3 o! k9 H
9 [0 ?. R5 J1 Y1 h2 B7 V: x/*( F6 h, f2 T" g. q! a* y" v( w$ T
* ======== Operating System Configuration ========
2 E$ w4 B& e+ ~7 B- u4 h9 q */
2 T" \ r5 w. {( G& A! p* F% P. O" M/ l2 X( W% |
/* no rts heap */
5 G9 H1 K4 U% |2 P1 X% L' G8 pProgram.heap = 0;. i' I! Z' F0 T' `9 ~! ~. P# G
Program.argSize = 100; /* minimum size */2 r4 B$ B5 Q ?% Q- U, Q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大) B/ E+ j4 w) l9 v8 y' ?6 y
5 K; ^9 \. I4 A" e' R" P/* create a default heap */
+ v( y" ]" b* Q* kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 a7 [3 L/ p: b: G8 D
var heapMemParams = new HeapMem.Params();- ]) K) F: f& O- u- w( y) ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& U! }7 z' T/ R6 U+ @
+ h& Z+ n6 I- a: ivar Memory = xdc.useModule('xdc.runtime.Memory');
+ r$ M" l9 w. Y: E6 @6 B) oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);% e9 l" B1 Q/ g+ x' ~. u
& x- l" u4 x/ d: O* Y( T/* configure System module */0 E/ m: k/ P6 c1 N U3 p1 u
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 I2 r7 I m6 W. X& ySysMin.bufSize = 0x1000;! t5 c" ~& D/ S
SysMin.flushAtExit = false;. P2 [( ~5 e! h+ Q$ J5 Y
) u4 L- _1 A- v* E0 t4 Pvar System = xdc.useModule('xdc.runtime.System');& h- Q4 r8 O1 L
System.SupportProxy = SysMin;
# `" }; n. }; e5 [. A# n: K, G8 p0 j
/* configure SysBios to use the lower half of Timer 1 */6 v. \! Y' u! ?3 U
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 D0 L( c# @9 q8 x3 ?- P: @6 Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
O4 _2 z& u! V' nTimer.timerSettings[1].master = true;% Q+ Z' e# L7 T/ h$ l8 ?
Timer.defaultHalf = Timer.Half_LOWER;
: S7 g. S; W# @! z$ \Clock.timerId = 1;4 s+ S, ]7 \, s) i7 n" }
, G6 `9 e, h# U/ V h: I/ I* q
1 w d' W# g' y# `9 C/*% w r, ]7 j3 s1 R, D/ _
* ======== Miscellaneous Configuration ========
9 w; ~; Z1 o: _# K& v2 w */
1 {% ^! z a' Q6 s8 R3 j' L5 \4 N6 Z, l" `
/* set default diags mask */
$ `3 [) P0 b3 J1 Svar Diags = xdc.useModule('xdc.runtime.Diags');- a/ d! o/ V# i }: R& t
var Defaults = xdc.useModule('xdc.runtime.Defaults');
9 ~" t4 b$ }- I+ B. h9 M; }" A' C% S; k
+ T4 j! c2 I" d: d. xDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ U9 U, `, I5 }! o+ X4 H* \5 B! sDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 E) z1 ]: d% g2 @! n/ h. O; g! CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! m+ b+ ~* G6 LDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. q' }- h. ^( j JDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 h) a9 g/ b% \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! A7 L: }) t: C) qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 A) D1 c. B1 }. a# s3 N* L5 I
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& M" I9 C, L3 A/ V+ E# Q8 o$ V( {
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; ?* c/ }6 F( c0 X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! k4 C3 P' J) C4 {, xDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" H' e2 ? S9 v# qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 U! r( K( X1 [$ eDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;: g; R& F8 [0 o7 h# @' C7 Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# g4 {" ~2 b* I/ O% n7 X
) u+ ]( q" A/ z1 z/* override diags mask for selected modules */
: O1 G2 a) }1 B, z0 lxdc.useModule('xdc.runtime.Main');
' l" |9 ]( k- k" Y! uDiags.setMaskMeta(
# U r0 ]1 q: A7 p& ]( Z "xdc.runtime.Main",3 r% f) |4 J j9 ]7 w- U4 u
Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 }- ~9 F8 z' j6 Y Diags.RUNTIME_ON* }4 e7 H$ s. ~& p& |
);- T+ ^& ^1 k, R# T( Z; \
z3 ]) ?: c- S/ E
var Registry = xdc.useModule('xdc.runtime.Registry');! _( d3 U4 v% Y c2 X& K
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! K7 i, s6 S6 K# u. }3 IRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 D; |, r* B) R! }8 P" A" {( w
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% f" T4 G* S' m \Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;) }, D# n+ J% v1 E
" Q. O0 I; Z! A+ C4 N/* create a logger instance */
; w8 O9 |3 S5 L9 [4 U# _$ uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, x" ~' H! Z E# l- u6 R( Jvar loggerBufP = new LoggerBuf.Params();
& k1 z, }# E$ k [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */; |; }1 k& n3 d( {# _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;' S4 r* _& M- E; Z2 h# P6 N& p
6 J6 @9 @# V- G4 k `) k
var appLogger = LoggerBuf.create(loggerBufP);1 |/ J/ Y8 ^- ^8 h2 k
appLogger.instance.name = "AppLog_Core1";, S2 {% w0 x! N1 N! G! ^" c& O
Defaults.common$.logger = appLogger;
* |$ K: q" W% i/ B9 kMemory.defaultHeapSize = 0x8192;
4 J8 P @, v2 K8 CIdle.idleFxns[0] = "&LEDStatus";6 Z" Z; n* [" k& b, [9 j. c
Cache.initSize.l2Size = Cache.L2Size_32K;
; v, g5 _/ a7 \8 R0 u. t7 C& `! U: r1 f. B, ?
|
|