|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" y+ N' f2 m) Z: @; s0 d. l我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" k+ q: A) d& G2 V6 F+ x7 L
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 v, [4 A* H' m; @9 D. w M, D
7 O; F' I/ g. N/ P4 g
是不是需要在DSP.CFG中进行配置
( `+ L* i" m! ^, Q" ?我现在的配置为/ T+ D0 P9 V* o3 ]" O( }
( @6 D* \( D, _5 n( F% U1 h/*
, N- ?6 W( u6 H% ?+ {1 q1 z: e( j: ] * ======== Operating System Configuration ========
3 k+ f, ?8 h1 _ *// |. b8 X, W% x
( C; g0 j: u1 @7 u& t5 m
/* no rts heap */
! A9 `: W) ^- BProgram.heap = 0;
3 v) }# @; r: T5 `9 b F! o4 I6 sProgram.argSize = 100; /* minimum size */1 \& ~: Q3 y7 s0 }& e" @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: y. a+ B+ h+ T5 Q# U
/ m. S# @: ~! A/* create a default heap */- a( Q4 ?: p! c/ q
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
: j# Q! p7 B% u/ l# N/ \) `; k# lvar heapMemParams = new HeapMem.Params();( D* h" Q% I" S5 v5 W
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 y$ l# J+ v0 _% ]6 M) T: U0 k+ O: ]1 l
var Memory = xdc.useModule('xdc.runtime.Memory');
/ Q" i; A" A" u- x$ S+ u7 f( d! C6 H! EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- q: P! T x; \2 y" \! J% h5 v( ^6 M! T) \$ [8 L
/* configure System module */; [& V' i) _! v8 j) }
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 t+ x) |( \' G1 W0 b2 ySysMin.bufSize = 0x1000;
2 f# l7 \* [* z F' ^8 S3 G, DSysMin.flushAtExit = false;* Q# [) k1 |; ^1 W3 z3 y2 }7 n8 P
& M) N3 e. z. J0 Svar System = xdc.useModule('xdc.runtime.System');
2 w1 A# i/ a7 _3 ~System.SupportProxy = SysMin;3 P F3 K$ p1 K( i
, Z2 x1 e% J' Q5 R
/* configure SysBios to use the lower half of Timer 1 */
0 t/ |8 Y: ]% ]6 a8 j7 Fvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');7 e; z) l6 X2 _' ?" c0 {' I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 e6 |! ?/ |) Y1 e& s# O8 PTimer.timerSettings[1].master = true;8 ^' W, j* W# V, v( l V- F" e3 l
Timer.defaultHalf = Timer.Half_LOWER;( h# i* q8 k0 E* C7 f' [' e0 P
Clock.timerId = 1;5 K$ w1 w" O1 n7 y
5 u/ e5 r' w0 o# ?" v/ q* k
! Z; f& r$ R# `0 V
/*
4 { _+ Q) ]" ^- G * ======== Miscellaneous Configuration ========2 I; j7 i. s9 t: n) h! m
*/" I2 y8 Q- b) l
1 F) d9 W1 a, p/ S3 E; ]7 A/* set default diags mask */* W9 I5 V% O$ I* ^9 |' b9 h; q
var Diags = xdc.useModule('xdc.runtime.Diags');
- Q" G# E; Z9 \" W/ [, F" Z. nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
$ K& N% r% E6 @: @+ f0 Q- S: E- p' u, C1 u7 E5 b# M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 v0 g" y, L9 {" G! hDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- L) O1 g& P) F9 mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ I* n- T, [8 n3 Y3 w4 z, C
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 S, y* F; J( b5 R0 @& rDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& I2 E7 s3 z r9 R1 YDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 t" |5 F3 A0 h/ iDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
A0 [& u; u) L' G1 l2 g" UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
S m, Z% d% p0 H2 IDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 y$ B9 ?! k8 J7 Q2 x/ C6 n0 ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 O7 m6 C, d# _$ X. LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; w1 r, U X, `" l+ R
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& a* ?$ C- G" ~4 [4 x
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( l, P( k; q- r$ ]: m( t( Y' lDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) j* Y2 b; a' D8 }" Q7 C
0 O% U, z* H( h# p+ i0 |8 w
/* override diags mask for selected modules */
8 v# F. Y4 Q. o' l6 X) Oxdc.useModule('xdc.runtime.Main');
& u) }9 i# Z: X. a. WDiags.setMaskMeta(* W6 Q& E0 C( R2 A4 c* [1 K9 _7 K
"xdc.runtime.Main",+ N5 `. t+ i, k
Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 K' g1 f; u+ o$ h9 y1 E9 S Diags.RUNTIME_ON1 S' N, P4 X' A0 o! `: b
);2 t" E% q) E" U. f% Q5 ]
5 b. Y+ n; C' @' P3 r Svar Registry = xdc.useModule('xdc.runtime.Registry');5 ^7 w4 ^' w0 \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ G: q$ d( |2 X+ I b
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;! Z- P7 l5 C, ~- ^: s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 w, h% G t2 V4 x7 J8 ^
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 ]1 c" F2 U$ n z3 K3 B2 Z+ H, g
, O% v( H5 W9 u% R/* create a logger instance */
( F* j3 ^8 Q' _2 T1 l: Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');( u1 O% H4 j1 k" H, H6 y7 u
var loggerBufP = new LoggerBuf.Params();
% f* F+ h. B& _( P/ qloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* H/ a; H, P" `1 m, floggerBufP.bufType = LoggerBuf.BufType_FIXED;+ @8 m% Y7 }+ f `$ c" T6 E
8 U; H7 \2 |! q8 L! t6 n5 hvar appLogger = LoggerBuf.create(loggerBufP);$ {# M$ r5 `4 x* I% l _+ i
appLogger.instance.name = "AppLog_Core1";* o$ `5 W2 m- x$ h1 M
Defaults.common$.logger = appLogger;
" W1 l U' D' e# z# kMemory.defaultHeapSize = 0x8192; 5 t* E& f% e( L1 p
Idle.idleFxns[0] = "&LEDStatus";
' ^1 H7 }7 U+ zCache.initSize.l2Size = Cache.L2Size_32K;( c0 `7 m+ O7 `. J' j; P+ i
1 z9 a$ S c0 E' u m/ x7 d b |
|