|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* z" x! O: c7 V5 s/ u& B
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* }5 a: n; _+ q. ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& t! n8 T3 Y O, _& V$ y
- z' H. V9 K; M0 [1 `% N
是不是需要在DSP.CFG中进行配置
& X# M( [3 D7 o' U8 O8 G0 e) q8 A我现在的配置为0 n) D$ T" F2 z! k. u
$ |- `% Y# ]4 X. S( |0 T4 h) w4 z' d
/*
0 L/ y' D1 N5 t% a8 w * ======== Operating System Configuration ========' q: V" U" N- z1 k3 b4 B, v5 _
*/) {! ^" ~) I5 J0 k3 t) R/ y3 ?
# T1 n, ?/ _ f' P/* no rts heap */# C% n/ V0 ^/ H8 W% y- u# b
Program.heap = 0;
- n% d' t& |. C, qProgram.argSize = 100; /* minimum size */& y) [% M- ?& J- l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 u( r4 b. W0 |! X$ x
& t1 V5 l4 e% i/* create a default heap */2 p* m+ `6 T2 a; g/ @0 O
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 ~" F8 @/ v1 ?, [/ T: k( g; uvar heapMemParams = new HeapMem.Params();
) y2 Q0 i4 }" Q! @heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# ^: h6 G o) O: O# t8 d/ T4 B" b& n
var Memory = xdc.useModule('xdc.runtime.Memory');1 w; t1 _# S. u3 S( K- e$ {( d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 }: N( p6 F0 @" H) z& c& y1 }1 |% c: E. T2 Y7 A- R
/* configure System module */* g2 T4 p5 Q$ V
var SysMin = xdc.useModule('xdc.runtime.SysMin');
' u& I0 }8 A- H" l: ^; i. @SysMin.bufSize = 0x1000;5 N9 K6 A7 S$ U' T$ ^
SysMin.flushAtExit = false;
8 d! k/ h { l. a$ U! @$ M8 b& H. v, D6 ^
var System = xdc.useModule('xdc.runtime.System');
2 y) `2 M# K, fSystem.SupportProxy = SysMin;
1 ~' O7 W0 S$ X- y! m
. s( b d( T$ S( Z! q/ g1 R* ]* h* [- V/* configure SysBios to use the lower half of Timer 1 */4 A3 Z9 @# {+ K$ h
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 \7 V$ j5 u/ u8 G+ ^: x! v
var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 J6 A/ l; |5 s1 y2 z$ F" G
Timer.timerSettings[1].master = true;
/ l' I I' t. sTimer.defaultHalf = Timer.Half_LOWER;
/ }% I# Q7 z7 ]- y1 G& lClock.timerId = 1;- ?# V7 N# K1 P- }6 f b
( {8 ]3 \# f+ s- T- X* q2 ?& `/ t) M* k% h T3 F
/*
1 z1 K6 |7 K, n; s/ s) d8 R" a1 D* @& A8 c * ======== Miscellaneous Configuration ========2 L4 R0 s* R- U# n
*/* S& z: \3 E2 F
& I/ y3 o4 T3 I: x
/* set default diags mask */
7 c4 v) R7 b) p/ `var Diags = xdc.useModule('xdc.runtime.Diags');$ | b% }) m# U0 J1 I
var Defaults = xdc.useModule('xdc.runtime.Defaults');
: O1 O: n, D' v) e. v% ~. T6 j' M$ `8 U" ^9 @3 L6 V3 @
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; [8 ~: ^) _4 A7 f: ~
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 Z, w- x1 r LDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 D5 G* A6 Y4 m
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) `, _% h2 v" B5 U( lDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: K" S3 k$ b: q$ ^
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' a- H0 K: N9 X$ k9 t1 E' nDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 L6 M4 C* v/ E: u3 I$ o
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
l! H4 o# _9 }( p2 cDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 B2 L( [" R/ K6 Y- C0 g+ _
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ g, ?7 U q4 e s1 |+ J- XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 A A) e+ m5 T* c' e- uDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# R; z6 O; C1 m) y& Y+ K$ K U. R
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
" b6 H. k/ f5 W3 k' c+ sDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% @4 {9 H! P( L# S6 A* n2 ~/ s+ _9 ~8 n
/* override diags mask for selected modules */
) v8 m1 c5 `+ j& x+ [( u. f+ Cxdc.useModule('xdc.runtime.Main');
! F, [& ^, B: @- [! B O* O: ]Diags.setMaskMeta(3 d: Y5 Z* L! L; I: r
"xdc.runtime.Main",
$ n. e; C9 X! f+ c Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 Y# o9 g# _: X Diags.RUNTIME_ON
! r6 y; X2 O( [' ?+ E# L);
S" s- _/ ^* [/ B- I3 n% ~6 [ m1 n. S# J8 o
var Registry = xdc.useModule('xdc.runtime.Registry');0 [- s) `7 h9 i+ m( J6 }" Q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, l; f. ]% L/ W, Z7 gRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 K" Y, p9 n5 k4 v* k, q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
7 C2 K9 ~) p% }, `! U( b4 P4 p: ~Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;" G+ J `5 _. x$ T7 }
0 W, B+ [- L) \8 [/ X
/* create a logger instance */
- S5 u6 d' T$ h0 \var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# H1 f! E" y0 j, a' J6 r
var loggerBufP = new LoggerBuf.Params();
' ^ r, Y8 S/ @! O6 }+ Z3 `/ d5 AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) G# T6 ?/ G% @7 p2 R1 ?$ A) u' S
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# s6 p6 }4 d# _; v6 Q2 ]4 z
5 u. j2 z9 Z- O% i* C& U a# E
var appLogger = LoggerBuf.create(loggerBufP);
2 S; Q' V* O1 A7 b6 G yappLogger.instance.name = "AppLog_Core1";
4 d. S- t. U" T# b9 p% o e+ J; TDefaults.common$.logger = appLogger;4 R( B# q0 E- A7 w; Q* D# Q
Memory.defaultHeapSize = 0x8192;
. J) Q& S" P( i+ y' lIdle.idleFxns[0] = "&LEDStatus";
' Y9 |+ [; s/ U, vCache.initSize.l2Size = Cache.L2Size_32K;
% N0 o% B3 y; [2 g k' Z0 s2 H% Q9 ^ N& H+ @4 C
|
|