|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& a- ]4 `2 s- ]! g/ u8 \; j我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& @6 U/ n" L4 v" d ~3 n(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ p& g' M( y2 @: T& L" T2 @9 D: }
: y) e: `& ^; h: _7 W3 J4 n% A0 P7 q是不是需要在DSP.CFG中进行配置+ a: d3 _/ I" z8 W
我现在的配置为4 B1 y7 M0 B1 w' z, t
) Q& x( R8 ]$ k
/*
( \8 D. [2 _8 X5 d/ a P/ y * ======== Operating System Configuration ========$ h0 Q9 P8 `/ x$ z' S
*/( Z! \( \" v5 N) L: P# c+ J
1 j& S# C5 w5 A/* no rts heap */
# Y1 w v* G' ^2 G- IProgram.heap = 0;. W' h- p2 @$ J) q: ]* c1 |; W
Program.argSize = 100; /* minimum size */% D2 U; {7 |. V+ v
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, y7 }% `. G+ _- F% i1 o
0 I% l# y7 ^% n! O
/* create a default heap */; _) k2 a- P7 J# t- U, l6 g
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" q2 g. u3 N" ]
var heapMemParams = new HeapMem.Params();
5 ?6 A3 _ w( y( O1 QheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
M# a- V: D1 [$ c9 {
' k) e' n% g/ V J/ M/ M3 T! [var Memory = xdc.useModule('xdc.runtime.Memory');
/ b% O8 A: }7 j* l8 [Memory.defaultHeapInstance = HeapMem.create(heapMemParams); Q' s& U# z/ }9 C9 v
, y' p% Y, j. I$ D' I
/* configure System module */0 x8 T1 a' ~- o1 e
var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ W" z7 R7 a" T* K7 ESysMin.bufSize = 0x1000;8 _. b3 d7 t i4 F R; H2 D, X) R
SysMin.flushAtExit = false;2 g! {" \6 U) L% ^0 j5 ]
# f$ O+ Q7 Y/ O& [2 h; x) u
var System = xdc.useModule('xdc.runtime.System');
' z: j+ N' Y4 X9 b& CSystem.SupportProxy = SysMin;1 c- }* T' E2 B8 c
2 u( W& L' B7 A. c( ^/ ]/* configure SysBios to use the lower half of Timer 1 */% U. t& w& y- V5 ]8 w+ l( q6 k' s+ g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. {% V2 O. C; T% Z$ ]+ Y7 y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 n& n- \7 a$ W8 r( r# b5 w. i
Timer.timerSettings[1].master = true;
/ K$ f. v+ J8 X( `7 [, q! mTimer.defaultHalf = Timer.Half_LOWER;6 }- a8 S& F; z' c, W }' ~
Clock.timerId = 1;
* n' T! C2 a5 s+ { z' \$ Q* N4 f, t( `/ C* _: _4 T$ T* _- @
" h# X! m% F0 b/*
* v2 ] F1 w- ^8 {) c+ A0 R * ======== Miscellaneous Configuration ========
" o3 X9 n& N `/ ?4 s7 I% T, |0 f' a */
3 S0 L( M6 ^; l: ^! `3 W* [6 H: |9 E# l5 C8 m4 V% y! T9 J! {
/* set default diags mask */& x8 I- n; n- G+ t ^( G
var Diags = xdc.useModule('xdc.runtime.Diags');
3 }+ p1 T7 ~! L# x! X. \' _var Defaults = xdc.useModule('xdc.runtime.Defaults');
* E$ K, @! X( L3 V% N- s) y! J0 N; v3 ]7 l e1 x: i
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" X9 h* k( a: L4 BDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
J# {$ k+ l J4 n7 @8 }$ O JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( `# N& |# k. h9 A. a( V9 RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
, F. L# C$ ~8 g6 yDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ D& g* X( A, f- J. ^2 Q) VDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 g; x: d' m9 d) Q& w7 G/ B0 ZDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ |! c+ o z6 y0 L9 IDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 g2 e4 F5 O9 `. ~! ~Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- |, k* f& ]1 {, HDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- G; ~* N8 s$ U& L
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 j, |0 {4 N& E9 bDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: t! z% c' v5 u' w
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 R. m* J* i& r8 n% V/ e' L( jDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" b# J: V; h* Q, k* I' @& z/ c9 P/ i) H; V
/* override diags mask for selected modules */
2 B) g# p2 u) L9 t# a: s1 K3 b+ Axdc.useModule('xdc.runtime.Main');5 Q0 b1 g5 E- g7 v8 z
Diags.setMaskMeta() }# w' `- {0 A2 n/ U X, G
"xdc.runtime.Main",
% ]0 C8 E# o( A Diags.ENTRY | Diags.EXIT | Diags.INFO, D- I* ?. P/ r! f1 C8 T
Diags.RUNTIME_ON
$ I$ t$ \( V+ Z& @6 ^);5 [ K. B- | U; r6 m+ g! X
0 Y/ S9 L6 K [ D- g5 a: N
var Registry = xdc.useModule('xdc.runtime.Registry');5 u0 @, G4 i' e$ i
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( A2 m$ @9 l& R( D2 v. d3 U6 ARegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;, V/ k" r' T- b0 D, ?3 F1 l
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
) }. ?3 C( |7 f5 ^' N bRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 A7 N; K% ^- K; [
# e7 \8 f4 ^4 h/* create a logger instance */; G. ~5 |) E/ h& _( ~+ u! ^& D; _. W% @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; H: `( f+ k$ ]& O: S, d v$ R1 w
var loggerBufP = new LoggerBuf.Params();% t$ u0 a2 D- ?6 p4 S0 m
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */0 l5 J; D; L2 h) ~ i1 B( ^ o$ ]/ C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 Y0 `5 \% G# U" o/ k% a+ }, q& W6 V1 z3 K4 x
var appLogger = LoggerBuf.create(loggerBufP);' b/ d" v5 v0 a' Y" i) H
appLogger.instance.name = "AppLog_Core1";7 \! s2 _! f6 M; ~6 X( Z* J' r4 S
Defaults.common$.logger = appLogger;7 U6 e4 g1 I i) Z X& K; K' x( i
Memory.defaultHeapSize = 0x8192;
! Z3 q: o- U; X. m! N( D+ UIdle.idleFxns[0] = "&LEDStatus";1 |' s. X! ?% k8 s2 _2 S: J$ x. c8 o
Cache.initSize.l2Size = Cache.L2Size_32K;
5 d# v# G" X; N. D. B
! e9 `4 W2 O* y" Y |
|