|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明. ]) y5 S$ E/ H" M- P
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 C5 Z1 r- ]% C5 U6 `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% p( y5 K6 l6 O( o2 i$ C2 Q% D+ [3 W7 S1 Q# ^' V
是不是需要在DSP.CFG中进行配置/ n8 j4 r" H7 R% B5 c
我现在的配置为 B4 D/ Q# f( h2 U d. @9 Y
) r. `% k% _# F& R
/*
3 r' U" P# u! }! P * ======== Operating System Configuration ========
' N* K# S* Q- Q8 m: ?8 ^ */
5 G7 ^4 S! H* K3 [7 w$ I$ D, ]8 `6 ?. m6 ~- e. J7 k4 O
/* no rts heap */
+ c, W3 F! }& A& c& UProgram.heap = 0;
7 e9 x) e4 T$ N2 `Program.argSize = 100; /* minimum size */, _' v$ k* t# K: ~/ k/ L
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% g" O5 f- O" P* V! [9 z, f3 c1 B0 F4 A1 B# |5 W' a, R! Q/ ]
/* create a default heap */0 ~: A0 k4 U8 a8 W, y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 ^6 `8 x, Q" a' W( [5 F/ `
var heapMemParams = new HeapMem.Params();
; e3 o5 H& w: M0 D5 e0 w3 t/ W) UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' T! X+ ^9 ?: P' l
0 j9 Q: Z) V6 q2 |' O4 I0 z. Cvar Memory = xdc.useModule('xdc.runtime.Memory');
2 k- ?6 V* x' S/ f; i4 OMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 Y% ^. z: Q1 a, x2 d @
3 u2 d3 O4 w7 A8 O; E/* configure System module */
( {. z! X! `6 Svar SysMin = xdc.useModule('xdc.runtime.SysMin');0 ]" L6 D: g5 s% h, Y1 H1 |
SysMin.bufSize = 0x1000;
8 u$ O* ]6 q3 y, d5 o- F" Z- lSysMin.flushAtExit = false;
T$ r) F* S" V1 M& V. p/ M3 s g8 U
var System = xdc.useModule('xdc.runtime.System');
- ^9 o% l" J% }2 j2 a7 z6 r! S* BSystem.SupportProxy = SysMin;9 n$ s f5 a& s# L2 T: w7 w& V
8 ^, f' u7 d1 }' ^4 E/ R
/* configure SysBios to use the lower half of Timer 1 */8 g1 [, o9 Y; ]4 B7 J2 k
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 s f, s6 b; }$ a: Mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 v# c" l! Y- @9 mTimer.timerSettings[1].master = true;& w5 s- Y# S E8 F& I" [, |
Timer.defaultHalf = Timer.Half_LOWER;
9 Y- W9 k( H q+ s8 L* C* t& U: XClock.timerId = 1;: [$ N+ c5 N$ W8 V- @% `
% `6 T9 T8 q, m" I% u3 b
8 l% A. K8 ?- ? b6 N# q/*
5 N" G% M1 z& {; g * ======== Miscellaneous Configuration ========7 }- h6 t% d& l, d
*/# w: l. R; h# q7 `' d+ q
[4 t6 O& [7 X5 O3 a9 R9 O/* set default diags mask */
' B+ B- J0 N+ k5 X+ t: G! Zvar Diags = xdc.useModule('xdc.runtime.Diags');( }) { ]' z4 h8 ?7 q I8 r0 h
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& F& J" ]3 U6 S: U4 z! U1 _
% y# `; g1 A8 R- h9 yDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# N8 G; C" d% J9 WDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 E6 H- y, M1 A$ {2 b" \+ O
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) E, _% q2 F7 u2 K' }) HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 }; U, s1 h/ \9 E! nDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ g! ^+ F$ o; {1 i; W0 g0 o
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;* N& |2 z2 C9 k- S) }( B4 Z. u
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 J8 e8 A: v3 P; e/ r$ g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 C# T% l# s& ~9 ~, k* c! n
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 o" R* F* p! |5 ^# S1 c+ KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' x7 ]% S+ j; R% L& jDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 W- @- h9 o+ |5 c. h! o
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& R: o0 J ]% E8 @" p3 lDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% x' d1 J. a' B& U a" yDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# V# |# A$ B+ J9 Y: P- p5 g6 o; D
2 y" V) l, L# j* \; I
/* override diags mask for selected modules */( d. V: i% u+ d+ }) n
xdc.useModule('xdc.runtime.Main');8 g4 u% p) n' Z( y
Diags.setMaskMeta(2 p4 Z6 o5 b1 Z* w; w1 q1 M
"xdc.runtime.Main",6 J0 u9 P" S# Q* {7 O
Diags.ENTRY | Diags.EXIT | Diags.INFO,# a8 @9 v7 ?" A
Diags.RUNTIME_ON
& U3 r7 e" _/ n7 m4 A8 u% j R);
p; N9 @# X/ s- T# R8 _! N2 z. ~& m+ h) m; h) u: J
var Registry = xdc.useModule('xdc.runtime.Registry');- z, g$ S) H& s1 q- L2 F! ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( k4 f% f& N) F
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, e7 m6 Y5 {, {/ {6 w! N
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
( u, H) k. |' P$ ^Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( G; @' L+ U, H
* Z; I5 O# @1 c& x9 D) \0 M/* create a logger instance */
; w- X, ]. g0 ~4 J% W' [var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
" g5 |" O* @( M5 q; v3 yvar loggerBufP = new LoggerBuf.Params();
! U |/ H5 [/ T: `1 k. ?3 [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// C; L& J4 h, |8 B4 X3 C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;, e/ |0 }" g \! F/ ~/ C' h
: ]: W0 S3 K3 B+ c9 s3 r
var appLogger = LoggerBuf.create(loggerBufP);! g3 w7 s1 X6 \
appLogger.instance.name = "AppLog_Core1";
2 ?9 U# N2 y9 Z. k" tDefaults.common$.logger = appLogger;
! c4 C. E$ ]7 j- ^Memory.defaultHeapSize = 0x8192; " r7 Q+ U5 r& L+ O3 M3 z) q
Idle.idleFxns[0] = "&LEDStatus";* G- u' \8 F$ s- ^
Cache.initSize.l2Size = Cache.L2Size_32K;
8 K( q$ }/ p, ?* B* _ F) c5 h; o& {7 {& k9 |) q. e q
|
|