|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* Z' a0 @8 p# H1 F# s' [' g2 [2 s8 H我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下5 Y0 K) E! E% p& H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# ^1 m/ d: h- W. f$ a* D) M5 y& W9 w6 R- `. H- M1 K
是不是需要在DSP.CFG中进行配置 h; w/ v! ?& f$ z
我现在的配置为
7 v( J9 L1 c0 ^$ G; u
; R' D6 y% A2 A* L' S/*& U. J& Q. |3 \5 _, Y) t @2 _
* ======== Operating System Configuration ========1 Y+ h; N" K9 V6 y. D
*/
& Y7 N. n% d# ]8 E
0 y2 s$ P R% l( b, D/* no rts heap */5 f3 X* X7 ?/ c) |: m
Program.heap = 0;! L! \8 M T5 ^* I
Program.argSize = 100; /* minimum size */: W7 @9 x9 D3 n6 m/ b/ c8 y/ y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' q2 |) Y7 m: |' N' {
0 H5 o3 v* r5 e. s$ u' X, _8 A
/* create a default heap */$ q7 W7 V: R# m/ |# I. Y! A4 ~
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 W m. R" M8 V- z4 j% s+ Ivar heapMemParams = new HeapMem.Params();
6 ~! o1 k: r9 J' }( M8 G% ^" aheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 W; a. z+ O2 x; R0 j6 M! F
G6 _0 S, \- A: F6 F- |
var Memory = xdc.useModule('xdc.runtime.Memory');
/ P$ N; ] r: {7 L* D% O. ^! aMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- _6 J7 b6 Z7 s. k/ p( Q7 P3 i! [7 S6 P% V4 n8 @. C
/* configure System module */
5 x. ^* c# L2 t, b" d: Evar SysMin = xdc.useModule('xdc.runtime.SysMin'); f+ R6 S2 U. Z
SysMin.bufSize = 0x1000;
: e' f0 g( ?! M1 l0 i5 `SysMin.flushAtExit = false;& `- N3 q2 z& L% H" d" ?
0 d4 T" W; E# s/ S6 Ovar System = xdc.useModule('xdc.runtime.System');
9 A D! V: E. C, |3 ESystem.SupportProxy = SysMin;! q+ J" b7 e/ h- K
* S. r6 r5 [3 ]6 _
/* configure SysBios to use the lower half of Timer 1 */& Y1 ?" [; v& W1 N+ E& C" W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ t6 {. G, x6 W) B2 Lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');. M) o7 T- T5 I! j5 r) M
Timer.timerSettings[1].master = true;: E7 k T$ k6 }3 U$ Z/ T
Timer.defaultHalf = Timer.Half_LOWER;; i* p( ?" E7 x0 m% P% ]
Clock.timerId = 1;/ j' }3 j# s+ J$ H8 D5 _% w
9 C8 G# }# @6 p' c( f7 N; U8 `- P! A' ?3 B& O. @2 M- u
/*2 y% o9 t( }4 Y7 A
* ======== Miscellaneous Configuration ========
, U! r) S! W5 V2 Z8 S% m */
' t T1 B# P- E4 q7 E6 `0 f7 v+ l. j. p) b3 M3 S) h4 f# v
/* set default diags mask */6 Y! _# \1 i9 q' _
var Diags = xdc.useModule('xdc.runtime.Diags');
J6 ]% @- X% u8 ~: Q9 }/ Hvar Defaults = xdc.useModule('xdc.runtime.Defaults');
+ j, {' F5 Q/ B
( \1 r3 Q/ a' A6 E: I. \( X5 S( K+ _Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: j! d. _' ~( i) |- F
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 o( f, C- @ S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 P& V S" o4 g7 ~- pDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
: _& z. E9 ]% J! V- h% WDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 }$ K, V( E2 S1 N. m; i; DDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;& l* `) _2 c$ }. ?; D6 @
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 H0 c; f, g0 ] k. d0 F
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, c& U% g/ _5 k+ W4 r
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 O5 G" q/ e4 D( c; HDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' K. f- }: ]2 _/ C: s, f8 _. [1 GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' ~# r0 q2 G2 a( _/ Y/ E5 \
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 n6 ?# E" P4 R( J, J
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ \5 K, s* ?& `
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% f3 w l0 Y) O1 ~9 P7 T+ P
- @8 @+ V3 N- x7 Q
/* override diags mask for selected modules */9 Z9 ?( C4 [5 o* v1 }3 ?5 O+ S+ `
xdc.useModule('xdc.runtime.Main');
. r3 u( G* a8 X7 j$ `5 }Diags.setMaskMeta(# D2 o/ g- k6 Y! D; {
"xdc.runtime.Main",
3 Z" ` ? A3 D0 ^) w Diags.ENTRY | Diags.EXIT | Diags.INFO,2 s+ F( \4 z+ ?- u6 R" A
Diags.RUNTIME_ON
- u9 M7 U @- U4 R9 L8 W0 h);! U! r& j- l1 y3 [# ~
9 g# k9 V8 I3 X4 bvar Registry = xdc.useModule('xdc.runtime.Registry');, c! p& l* O; C+ V* x8 C: C
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( m( Z1 ]1 s; X* a7 U
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 l5 F4 G/ v, J* `$ J L( ]Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 ?# O/ A! G3 m1 H6 d
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 {% f4 E1 D1 u+ |
$ d2 `: _1 L' V/* create a logger instance */" X1 e% Z {5 s/ @) E @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 @4 s. \. H9 L1 |4 u; D! S& B& |var loggerBufP = new LoggerBuf.Params();
# }" b9 ]" B( i) {3 O f- q2 K) QloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 j, |9 b* j+ |# c4 U A8 O
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* V W2 D( E4 n
; k4 A# k3 h# n# L) Gvar appLogger = LoggerBuf.create(loggerBufP);+ @8 I" F0 [! Y: F! E
appLogger.instance.name = "AppLog_Core1";
p ^* b4 {( ^0 N( p5 u) c; A% s( uDefaults.common$.logger = appLogger;
) A8 X( B( W% Z P* ]Memory.defaultHeapSize = 0x8192;
6 S5 m& p( F3 N x1 EIdle.idleFxns[0] = "&LEDStatus";
* k( O- E8 G, ?' @8 s1 K# z3 _Cache.initSize.l2Size = Cache.L2Size_32K;
+ m2 t" T' h7 U/ X" X1 u" a4 \- `/ s+ T
|
|