|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# w0 U! c' u: A1 `
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ l* R7 N: r& | T(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ ^# ~ p! ?3 f8 x8 o0 F+ F: z! n9 G1 q% s3 c; s
是不是需要在DSP.CFG中进行配置/ _: m! H: ]. `1 C T) `
我现在的配置为
2 p; T/ Y# e2 n7 L4 U3 [6 r; I: `1 S7 c/ F6 i5 {: U/ ?6 f
/*
& d0 {7 H, h8 X e9 S6 j! R% [ * ======== Operating System Configuration ========' T) F" |" ~ Q
*/9 |) x7 A' S& z Y, ~
% o7 l5 j# D7 K
/* no rts heap */
7 C5 |$ N# l& @$ KProgram.heap = 0;% g" U0 T5 s# n2 p
Program.argSize = 100; /* minimum size */; ]' w8 ^9 O/ U9 l* m) a+ H ?
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 l; J9 U, W, b$ ]
% r! |5 m' }9 ?1 Q0 C2 i! s" M/* create a default heap */
& m+ P& y2 A) _( o9 D8 l- N T+ cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 {# ]* E& [8 x9 Y4 _; V
var heapMemParams = new HeapMem.Params();! h) Q9 \; ]+ I: I' g
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( h* H- P t3 _" q( \
+ @+ R4 w6 K& Q# Cvar Memory = xdc.useModule('xdc.runtime.Memory');4 B, T# Z- X$ M/ g* m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: S1 K$ Z9 b% X/ [
; v$ X) L, x/ t
/* configure System module */
6 t$ ~- Z; h' o' D \6 [* avar SysMin = xdc.useModule('xdc.runtime.SysMin');
1 \, {4 V6 T/ VSysMin.bufSize = 0x1000;- q3 C2 C9 k3 M$ ~
SysMin.flushAtExit = false;4 I u0 T4 \" B/ r1 `: m- i
7 p/ E9 |) }2 `! i. X" _var System = xdc.useModule('xdc.runtime.System');/ g) { h: m4 Q W
System.SupportProxy = SysMin;
' Q, i. Y0 C# a
D0 ^$ e: P+ j: v4 C ]) X/ \/* configure SysBios to use the lower half of Timer 1 */. h. a- C$ p+ o3 ^* a0 a" g4 @% l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" q& g3 e. g, T: \* f; N4 c
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 f( R* L4 s. [Timer.timerSettings[1].master = true;
' m! P( V K% t) A7 y" l6 U! STimer.defaultHalf = Timer.Half_LOWER;
0 t4 _2 w" B/ k2 R. y+ DClock.timerId = 1;; F6 M( ~- |! f, Y
( ~; r- y" Z% S" w0 I( {+ ]- j
; w9 u9 V. r) f/ G. B- u/ l/*7 N+ w, l9 H M' ^+ _) d% G
* ======== Miscellaneous Configuration ========
5 K! ?2 C( [, p: } */4 C: ]8 O: S. B! C8 J! m9 _
2 e x0 X1 ^& }- y- Q2 p( K
/* set default diags mask */1 m# {1 a- m( ]- e' ~5 c' Q* P3 ], c
var Diags = xdc.useModule('xdc.runtime.Diags');
& w9 `5 k' y% a7 F+ Q* cvar Defaults = xdc.useModule('xdc.runtime.Defaults');
$ X7 r0 S1 |, `; X! y. z* m: X+ p: U2 ?/ ~3 u9 B4 M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
! i6 `8 c p, o5 QDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 d2 `( C3 g3 r' @/ _ w0 A7 }Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
a9 }; @5 E0 Z) _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 H* k& I5 t# N5 R" r4 hDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ n' }9 t. Q2 j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 S) Y- I/ W$ y6 vDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! a. B- h( x- N$ _: [: r6 m# qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
) Q* _7 p$ m3 }, lDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, y* Y8 n2 W8 B& a' p& u% rDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 z: M( N" A0 e' p- }) b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 n7 p# y& p+ HDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ z* s* ^' {; A9 f4 bDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# s( R5 k3 B$ p8 O' m( Y6 {. V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;$ r; p' q5 ?; O' o' N1 ?
% V, z' S, V. Q& t( O/ I( R
/* override diags mask for selected modules */0 v! q' h: w6 V m4 p6 h# B- }
xdc.useModule('xdc.runtime.Main');
6 P" c% H" E0 L3 y3 Q% N1 yDiags.setMaskMeta(0 n9 V) m) F# t
"xdc.runtime.Main",
! e5 S* j1 R3 g/ z Diags.ENTRY | Diags.EXIT | Diags.INFO,4 U" r* o/ Y. ]
Diags.RUNTIME_ON
; _+ }4 r, i+ X" P; z+ z l8 W: @);
3 g% p7 W" s$ F1 ?; F( E V) ?
9 t/ v7 L2 Y: `var Registry = xdc.useModule('xdc.runtime.Registry');
* l( }' U: t a' pRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. R; b" Y$ b0 e6 b; G/ fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 j1 N( r- S4 E1 A( {' y# R2 |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;' h" @3 X, u! S7 R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, e' B7 O& ]: V/ h, Y
- z7 I' o. U# I0 |( y7 Z; U/* create a logger instance */
. f. |+ H3 I0 Kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# g( ]6 a0 c6 s. d* J. J1 Z
var loggerBufP = new LoggerBuf.Params();
; p6 }" I2 T' {' lloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, V) Q- @6 \3 D1 P# c# WloggerBufP.bufType = LoggerBuf.BufType_FIXED;, h+ g T, s. c" T$ w- j2 b
H7 a2 m* u& Ivar appLogger = LoggerBuf.create(loggerBufP);
& Q6 s/ w+ ^2 xappLogger.instance.name = "AppLog_Core1";2 e0 f: x) C& s2 T
Defaults.common$.logger = appLogger;
5 v% O. v9 Z2 _; r$ w1 \Memory.defaultHeapSize = 0x8192; 3 E# c* h7 T! f. X% i' V; s
Idle.idleFxns[0] = "&LEDStatus";
; i$ D) |. b5 pCache.initSize.l2Size = Cache.L2Size_32K;: b8 a$ L( ?, t8 I! F4 P
! r! Z/ d; F! R) k2 V* x- W5 F# k# |/ i& j
|
|