|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 P- s$ [" F$ x5 P# X7 w9 Q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下6 h( u6 ~ e9 b5 w4 Y5 _( ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" m G5 Z. e& R* ^! c& ^6 X$ q4 C' t7 G1 \" o
是不是需要在DSP.CFG中进行配置
& k2 Q( J/ L e- h( @$ S7 C, _. U8 d我现在的配置为. a e* s2 e5 ~ {/ S; L* h9 `
2 D3 W8 b- n. M' f" h- h
/*! ^0 ^1 l7 F! q5 ]% S+ T. G5 }8 q
* ======== Operating System Configuration ========
! M* x8 q5 d7 H* e- c2 f- n */
! x; L+ L& u4 Z, A1 L
% J1 }, ^- C2 l! d$ K( D" Y/* no rts heap */. l9 c/ n2 ]6 o
Program.heap = 0;
h% s9 x0 E. zProgram.argSize = 100; /* minimum size */
( [0 D& @( w! c; Z) @! TProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大( E! j- ~) M5 M" O* v X
# g' E; U" S) y, F4 s/* create a default heap */$ L B2 p; L/ W/ b
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ X; I* H* Z/ e# P- d
var heapMemParams = new HeapMem.Params();
0 s& |- z5 l2 jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% ]) y) ^9 h$ a( F* |
) q4 f1 S' l6 v' Z$ o5 evar Memory = xdc.useModule('xdc.runtime.Memory');7 e; \# K4 M; n+ m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);/ M) V7 m7 _9 r0 o- ~; b
1 o+ x- }7 W* c: h; C5 ?& E. Y/* configure System module */
2 t; q5 y9 x: p. z% h7 Q: Nvar SysMin = xdc.useModule('xdc.runtime.SysMin');3 `0 n" C: X% J' c0 G8 v
SysMin.bufSize = 0x1000;
V @: w+ H M6 E l/ cSysMin.flushAtExit = false;# M, `8 G2 j& j9 G$ ]8 T2 u5 @
+ ?( v5 u, u/ W) g. @
var System = xdc.useModule('xdc.runtime.System');
$ v' P1 u. ]2 G- C0 y% M/ f. LSystem.SupportProxy = SysMin;& J$ e i4 E4 m- ?7 y6 U
3 b ]: Y7 M) E) i# R0 M/* configure SysBios to use the lower half of Timer 1 */
- Q N( N. n/ M6 m- G8 C6 J5 @: pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
m. M& ?- w5 u( L% K- K- Y$ _3 G* rvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 _7 C' w( y# o7 E" h( K) B* ZTimer.timerSettings[1].master = true;
# A5 G$ z i+ [* t$ U/ }Timer.defaultHalf = Timer.Half_LOWER;
! {7 |7 u' s2 N5 h8 k: H) l! RClock.timerId = 1;
) R2 h# C* [( j s
- @3 b a6 ]4 W# k6 E7 a3 i8 \2 S9 k* ^& _. S
/*$ D. j- }# f. t" j/ F# M8 o
* ======== Miscellaneous Configuration ========
% h/ `- R2 d- O% p1 s1 Q. ?$ C. _7 c) J */
' r% \/ H! E# i
! r6 v8 O, s8 E/* set default diags mask */9 K1 N$ r& |# X( D" v
var Diags = xdc.useModule('xdc.runtime.Diags');; R; g0 T' o/ j- _' M% X" X( V% n
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 D g! }* S: r2 Q9 N
6 N( F1 h. m8 Z0 m( gDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% [8 ?* Q* E: h: q$ ]2 y; Z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ ]8 h" ^* z: b dDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* G$ R+ w0 H" [% `- `1 DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: G5 f4 p# C# I! w% UDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 Z8 P0 N& {$ ]! x- u1 J1 v4 c
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 |) h1 S/ y, o+ v! u* b& dDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
F$ h2 [$ V4 ]Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& n$ e# }. N5 }2 J% ?* p6 S. N
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ a) ?: f( m W2 L6 NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 S( y, V1 U8 \# @0 x8 u7 ]# J |Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 G1 K: g8 m" L4 p3 ~Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 m3 [! ]( }5 s$ X; K. MDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ }, E1 T/ K2 L' w: }& {
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ n0 L) K% [- J0 y! A" \0 ^, t
1 z. @' j( P1 O0 b) [: n3 J& {/* override diags mask for selected modules */
' Z( a4 P4 u$ e; {0 I% O& Z% ^xdc.useModule('xdc.runtime.Main');
6 k5 {+ f! p z. J( M- c# f: ODiags.setMaskMeta(2 ~# a) \. E# v8 Z8 ]! q. y
"xdc.runtime.Main",! S0 o3 `1 R% G' P
Diags.ENTRY | Diags.EXIT | Diags.INFO,
* C6 K+ _1 u: y, L; B5 o/ c7 R4 a Diags.RUNTIME_ON
) L1 ^1 Q) D, X& m u/ F);) |0 D1 m; U# ]
/ S: y4 w9 D5 ?+ X& W+ q/ Lvar Registry = xdc.useModule('xdc.runtime.Registry');
" g) q& [. u3 a% F2 KRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& B9 A1 S2 S1 A# B2 F8 k Q c5 iRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 |/ q3 G( B! ^ HRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ ^+ h5 t0 v; n) zRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 {. w& a1 e4 S" r9 t& q ^$ |; \
, B/ _* j( `! |. \% o2 F/* create a logger instance */
- W7 V3 i+ _. x; Q$ A( N8 _" Wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 U* h& k( Q6 M- Z9 ?+ v
var loggerBufP = new LoggerBuf.Params();
/ g2 H7 A9 h% G7 lloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( G3 `7 [; Z o8 a0 p \& p9 P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 K9 E2 j G# p @8 i$ V8 e; ~; q N$ g+ M- D
var appLogger = LoggerBuf.create(loggerBufP);: {/ c: `( J$ X% Z* U8 O) f
appLogger.instance.name = "AppLog_Core1";1 f( Y q" l1 U
Defaults.common$.logger = appLogger;
$ X5 y( a: f" |. I# D6 [$ YMemory.defaultHeapSize = 0x8192;
3 o1 j( A \9 VIdle.idleFxns[0] = "&LEDStatus";/ g9 @$ \" E( |! h
Cache.initSize.l2Size = Cache.L2Size_32K;
* E" U. V4 [1 S8 D- Y; U) z: C$ t2 w- O0 D$ d$ J& j
|
|