|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 O1 C: U7 f' L- }* u我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: d( L2 |% Q- L5 Z) y# d6 x- d(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ \4 l1 h+ T* g4 R* m: K I
/ n5 V A7 s4 ^& T8 N& L J是不是需要在DSP.CFG中进行配置8 f. M5 n o/ U
我现在的配置为
0 M, x; T( o/ {3 {- ~* m" _7 g g5 z4 K+ y2 I
/*
$ s+ T8 Y/ \5 D8 u& V: s3 S * ======== Operating System Configuration ========; R3 @1 M* {& g- |* M3 {0 } ]
*/
1 Y- D! ~+ K1 M5 g; T7 Z% V" J( t) w; X" N# G& I) W
/* no rts heap */% s! e& |$ Q* a$ X( S; [- q
Program.heap = 0;
/ @# P& H# f7 M$ w. S+ s! c& fProgram.argSize = 100; /* minimum size */& S3 Q, z5 Y3 t
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, K: ]) `; v4 Z/ v0 x; W
; ~& F( }2 }7 f' X/* create a default heap */
3 r* \: ^; L( B& }2 svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
[! U' w( K! R+ Evar heapMemParams = new HeapMem.Params();
3 r9 }0 }/ f2 l! E8 G; q* EheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ _% Z$ M9 D) S6 j; i- T9 W7 S; N4 s
var Memory = xdc.useModule('xdc.runtime.Memory');
7 x- K) ^( O: D9 _, R) v4 Y# rMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 G1 A" P: Q, G1 Y) l
& N {, E4 B+ l3 C6 l& z
/* configure System module */
2 b" G& U( h' Q$ a+ kvar SysMin = xdc.useModule('xdc.runtime.SysMin');
4 _3 P- d0 L- _5 T0 M) mSysMin.bufSize = 0x1000;
$ V/ B! C3 X `0 rSysMin.flushAtExit = false;
+ Y# \3 U6 K: _; u5 z0 A3 o4 o
* _# I$ g4 Y! q. F+ i6 yvar System = xdc.useModule('xdc.runtime.System');
, x, `$ u( v% k' ]9 ~1 R( \System.SupportProxy = SysMin;4 X" I& u* `1 l {. B' r
% Q0 E6 W7 U# M/ w2 y' Q7 A4 f/* configure SysBios to use the lower half of Timer 1 */' p% d$ [( i$ h& e0 d! F! h" T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ w# m, c3 d* R7 `4 C# D! [var Clock = xdc.useModule('ti.sysbios.knl.Clock'); C X, L, ^3 I+ a
Timer.timerSettings[1].master = true;
) T/ W# @4 H* d: R' w9 ^Timer.defaultHalf = Timer.Half_LOWER;
( L B8 I/ t! x4 k0 x! p4 j5 vClock.timerId = 1;
: ?- X: u- V+ W: Q
. m/ a- d5 q1 X7 |3 X" Z6 p7 W: n w! \! W; r9 A Z% |7 K2 L, _6 x; h
/*
# K! f- d7 v9 D7 ^, v * ======== Miscellaneous Configuration ========
) Z) M; r! ~: H */5 B: k) u0 r2 v% K8 e. q1 U
% `0 o# `6 n4 f& C+ k
/* set default diags mask */
2 w( [% G4 M- z% uvar Diags = xdc.useModule('xdc.runtime.Diags');
1 y4 H8 S2 U% X! k( e& J% ?var Defaults = xdc.useModule('xdc.runtime.Defaults');+ K# P7 P, T+ y: E! L8 {
: _3 L9 B. Z1 j# i1 X7 m
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; [3 C. Z- R, U$ c) ?6 YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) O8 t2 H/ @0 ^# h5 ODefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; F' M P0 o7 k7 }% l& W: H& G. i2 YDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# a$ Z, m; U' l SDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! L+ i& }" p/ X# p e. t. Q6 j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; ]# E/ m+ `- a! O9 j. S/ ]
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 D) {5 z5 |5 p( \8 j
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 n- K0 E" }' x3 E7 R$ UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 u1 C2 A( m( V% ], q) c
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 a$ c3 Q6 Z; A% t. u- d9 GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
N) X, |* N: L9 ^! Q" kDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 b8 i8 u h2 q$ v, w2 W3 ]+ s8 V0 Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# Y' A; w) J2 X# H' Y2 e. J
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* _$ r+ n' x, O% m! W( T+ E. G8 m& D2 i' z( G h
/* override diags mask for selected modules */7 D. m$ g' `% \, _3 f0 y3 Y
xdc.useModule('xdc.runtime.Main');
' s1 L7 Z# K" r# c9 E0 m' x' SDiags.setMaskMeta(
+ ~+ ? X- H* C A9 m4 } "xdc.runtime.Main",
9 @8 S2 r4 ~* W/ x9 i7 g Diags.ENTRY | Diags.EXIT | Diags.INFO,
' N9 {; s+ l/ ?0 c Diags.RUNTIME_ON* X2 f r. K- I% W9 |
);( @" s7 {" D( {) f1 V; c0 z
8 v/ I* d, p R0 V d
var Registry = xdc.useModule('xdc.runtime.Registry');
& ^7 {1 J! Q5 }0 F, ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 }# F3 e! `9 ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! Z1 P, |. M& E: h3 i7 H) S' FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 j* Y# a3 ?8 z1 W% v1 A4 H8 q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 T5 V$ J& l2 ], D
. C3 f! J$ a1 Y& h9 p s/* create a logger instance */4 x6 X$ N3 ^: ?$ V) T
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- H' ~9 }5 A* w7 c9 b
var loggerBufP = new LoggerBuf.Params();
7 s* C2 w1 W" K7 s" _loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
' A# {) ~8 r+ g" H$ z" E6 [! }loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ W) s1 e9 a2 r4 I5 F' `+ E8 ~4 t% F+ C
) ^, S0 \; R- `5 {
var appLogger = LoggerBuf.create(loggerBufP);% E6 h, V) w6 k3 y
appLogger.instance.name = "AppLog_Core1";
' e. z. n* s: q1 R/ M, ODefaults.common$.logger = appLogger;& r; V6 G0 G5 _' C( Z$ c. e" I: _
Memory.defaultHeapSize = 0x8192; + F1 g9 t! Y1 t! w. p
Idle.idleFxns[0] = "&LEDStatus";
( A& Z2 L3 S3 X7 JCache.initSize.l2Size = Cache.L2Size_32K;
% c/ x `$ I& E% G7 _
8 ~/ m& M7 H: ^4 p, v% v% Y |
|