|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 B& f4 a8 S: e+ \& J) E% F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& ~. K! R# P R/ u9 a, i& ]
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 ?8 f6 s& q) i% {2 m7 O
( h R/ s0 @- Q/ e是不是需要在DSP.CFG中进行配置( C) T3 C2 I# l1 M9 g! P& g
我现在的配置为" m+ \; F: v1 k( a" Q1 Y" b
% j5 M# O% h1 O/ Q/*7 M+ l! _3 _4 ~& V5 W; _
* ======== Operating System Configuration ========
; r+ R- O( `3 O, I- n$ C1 W */& ]7 U2 R* |: Y+ |4 ]; x3 K P
' u$ y/ V- Q3 g9 Y4 z3 y/* no rts heap */$ e1 F2 x# @6 e2 Z
Program.heap = 0;8 G; x5 H) R$ F; B9 Z* ^
Program.argSize = 100; /* minimum size */
7 m2 T4 P* F6 QProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 j) D4 X" o6 E& N! D
, [/ @4 c a4 H+ b" ^2 l e/* create a default heap */
9 n% h4 Z; p: R$ y Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. |. M$ h4 D8 |3 e
var heapMemParams = new HeapMem.Params();4 m& X3 e8 T% ^) m! ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 u; ^2 r9 l! L+ m2 m" G3 q- l) T1 ~: B, B: F; H/ q( ~: K- v
var Memory = xdc.useModule('xdc.runtime.Memory');; p2 l+ z% d+ W: X* v
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 s( J1 r* r, O% e2 l
/ |; D: T! W4 ~7 Z% ~ {2 @/ Q% O& v/* configure System module */: t/ j* u: [3 P% Y4 n }- a+ m
var SysMin = xdc.useModule('xdc.runtime.SysMin');8 {. o, q* Y- g6 f' K) o! m- s
SysMin.bufSize = 0x1000;9 U, [2 T4 W' {+ c1 I/ n- b
SysMin.flushAtExit = false;1 T1 U7 o2 g+ I: R( |
* Z* P! H }: e5 w9 a( z# n
var System = xdc.useModule('xdc.runtime.System');
/ }7 W4 e" ?+ V0 q* |! n, dSystem.SupportProxy = SysMin;
+ {1 H3 g5 T( ?6 X6 ]6 x2 A3 K7 k; X7 x* L. E
/* configure SysBios to use the lower half of Timer 1 */, }. Y6 O/ C S- C2 Q2 K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) }; O) d$ n* H9 H$ H! Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');1 o E- r, X/ @$ o, f3 u1 [" N
Timer.timerSettings[1].master = true;
3 _! ?0 Y9 V$ `, D t6 H* yTimer.defaultHalf = Timer.Half_LOWER;9 |# |7 c5 H% h; `
Clock.timerId = 1;! X( q; l$ H' m r! x, X/ k
* J( E/ ~2 E+ \# h; \
7 U0 T1 c$ c/ A9 f# w) Q/*
' S( @ l' [7 k5 o$ V$ O * ======== Miscellaneous Configuration ========2 }0 k+ \5 R. g% n/ W |
*/- D( z1 v2 Q& e& ], g) ~
) Y" K, L3 ?2 D, b
/* set default diags mask */
; I, e6 u) J$ d$ \/ [* K: V2 z! Avar Diags = xdc.useModule('xdc.runtime.Diags');# G' O( e8 t- L5 K* M
var Defaults = xdc.useModule('xdc.runtime.Defaults');0 h5 ?8 o- v- k1 H
8 I+ E+ h* k& G( _1 ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. A1 {+ T c8 N( X! L& D6 |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( h/ Y6 h. m# }% jDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 t) ?/ i* F9 R' h$ P! U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* w% E4 o, W/ t. q* R8 a7 _, J9 WDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 u! D; {) @) ^* I1 k
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: U3 {! o; V: Z' }/ }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( J2 Z4 A( ?2 {- L, W1 I: U0 NDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# H$ S2 x- Z+ J
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 Q8 M, l" _+ N6 XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ x& Y Y2 `, l) f0 H/ X* K& rDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: [1 I' l8 r& V) S" ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 Y! J2 u* N$ i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
, S# L, n( |" g; T+ _4 ADefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 y/ l5 t+ r) U, U Y
* q1 v3 N$ [' f0 U( j/* override diags mask for selected modules */
+ u) K4 p6 D' C; yxdc.useModule('xdc.runtime.Main');7 h. h* I; T+ `0 a& q( R- j* d6 S
Diags.setMaskMeta(6 ~0 u4 y# O9 d
"xdc.runtime.Main",
+ E9 z- b7 h- J0 ^3 p4 c* P Diags.ENTRY | Diags.EXIT | Diags.INFO,8 H4 w+ j! e+ l6 X# F$ S) d% o. m
Diags.RUNTIME_ON$ f9 Z7 p' K% R
);
8 X7 j) z1 S) H
( h% V# T+ ]+ K" R; }! Qvar Registry = xdc.useModule('xdc.runtime.Registry');1 z9 s3 {: K/ s* p9 G# i
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" C) E& P& K* I
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 _- e) N& n0 U' K0 v
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 t5 s) D/ Z1 j/ |: N% r2 @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- { K8 a4 z! q
7 c) m6 W1 _# H w3 W& J7 Z9 G/* create a logger instance */
+ O2 d7 c% ^, t1 {/ t a9 M# Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& I) S) G( Q; F7 F: Nvar loggerBufP = new LoggerBuf.Params();, l r5 J: l+ X) Z. [1 f1 I) v7 W2 i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* S# a+ M3 E' v
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% M+ V, K4 H* s, K5 V! \0 b4 {7 n, G' X6 t, v
var appLogger = LoggerBuf.create(loggerBufP);" u% E/ W- k$ o" D5 @% s5 \# [) [
appLogger.instance.name = "AppLog_Core1";
3 a/ w1 F" y$ J0 w5 p' ]3 mDefaults.common$.logger = appLogger;! H$ A) \3 P, O( {9 a7 ], {$ V
Memory.defaultHeapSize = 0x8192;
7 `+ v; g* X6 Q* Z3 Z4 f, sIdle.idleFxns[0] = "&LEDStatus";
/ l; r8 ]0 g C P: SCache.initSize.l2Size = Cache.L2Size_32K;
. `, v$ a8 Y8 n
: u/ E4 t$ H& M |
|