|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 K/ M5 J: Q! F0 j& Z- I; ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; M, d; v- b$ W/ K(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 T3 x6 n& U' I1 ^+ R2 z
1 y3 _9 `7 D/ i4 z8 W+ k7 ?是不是需要在DSP.CFG中进行配置
( S% n, U- U" ?& T0 { ]我现在的配置为+ I, p0 H5 F( W7 D
& B1 ?& _6 c( v. k7 z' g, p9 c/*! Z# f) v4 L% V/ N, O4 q
* ======== Operating System Configuration ========+ _1 O. I5 J6 B2 P
*/
5 V. o8 ^/ j4 B; r( g' z- }; W) R7 O4 [- n5 }0 ~# q
/* no rts heap */
& T" l5 y) t: h2 Z1 v G; KProgram.heap = 0;" h& a+ r# ~) U' I0 v9 a
Program.argSize = 100; /* minimum size */) U6 g$ `4 P3 y$ i1 O
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大. h0 f1 c+ B0 R
1 g, J3 X' O5 d/ C. }: N3 P: a
/* create a default heap */
$ l. O7 S4 M9 J h9 o( ~, Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, l, a. \9 X' W2 |) bvar heapMemParams = new HeapMem.Params();
5 }; Z1 f( m! w, Q' E( H7 SheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: ?6 \- O8 z1 q, {6 | d$ b$ C2 o* C9 [5 b2 s5 b* `+ }3 |7 m
var Memory = xdc.useModule('xdc.runtime.Memory');
( L* ^7 B( a. n4 ?# B) n: t2 CMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
" i' e# H; _: @% M% ]2 L; G2 x. }" Q! y5 s2 n6 T
/* configure System module */
6 m3 s: T4 q$ d7 ~var SysMin = xdc.useModule('xdc.runtime.SysMin');1 F" @" h3 S( G# M" h0 M
SysMin.bufSize = 0x1000;
; J7 l9 k3 P: N* U7 }SysMin.flushAtExit = false;
- p T# A% g0 P3 c! {$ p% G% B; a3 X
var System = xdc.useModule('xdc.runtime.System');) i' ]9 q+ x& c# I* `) p
System.SupportProxy = SysMin;* M/ V9 r; ~ ~, C+ h
, v3 T% i' ^# M3 I3 d( g/* configure SysBios to use the lower half of Timer 1 */
7 w9 [2 x3 Q0 B. H a5 k' t5 dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ J$ p8 x3 A( K+ Evar Clock = xdc.useModule('ti.sysbios.knl.Clock');* o/ U r! v4 w4 m
Timer.timerSettings[1].master = true;& s @0 Y6 M$ ^/ w/ m) l5 D1 G3 H
Timer.defaultHalf = Timer.Half_LOWER;
; T# i' `7 i) K5 P4 ~Clock.timerId = 1;
# v2 I% s& r: G6 T% K0 G2 u! }! ?$ c
* U& `, u$ d, ~1 Y: J1 X# i
/*
( o& _& R, Q- ]- L. n: {+ l * ======== Miscellaneous Configuration ========
; c6 q3 @3 m! M' o9 a: g: X */& Z, I0 _- j4 R( ~$ V
( I1 t$ i0 X6 P4 \* p
/* set default diags mask */
4 E) L5 a e0 u+ y9 [9 e1 Svar Diags = xdc.useModule('xdc.runtime.Diags');8 X2 a. z5 Z4 N) @5 i. A& r& S
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 M3 S* r u! g7 B
$ y, b( N" b& _# cDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! R( u3 `: V2 o5 g2 L% A# k% X
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ H% D/ n3 ?7 T3 O1 e3 J' BDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* R/ _: d# E: ~) |, y. {! \
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; i6 K! q# K, O1 |# KDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
. J8 w: h, U1 w# H6 sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
. i1 S/ z! P0 S: J, N. n" x6 Y' dDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ o& ]- q$ d% ?
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! N2 ]0 q Q4 Z* U9 H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) l+ T2 v, ~, A1 y# lDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. _2 C0 ~& e4 R+ ]2 J
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& u" w7 g5 i$ x. f0 l6 x# A
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: Y: A: y& Q1 W2 g# g% H
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% y2 z8 w1 @1 r$ F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% |0 t" X& c2 K: ]/ H$ f
* r( K, D7 W8 T7 F% g8 _5 o
/* override diags mask for selected modules */
9 J( U; g4 Q% N' T1 ~xdc.useModule('xdc.runtime.Main');: g# I( k7 v& f# h- o
Diags.setMaskMeta(. U% ?) }% M' M8 T. q
"xdc.runtime.Main",/ Y4 N) x) e6 A" j8 s; `
Diags.ENTRY | Diags.EXIT | Diags.INFO,! i1 h$ O. s0 w4 r
Diags.RUNTIME_ON- o/ A& S1 x1 n
);
0 ]0 V3 y- r8 ~2 z6 S) e6 ]
' c8 L& U! |1 i$ \: h- x" k$ mvar Registry = xdc.useModule('xdc.runtime.Registry');: S2 r7 f$ ]6 H: Z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 H) g; B" q! M" P/ QRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;- Y1 j9 P( Q: P% a* R/ c! I! i
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;6 U T$ R2 v, e6 u% m1 v7 ]
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ x9 Y/ x8 B; G9 J! z7 p0 l/ D& B3 A; P4 W5 T% p0 V* m
/* create a logger instance *// f; W6 O8 b7 a7 G1 A }% x1 ^2 h
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');5 @- L+ ?! A! h/ c9 H
var loggerBufP = new LoggerBuf.Params();
/ c. ]# H$ Y+ Z# z5 GloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 e9 w0 A: u$ u) i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) K" L" y2 ^! V8 c- e8 {" {$ V# {4 T5 o5 s0 f# C
var appLogger = LoggerBuf.create(loggerBufP);
0 ~6 ^$ \1 w& vappLogger.instance.name = "AppLog_Core1";
7 ^5 x. M1 E( j0 N' H" m4 d' ADefaults.common$.logger = appLogger;3 D9 Y2 E4 b9 ?( w( `$ k$ {
Memory.defaultHeapSize = 0x8192;
# b4 ?" g2 k5 yIdle.idleFxns[0] = "&LEDStatus";6 F9 X$ W* o: f/ d# A0 J
Cache.initSize.l2Size = Cache.L2Size_32K;1 k6 K" r; E4 C* v. k
, a) x4 a7 B. |, p |
|