|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# o7 M% _ X5 p. @2 d" X/ z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
D/ S" C) r8 G7 J) |" Y- x(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 G: r# I' U f/ v+ {# K6 h- u9 @ c V( Y* H+ J3 ?+ @$ V
是不是需要在DSP.CFG中进行配置
$ M9 f- f- `2 S1 P) k% h G1 x7 v我现在的配置为
8 Z V- [/ O5 H- Z( j: n( w6 k$ J4 v( J
& \0 i& x% L0 X/*: S* K$ q. _3 a1 F1 M( C, t, b9 V9 c
* ======== Operating System Configuration ========. u/ L: u) U Y Z& \- L9 U
*/
" ~0 k2 P5 s z% m
* k6 D+ Q: {$ L B/* no rts heap */4 U8 R1 @; L) e' A/ Q
Program.heap = 0;$ W) o9 \8 K9 i, c6 G& z4 ~
Program.argSize = 100; /* minimum size */) \4 Q+ C! M( N5 L# W; L: U. u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 E. M' J/ k3 F
, P3 P5 G' c( L) i. U/* create a default heap */2 t& q3 \3 S! {
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' ?2 j- e3 K4 ]1 M
var heapMemParams = new HeapMem.Params();
& M1 P9 X( |# i1 |; Z$ y- JheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 R$ f! ~5 m$ Z4 u+ g0 ?
7 ` |; a8 |: n; y N! fvar Memory = xdc.useModule('xdc.runtime.Memory');
. b$ @5 o* w& TMemory.defaultHeapInstance = HeapMem.create(heapMemParams);0 \0 H. q% L8 K) X4 j9 u$ [
2 q$ F X }& Z/ k2 I) p# W/* configure System module */
+ A+ K9 ]9 s+ l# Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
5 W& |1 ]* i$ a2 p( |7 K( BSysMin.bufSize = 0x1000;2 j3 k5 {6 A3 F
SysMin.flushAtExit = false;
$ T2 i; O- s* C" H* c5 |
+ b' J3 H& x$ s2 E9 u4 \6 Fvar System = xdc.useModule('xdc.runtime.System');
4 |' \8 ~0 {# {* D6 D! }System.SupportProxy = SysMin;
5 h/ V: |2 j& q: R! e/ H6 |2 V5 O, Y4 G4 l! n; P' ]
/* configure SysBios to use the lower half of Timer 1 */
( i& b" [" |( |8 i8 ~( e6 Uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 M v$ ~% g* Z4 N. P8 p. Vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ c' \$ q( x7 X
Timer.timerSettings[1].master = true;2 {4 r$ ?1 s) Z' p/ n' b
Timer.defaultHalf = Timer.Half_LOWER;
$ {. }: R$ C* N7 @. o. KClock.timerId = 1;
# U; y) X0 R/ H* ^, D s4 R! C1 F+ a7 {" i j$ o: }
: p1 G1 T7 p. B* a \- l/*
, d/ Q/ S5 h& j4 V$ | * ======== Miscellaneous Configuration ========- Z% Y; n. b$ _# I' @5 e/ w
*/, v$ e. W# k: Q% r; H
* h0 A$ y6 A+ I8 ]1 L+ {" Q
/* set default diags mask */2 x1 P9 N) r+ i. ]4 l$ L, x
var Diags = xdc.useModule('xdc.runtime.Diags');7 L9 _7 Z! m4 k+ e. o
var Defaults = xdc.useModule('xdc.runtime.Defaults');! {: F! n5 } {6 c
- J6 i5 e7 l" j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 M2 m# ^. U) X( I- D
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; U# P' B6 n$ z4 L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 w u8 V' z- {: }" |4 {Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' j \" Z8 \, i$ P- }
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 p- z, W/ c7 `$ [7 v+ sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 m/ p5 Q4 w- c/ s$ O; ^2 l
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: z& }/ j" e0 qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 _! J0 d: T$ }0 F3 TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 r; P" u' O4 I1 P" y5 |3 s* NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ S7 D1 m) N8 {! }1 x
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: D) e' E4 f) e3 |1 j$ }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 I" ]) \* H4 v) w
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; d) T% G$ _) CDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 p5 {" f* b6 T( K4 P2 v5 @$ X! i& R. c" ?+ E
/* override diags mask for selected modules */
8 N4 Z' P; I1 d3 g* Xxdc.useModule('xdc.runtime.Main');
( v. z4 b* I4 X6 oDiags.setMaskMeta(' Z% h" V+ K; J0 B2 w( l
"xdc.runtime.Main",: `, K& @+ A. R* p( P C, N% h! ~, s
Diags.ENTRY | Diags.EXIT | Diags.INFO,7 p) u% H, x6 a8 R
Diags.RUNTIME_ON0 Z% n# }: X0 R6 Y4 ~9 q
);. G; G2 x8 E+ ^( A! B
# b" z$ W- a R& Svar Registry = xdc.useModule('xdc.runtime.Registry');+ R7 W' h9 u' w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: `9 U, k. r, p" J* J' r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! B& F& B3 r! f& P% @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 Q: X1 b1 W5 A, B- w& [: l) MRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 }% \3 e! W" S9 ?4 e) c: d
/ d- F: Z0 z0 E# q3 o; ^+ O; Y2 e
/* create a logger instance */
/ V5 x) _* ?/ J: p. ~& F4 h$ Yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# k( {7 \2 w& r4 ]) ?
var loggerBufP = new LoggerBuf.Params();! v( { h- |$ p( U/ F4 Y0 P
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 S* t4 h* f/ ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ _ F" X; d) A% V" \) O6 m& `
) k( p: j. I9 o
var appLogger = LoggerBuf.create(loggerBufP);
- [" G3 {/ k) f# m" UappLogger.instance.name = "AppLog_Core1";
( V7 f. `2 D0 k8 y9 s) e$ m2 M. ZDefaults.common$.logger = appLogger;4 I+ t: f8 L- o* w) N8 ^
Memory.defaultHeapSize = 0x8192;
/ a" @- i$ J( `' r# q1 d- RIdle.idleFxns[0] = "&LEDStatus";5 I+ Y/ x" P6 A' F& Z
Cache.initSize.l2Size = Cache.L2Size_32K;. L+ g* ]" Z, U% d
/ p* v) u2 g4 Y' B) ~ |
|