|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" {6 E- G/ p' c8 b. }8 n- R
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 n( K5 M1 T! V3 T' @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ d/ p( q1 q5 r, t: @: J: q/ L6 X& K, G* |2 D4 P [/ u6 M+ Q
是不是需要在DSP.CFG中进行配置
7 F' W- j8 z% S, o6 r5 N5 z# [$ B我现在的配置为
3 ]. F t3 G0 E. n* f8 O4 U& H- f2 w% W. E1 C& u4 _- B1 ]9 R
/*" |! w% v l9 X, L8 p
* ======== Operating System Configuration ========: j& J7 h) \$ Y3 `8 F+ _
*/2 M: T2 b5 ]7 y4 b* o( ^. i0 X
7 K8 k/ }: B- }8 `" D5 e/* no rts heap */
( t. k- F* M8 L/ F" t+ D. b. BProgram.heap = 0;, Q; a% D/ Z" O4 f: ~1 p/ F: @
Program.argSize = 100; /* minimum size */7 [ Y. t d9 V: J3 @- b; B
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( B R( p, r) Y% n( V- {
) M( b: L" a: Y" P$ M, v+ l
/* create a default heap *// m1 c- r3 Y0 V- S$ y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- h8 w# _8 G; v/ n% I# V/ Gvar heapMemParams = new HeapMem.Params();
) U2 ?# ~/ T CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& d* e( \+ O8 A$ o& ?4 t9 |; @0 W, N, q z
var Memory = xdc.useModule('xdc.runtime.Memory');5 I4 d R$ E/ z: i; j8 v% l3 @+ G% n
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. n, X( }2 r$ h+ _$ X+ L l( I
/ |, E7 b6 l5 |2 Y1 J0 g. |& G: `/* configure System module */4 G5 S! u4 v# C
var SysMin = xdc.useModule('xdc.runtime.SysMin');
; }/ I! @ f/ PSysMin.bufSize = 0x1000;
5 @ Q8 J8 d* e& e+ ~' @SysMin.flushAtExit = false;
, l) w# p9 e& _% U- h; V8 f2 @: u3 L% L& y! J0 u
var System = xdc.useModule('xdc.runtime.System');
2 S1 O# j0 b) t. E c6 L9 D3 R: ?System.SupportProxy = SysMin;
: `$ y$ G! E) V x5 I6 d
" _( o6 A, l' y) m/* configure SysBios to use the lower half of Timer 1 */1 V( _; z; ]/ Z" Y; r! y) ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 I5 n, Q7 `1 v. l9 v/ j i$ q; V3 pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' ]" ]8 l. _ Y
Timer.timerSettings[1].master = true;+ s. _! D6 Y1 G% l+ L! j- a
Timer.defaultHalf = Timer.Half_LOWER;, z( t( b( s8 Q) e' d2 S
Clock.timerId = 1;8 M- D) S* f3 F& c
% k+ e" P/ S K5 W5 s9 H6 {
# q) ?6 N Z3 q# Y% N/*
8 g' b p4 N, g7 ~. v * ======== Miscellaneous Configuration ========
; {' n2 ~+ M) S z1 |+ y4 l */
+ E, U8 H4 R- Z5 o) H6 O; ^9 q5 B. V" w3 g- y! I
/* set default diags mask */
% c& T; x+ s [) s" Q) x" V1 {3 K3 cvar Diags = xdc.useModule('xdc.runtime.Diags');% c3 g; {- |; e4 K$ t, l) |
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 l0 P, X/ D3 h: Y5 W- i3 S# l1 T9 K
3 J4 `$ g) Z3 Q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# f6 _! n4 M1 p* z2 T
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: l ~2 P/ [. A$ b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; q _$ v0 @! `& k5 c$ XDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 X2 N# l, o3 `
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */. n7 j% {/ M; X6 _$ `) U
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 M8 C$ Z5 G6 r6 JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) F* a2 J1 U6 O* PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* Z0 Z. f# Y& Q# @# [9 n) W$ a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 b2 m2 L( ~) _% UDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* p( J7 i! i* G
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 K6 g9 P0 p, QDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 j# G3 i( h/ U# k6 A9 e4 I- O' gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 [6 G2 ]: f7 K9 H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 \' f d! r- ?* v0 E% \, y3 l$ k0 k$ p# Q d. `5 t. V
/* override diags mask for selected modules */
5 N! x- p) e- M& K0 M5 B4 _5 oxdc.useModule('xdc.runtime.Main');+ J2 c$ p1 f" C, L( K
Diags.setMaskMeta( V2 M t3 U$ H& i
"xdc.runtime.Main",! `& c" k; h* w# ]0 u h" [
Diags.ENTRY | Diags.EXIT | Diags.INFO,
- x9 T( a" N& c% N' H Diags.RUNTIME_ON
/ N; `6 a5 E' O0 T! c* B);7 E) \& k5 _: N% m5 r
7 Z' ^" q7 ?% U) Q3 A3 w
var Registry = xdc.useModule('xdc.runtime.Registry');
+ Z7 |1 E6 Q, G! S3 g9 BRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* |; ]) N- b. n3 Y) ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! ~8 q' L) Q/ H7 ~; [$ w. T& u0 j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 |" r' P. j4 V9 H1 i5 s1 ~8 sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) \- U4 \1 c# d# H2 _& h$ o, E
; n9 Y9 [. t, z- M9 ^5 r/* create a logger instance */
% y; W- ]# E/ Q+ V' Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, W B7 Q8 b" G- g! I
var loggerBufP = new LoggerBuf.Params();. C+ v" ~ q/ p- E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 Y; m8 f; Y3 q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;7 H4 X8 v/ _/ G* ^
; m+ L. @$ q$ y- N7 t5 @, s" Rvar appLogger = LoggerBuf.create(loggerBufP);; `! e* \/ u4 w& b# T% A
appLogger.instance.name = "AppLog_Core1";0 ?; J5 h* E+ u5 m
Defaults.common$.logger = appLogger;
! h& b5 c3 ]% \! ZMemory.defaultHeapSize = 0x8192; `: G' q e- ^3 r) U
Idle.idleFxns[0] = "&LEDStatus";
, n! i& ?: K8 RCache.initSize.l2Size = Cache.L2Size_32K;
1 F# ^. W6 U. Z) \2 M6 U' E& A( E# Z' h
|
|