|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 Z9 G! q) l' z0 l% M
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
/ w+ ]+ X- @6 w" B, _0 V4 `6 u(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 L' g: y+ p% Y. t/ I+ o/ {" S- s
是不是需要在DSP.CFG中进行配置
1 c' i" l8 b i, I- h) j我现在的配置为
) Z1 c! a$ K9 Y
0 b! z6 T: A% ]% z+ R# e3 S: X/*
' o; V/ l8 H# E6 z _; w( p * ======== Operating System Configuration ========
! U7 X2 b' @: h. O) q, l1 }6 m+ P */
6 }3 e+ z( u+ i3 W8 e& E$ d: C1 [$ W0 t2 ~7 G6 o+ C- R, y7 C
/* no rts heap */; h3 O' k5 N9 {* S$ W! T
Program.heap = 0;6 e8 p/ k" y( G9 |4 ^
Program.argSize = 100; /* minimum size */0 S$ f7 _: K+ P& A2 u l: @8 x
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. Z1 z% H! G/ z; s6 k' j: Q
' D& k. K1 a8 j1 |4 n9 G/* create a default heap */
3 e- @5 ^; h" N4 x3 F v# Mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ ^9 k/ M! `, q5 h+ N6 s
var heapMemParams = new HeapMem.Params();
% |2 W6 J! @& z [heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) ]1 @8 c2 ?& ]4 p" E$ C) j
# ^9 q& z3 I7 H* E
var Memory = xdc.useModule('xdc.runtime.Memory');
5 b6 `5 ^7 A, s! [ kMemory.defaultHeapInstance = HeapMem.create(heapMemParams);( S% ` B( T: G/ ~- ]' o
) I9 e9 ~( K- u X1 Y: F/* configure System module */
& E- T3 b+ q9 |3 {; r+ Mvar SysMin = xdc.useModule('xdc.runtime.SysMin');
- a# b0 h1 m" |* n& D5 b; kSysMin.bufSize = 0x1000;
6 L7 q" F; \1 P$ X; ]+ l5 ESysMin.flushAtExit = false;! E6 T" {% t2 `! U( k
; J G5 z3 @' x' i4 z5 a
var System = xdc.useModule('xdc.runtime.System');: _0 A" C' _4 w x
System.SupportProxy = SysMin;
% v9 [: p# {$ _" `" _* v# a/ j8 }# W! V# H% i' \. v# X i. x
/* configure SysBios to use the lower half of Timer 1 */
L$ M' L$ h( x [ k% d3 _1 svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( C8 e! O: t" M" y9 t/ `8 u d0 o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 ]0 N( J$ B- S5 \: i: M
Timer.timerSettings[1].master = true;/ s) k7 Q/ O( v$ R; X
Timer.defaultHalf = Timer.Half_LOWER;- L! r9 [& q* B# Z6 z
Clock.timerId = 1;
) B- ^# V$ F) X F5 u3 I
: O) L1 t. s- B/ C c% d6 D5 k$ j' m
/*6 t( J( r- b$ d2 P
* ======== Miscellaneous Configuration ========5 {! E w$ k5 ]
*/; v% R, c2 U. T$ o
* z. A! n9 {& Y) R
/* set default diags mask */
6 q5 r+ m& y! g% D$ Zvar Diags = xdc.useModule('xdc.runtime.Diags');
* d9 Z3 F! H3 |7 svar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 o0 |( {- F! N/ ~9 v' a8 P- J- }3 V+ J& e3 ^. f4 i; N/ M# B
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 \# m& n" r( g) o
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ N+ p4 {: a' j. \Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- s/ Y N( l) T l- w+ s/ s
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ R l4 c- U' F! |- cDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: J4 j! U7 E, z$ u- F
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ o' h8 F( i9 o* Y: o- w% ZDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ H' j' _( A1 o4 b4 K! m- ZDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 q, A0 s2 O( l9 z+ z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ ^) w( q! O4 s$ {# n
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 `& ]8 c; P1 J* e9 N1 _Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: S+ }& W9 A/ `6 P- u, DDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 ?6 W& s( i6 E' e1 l& G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 D: o# U2 q. \6 w% N" X. HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( p3 O' b% H2 c+ G6 t/ g3 a. g& F I- U! F9 H
/* override diags mask for selected modules */5 ]: Q9 r' r5 C# z! C
xdc.useModule('xdc.runtime.Main');9 B$ j' R( a8 Z8 Y
Diags.setMaskMeta(2 v- t8 U4 V1 L$ z7 q& _3 C, b! G2 l
"xdc.runtime.Main",
) _1 I. O9 m, Z0 S, K Diags.ENTRY | Diags.EXIT | Diags.INFO,# I; k( n' A- g
Diags.RUNTIME_ON0 H3 @: h1 }) R* t. J2 d
);
, A. y4 j X; t! h2 q
# w- j3 K' q8 O$ |: Vvar Registry = xdc.useModule('xdc.runtime.Registry');
2 V1 Z K2 f2 p8 P5 TRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 k) o: g/ y j& r8 w: Y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 g+ D; c1 T* ^2 l9 N
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ }0 }! {; {, T# m+ }+ ]Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;; B6 \1 \1 M3 l4 G7 O2 p5 R
' [7 H- L5 Y/ w O/* create a logger instance */' ~1 [! d4 Z7 Y8 j4 i
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" i+ K+ M3 Y- l" o
var loggerBufP = new LoggerBuf.Params();
9 [2 k6 k2 x+ X' K; UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 y7 \% l& Y0 k9 W
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ N) W, j: ]% W+ g# g6 `
) P% ^' i* O, @( g. f# @4 @var appLogger = LoggerBuf.create(loggerBufP);
* Y+ p P! U: G1 u7 tappLogger.instance.name = "AppLog_Core1";+ [# c+ G' X% p( V+ y- _
Defaults.common$.logger = appLogger;
$ Q2 a5 J2 s) DMemory.defaultHeapSize = 0x8192;
/ p) U t! F; {4 W2 b* K: j: DIdle.idleFxns[0] = "&LEDStatus";
7 {- W/ ~5 A/ v% zCache.initSize.l2Size = Cache.L2Size_32K;
6 \. J1 x( t- X. {
# r! Q. I( s- w* S1 y. l' c |
|