|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ M {5 `# Z4 a" [! V5 `0 ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. x) {$ w6 i" u' F: {% s
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& C z/ a3 g: y) u) G4 W! X, s' Z( ]
; s7 Z x- L' ~: H \; z6 E- n是不是需要在DSP.CFG中进行配置
/ H/ A2 H, Y% H5 J# K: v我现在的配置为" f# n& A V/ H$ A4 v1 p8 G2 U
" C7 ~! P) s, l
/*
# T3 @( r' M) [% i9 F X+ h * ======== Operating System Configuration ========
9 U, s4 p/ j; \: Q */' J" M6 ?1 r% x! b. L
! F! X% S3 w: V% V( r: H$ R
/* no rts heap */: E) `/ J: X h+ w/ B
Program.heap = 0;. K1 R: u' { ?6 K2 R" J: R8 Q
Program.argSize = 100; /* minimum size *// J: ?2 H }( P5 c3 [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 Q$ C( G5 L( s N
3 r( K3 J" n9 B. z4 |$ o7 M/* create a default heap */
2 ^. ~ s3 [' {& H, e' a/ cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) h1 I: i- j0 A1 r; ]* p
var heapMemParams = new HeapMem.Params();0 | s1 T2 Z6 O) _1 A2 f
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, x# ~, u9 S/ g0 {4 I$ E: n5 `2 X
! q& _1 I3 g+ q
var Memory = xdc.useModule('xdc.runtime.Memory');
, y& P& L+ z$ D& K8 m5 y \9 ?Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. v1 l4 v$ X0 P/ k. Q0 ?
; C9 B3 ^6 j! ]6 I s7 D4 B( C/* configure System module */: R# }- W, E, U! h5 M1 s7 X4 z# m
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 \* `8 ~3 Y& J' F( C( l) V
SysMin.bufSize = 0x1000;
6 [7 x. P) W2 }SysMin.flushAtExit = false;4 B# L* q5 ~! B1 L2 O
; O4 x6 M5 O, E0 Y
var System = xdc.useModule('xdc.runtime.System');
@- ~) H( N" d6 j8 T1 fSystem.SupportProxy = SysMin;
) Q- N9 H* E1 S* X
3 U1 i3 K P. P7 X: _/* configure SysBios to use the lower half of Timer 1 */( T7 I4 M- _% J7 Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) O- I5 u* k- @var Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 E! f! Q9 `' pTimer.timerSettings[1].master = true;
7 Q: h( s+ ]6 U: J5 e% ZTimer.defaultHalf = Timer.Half_LOWER;
/ T' d5 v2 `: tClock.timerId = 1;5 f0 g8 \3 M* V: J
2 P5 L2 E7 A" g m6 m5 q d' y$ C& I# p
/* k! a! W2 t5 }- }' _0 l
* ======== Miscellaneous Configuration ========
* B' m* t9 X& y* B1 H) [ */% p8 T; t1 b/ }- d& o2 J) y
4 |/ i/ G$ a& I! T4 ]0 Q4 V
/* set default diags mask */. a2 y7 b, [6 y; i: @
var Diags = xdc.useModule('xdc.runtime.Diags');
- x$ R) H3 n, x+ G. X# Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');. m8 L& h4 @2 d7 c4 ^0 _# p4 W
6 s" r( W0 i, ^7 ]Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 v" ~3 a/ i% M- Q9 Y1 W5 iDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 [' B! q+ E; v; b0 }! qDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) c) Q( W5 Y" C" t+ C) VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 I% Z) {7 r) A5 Y( V L) C
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 {( w9 _; S" Q+ n# N- HDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 e9 K2 f. d/ Y7 Y7 @
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;* A) g% j5 @ t5 `- v( M. l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. h2 e8 U" T5 RDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' S/ z+ T$ A. R6 \6 J
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) L3 Z$ T8 u. W4 J `Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# V& z+ L. A: n. zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" _" ?7 L, y% z, N7 g) g+ I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ _, d# t& @" v$ h7 Q/ ^
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 w. n3 c: F# _4 a# E6 @1 i0 d* g. t
/* override diags mask for selected modules */
$ s* x$ ]; s- U# Z0 o9 jxdc.useModule('xdc.runtime.Main');9 ^% E+ T8 o) t4 D
Diags.setMaskMeta(* Q, E0 D" i$ T1 \" i
"xdc.runtime.Main",: I6 V" v" t- ?! U& H. u
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" {% y3 {4 U& W+ s! v, [8 E Diags.RUNTIME_ON1 o! W# d+ ^/ l, ^7 a9 v1 w2 B5 N
);. f: b6 q) p3 _" t& V9 ]
) H7 I5 |( w( ~
var Registry = xdc.useModule('xdc.runtime.Registry');
. g+ I0 |4 ~% H; `/ WRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 O" [: `8 R- j/ [Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 a3 g5 }% _1 `0 l6 U: G
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;, @$ V0 z5 d0 f* Q6 x6 n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 U. r% X9 F2 z. O
* Q g& O4 Z8 N9 X: l/* create a logger instance */$ b/ G' _2 W `; k
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, j1 C7 G, V. ~' X
var loggerBufP = new LoggerBuf.Params();
/ o" [/ T& w' o8 O: d+ O7 p9 zloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- _3 X* P. B+ W' H8 W! K/ A) ]# }loggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ n: b; @. I! V1 E3 M; X: d' r7 [
var appLogger = LoggerBuf.create(loggerBufP);
% h. g4 q) U2 Y' p! E9 a0 YappLogger.instance.name = "AppLog_Core1";6 T# ?" q; j8 G( G6 N7 c3 k7 P
Defaults.common$.logger = appLogger;
! ]2 T& P) j0 T. W% F3 OMemory.defaultHeapSize = 0x8192;
. f7 _; |' |) L) J9 P/ b; |Idle.idleFxns[0] = "&LEDStatus";
: E- H# G0 O; Y: R7 q. S0 @, [Cache.initSize.l2Size = Cache.L2Size_32K;
7 D! r; x ^$ t9 I! C0 t1 o; Z; Q7 f3 g( N1 x A% y/ D
|
|