|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, `& k0 P9 l% I6 O( J4 F& H我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
/ l4 k+ b/ h: T* N8 d(不过疑惑的是,为何单独DSP仿真就没有问题呢?), u" y7 r( j _
+ D1 o% s( Z0 ?
是不是需要在DSP.CFG中进行配置2 x: ~* W0 U o6 A& W5 G
我现在的配置为: {9 v/ W; E- m0 u
8 t0 l, f! j$ j# d/*! W( ~# P2 J2 q+ P y
* ======== Operating System Configuration ========* t, C% a" ?3 U( V9 }
*/
3 D+ J% k! Z, J+ ? \+ A! y* E2 O2 N1 ~4 `" r
/* no rts heap */
: o Z: b" @; `) \1 g1 ~* kProgram.heap = 0;( x. L ]# H h
Program.argSize = 100; /* minimum size */
9 Y0 n" m1 k! A7 l6 r/ I0 KProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 c7 Z! G7 Y* q9 R. ^$ J0 n" R4 i4 D$ Y% a: B) o# S
/* create a default heap */- l/ \8 l1 R" y9 y4 D8 k: \" H7 e$ w
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: a+ O0 i2 ~5 i9 R
var heapMemParams = new HeapMem.Params();
8 z' n" F* @: K/ Q) H, ~, k; c0 UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
- p2 j+ \! b. [; B
' }7 L* l$ J4 ^5 `% Avar Memory = xdc.useModule('xdc.runtime.Memory');8 i. S. E* o! K" V* Q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
- {! x4 b" l4 [% R* f* y- x. _% v& s/ r' X @) U& A+ o1 j
/* configure System module */
, D6 X' d' y% T. t0 r2 N, ?5 _var SysMin = xdc.useModule('xdc.runtime.SysMin');: I$ E+ M' X9 L' j$ M
SysMin.bufSize = 0x1000;
: P' p2 R1 D, D$ Z E% |SysMin.flushAtExit = false;$ Q4 j9 P) {5 ~6 ~
# T. l* T h# M# Y2 `
var System = xdc.useModule('xdc.runtime.System');
/ K; ~8 v7 v: [4 h* j! p% ~9 YSystem.SupportProxy = SysMin;: J9 J9 g2 U7 ^
$ L# U Z: X, v) M( @/* configure SysBios to use the lower half of Timer 1 */$ ~! k {, S- H8 G
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
z/ m0 ~3 s J3 y; I& O0 svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
. {! [2 v; f0 d) D1 uTimer.timerSettings[1].master = true;
* X" V; h! Q- s1 F0 F+ d, Q: l! |Timer.defaultHalf = Timer.Half_LOWER;+ ?9 Q" e" r& c. m
Clock.timerId = 1;
( c8 A* R$ o' {. y3 j, A" n V5 ~+ I" h6 B( v
. U8 Q) A# n" N; u7 K
/*! g9 U( Y( s$ J% p, {
* ======== Miscellaneous Configuration ========
* q4 N5 p9 U# k7 }$ Q9 n */
- l8 G/ M' H# P1 q9 K! A! ]- e% k+ ]# x( m9 e Y8 N' w' ^
/* set default diags mask */
4 m" Y9 X$ W4 Xvar Diags = xdc.useModule('xdc.runtime.Diags');0 f; C7 @1 e3 n& R0 c# }/ R4 v3 `
var Defaults = xdc.useModule('xdc.runtime.Defaults');
: {+ w9 u/ e7 d& g q0 J7 D5 H; i& ^7 D$ N$ y, ^% t; b
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; ^9 G9 l, g% j& nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
r0 a& K2 k2 ^7 i: LDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 U+ \+ N' P. y: |, v- E$ R3 r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// s7 S4 f5 U9 b2 D2 v% i( W
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ o5 g1 g- ?% \% s" k' ]
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 ?; W( G% F; K' ]; t
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% J9 X& p0 Z9 O9 Q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, P+ O! p' H1 h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ X- ~8 z" B: T- \/ FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 V& q. _0 f" C9 L' u8 T' e& tDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. y1 p& ]* \2 k$ E8 R: PDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: S* Z' B0 m, Q# ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 N8 ?3 ?4 O2 m0 T' cDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 w) p+ d& x0 N; f( w7 {- R& n
+ Q' L* T6 B6 O% b0 h ^) Z/* override diags mask for selected modules */% D: M5 N q2 ?* S4 t
xdc.useModule('xdc.runtime.Main');
1 ?7 U5 F4 o2 [9 K' R0 EDiags.setMaskMeta(
9 g! z/ @3 ^; h "xdc.runtime.Main",. Y/ ?7 O* J2 D, O6 U
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 j5 F. V1 e7 L' D+ J) u$ n Diags.RUNTIME_ON
/ ]* p6 i- e7 c! `, n( V);. |8 w& n* y- j6 E$ y
& D4 J/ ]. Q* @3 {! L5 xvar Registry = xdc.useModule('xdc.runtime.Registry');
N ^' F3 i/ @/ e+ o- n/ H' oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;- s6 T3 a8 B) `/ n. U! n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; o+ h- ^3 l$ w2 q7 o/ MRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. m W9 r. `% x/ b4 K- x
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;! ?6 ? G9 U0 k8 F
. Q* T! o& F' k0 k" Y
/* create a logger instance */
: x) t3 m% r8 v( c' Tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ O& v- G+ ?( p7 J
var loggerBufP = new LoggerBuf.Params();
8 W6 s1 Z1 s7 N3 vloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ }$ g% r% |" p F8 c d' J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' B4 {# P/ t6 z! ]6 Y6 i: w0 F9 l, X) T& C
var appLogger = LoggerBuf.create(loggerBufP);
9 @7 V; H' t9 XappLogger.instance.name = "AppLog_Core1";: [* R" I& p7 a; j% ]1 r2 o# b
Defaults.common$.logger = appLogger;
* {- A. q! h9 {5 W2 eMemory.defaultHeapSize = 0x8192; * G. l: Y5 n2 o& f1 S
Idle.idleFxns[0] = "&LEDStatus";
6 d6 x- J5 l3 e" V+ bCache.initSize.l2Size = Cache.L2Size_32K;
( Y+ y3 J8 H2 q; O; [( J. W- n/ c
# E A! ]2 {* w- k |
|