|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 N6 p, U0 C5 k0 b& c O' T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( A" R; b# M. s( o, y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' Q! g h, l0 s# w/ _4 n
5 @! S. s! X3 ?" M# j* t是不是需要在DSP.CFG中进行配置3 w; P/ L0 Z N
我现在的配置为
6 P/ C9 J T; P: D% d+ A! [/ g
( f; v! |2 D: r3 e4 q/*
( o4 g4 r9 G5 a" T: z' L * ======== Operating System Configuration ========
4 G; e1 ?$ @) Q( c/ K0 l */
) A! r* T7 N o4 Z* W b; V1 _: t1 M; L0 ]; ^4 R$ ^
/* no rts heap */+ z, Q7 K& Z* U7 q4 T/ o, s2 B
Program.heap = 0;7 O. `! o1 `. X* C( N3 t% _9 `) y/ a. {
Program.argSize = 100; /* minimum size */
) Z( Q! ]- Q, g6 p& I9 Y9 WProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 |0 v4 w. j3 U+ q& S9 Z
% t/ \9 n' m3 f- P4 r/ ?9 ?2 ^4 R/* create a default heap */
X# b3 V' E, [- Z. L' |) z* f* d- ]var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 p2 Z1 N* K2 f5 N- x" l! F7 ]
var heapMemParams = new HeapMem.Params();
4 F, F" ?% w6 O$ \" iheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, A- ~' l' s/ b/ g- X) H2 m6 S* H% q6 u) X- P
var Memory = xdc.useModule('xdc.runtime.Memory');
8 m) x% q! l0 r! f5 i# i" cMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 ~+ ?8 y* D) |) P8 ]9 Y
g4 G6 q; d. O3 ^* g% A, X7 k- j/* configure System module */
2 t/ U) _0 t4 K3 q0 N8 \var SysMin = xdc.useModule('xdc.runtime.SysMin');
1 |: G( l) ] n2 @! `5 ySysMin.bufSize = 0x1000;" C2 p D" [; L' S2 w% S' N Y
SysMin.flushAtExit = false;
& }8 g) ~ \. W( l' K% }( W+ X _- Q% r
var System = xdc.useModule('xdc.runtime.System');) [$ h: V6 [8 B* [$ Y* u& }- M2 A
System.SupportProxy = SysMin;
; T2 J9 i s7 z, I' W, X) |/ {) H2 c
/* configure SysBios to use the lower half of Timer 1 */
! \4 a4 a& j- x4 svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( ] }- c) f( k8 `5 L! n7 j5 a7 q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 W" p8 Z1 Y! @* B# C2 eTimer.timerSettings[1].master = true;
1 \, Y5 p4 ]6 V ZTimer.defaultHalf = Timer.Half_LOWER;
$ T# C$ K$ v3 F4 \& Q- sClock.timerId = 1;
r! {. h' j+ k! r) ]0 }4 T: y* l/ w$ I) `* Q1 F
% x% J F4 E: Y) n& ^# k, D/*' R) m# X, i! i! }- w
* ======== Miscellaneous Configuration ========( l: x! C" Q1 h& h
*/
4 c |* F& v# u5 K9 _) v
7 w8 j# D' d0 x1 Y* I2 I1 H( b/* set default diags mask */
6 s/ b0 X# n* E o* `: Bvar Diags = xdc.useModule('xdc.runtime.Diags');
6 H4 Y0 ]$ u! Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');3 I6 P- `* g3 g- E2 o: f
% {, Y2 Q7 W# }5 i
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ R1 j1 `7 L- V9 C& B* i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( Z8 E$ n0 p$ a7 i0 w9 C N
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% d' N" {& [9 D: j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; F, a' s4 O% b& H
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 e9 c# k7 Z3 d: ?+ G* M" a; c7 S- [$ P
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ S' Q" p. i% @# S
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 ^1 o- S, y0 K3 S. v7 h
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- p/ C, A* J7 o
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' C: Z( }, A9 r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
?6 O$ Y! B. e, ?# s) V; m# `: [' dDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 F8 H( [! b0 J" Z; h5 H' _* Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! {& A0 a+ l8 g+ J9 T4 g5 C, _Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;! V0 f& q1 ^8 N. E
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 j8 ~9 l# {0 Q6 v, K' s E
4 r6 }3 k% ~6 Q. ?* C/ B- u/* override diags mask for selected modules */
5 z" {) @3 _) Mxdc.useModule('xdc.runtime.Main');* `- v: Q& @2 ?, y5 t$ d
Diags.setMaskMeta(
6 G( ]9 z' u( u "xdc.runtime.Main",3 b) a) H/ S: e6 @( W2 Q4 p0 |
Diags.ENTRY | Diags.EXIT | Diags.INFO,& g7 G- E0 z& U6 U" r) m& F0 A% M
Diags.RUNTIME_ON+ \+ Y/ @. i0 ^0 B" |9 P Z
);( ^% w, o5 p* V' q
' j9 ^. ]* t% j3 L4 d% j! j/ I
var Registry = xdc.useModule('xdc.runtime.Registry');- ?5 V" R% a8 A& J4 D
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 T3 ~2 \4 a& M& _
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 w% o4 y, {! zRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# A, A* N; P. r
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 ^6 I! S; T6 P V$ Y- \) x! Z8 y
1 |2 y0 c* p4 j6 q g, ^$ v/* create a logger instance */
' D* `' H' x1 Q0 W9 D xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, L% t: {. W) p6 Jvar loggerBufP = new LoggerBuf.Params();/ ]1 _, `; d0 Q- b4 `2 A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 y' o3 C% W9 \4 {0 k, x# X% u9 sloggerBufP.bufType = LoggerBuf.BufType_FIXED;5 v4 ]5 p0 b4 |: |; C
. [; j3 [9 [% J! ^& l( d
var appLogger = LoggerBuf.create(loggerBufP);# u/ y) ~ z& I; d: a# a' g! x' k* E
appLogger.instance.name = "AppLog_Core1";, s! X- D9 I- b) o! O% B
Defaults.common$.logger = appLogger;
+ }4 W. W) X" Q; yMemory.defaultHeapSize = 0x8192; 8 n; E0 E" V5 v! y
Idle.idleFxns[0] = "&LEDStatus";2 M+ t7 g+ l% E) y3 }# w
Cache.initSize.l2Size = Cache.L2Size_32K;& S4 C2 ^7 u7 N, R! e# |1 d' ?+ p
0 j8 Y- U9 k3 c6 ~4 a |
|