|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! W7 O' |- d4 X: H! q8 Z/ I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ n3 k7 F" `) c& W$ j0 Q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); X2 s8 G1 H k% K% I. Z
/ L+ g' {- b9 y0 y# j$ b) G5 d
是不是需要在DSP.CFG中进行配置
- k' ?$ q: G: x% i我现在的配置为# w: O+ }( ?* p4 o
$ `/ O4 I" K& o; A! e! ~3 R
/*0 h# [5 s8 B( t/ c4 ?/ |9 |- L0 W
* ======== Operating System Configuration ========
, `: Y) Q& H$ |8 K0 S- Z */
4 n5 u. i! X1 P0 Z: w3 b
7 A8 ]' z3 _: ^1 V, D6 j/* no rts heap */" V% \. B; u, t% h
Program.heap = 0;/ i/ L9 p6 L5 S8 m+ E1 F0 K
Program.argSize = 100; /* minimum size */
~$ d6 M# i3 m5 tProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; X2 J: p8 M; H5 ]
9 F9 _! x! B" ~
/* create a default heap *// T }" u7 k, B$ J# s n
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 R# L2 Z; s9 z7 |- q
var heapMemParams = new HeapMem.Params();
7 Y' ]7 w6 q8 a, w5 u* y% H& SheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 l7 _0 G$ X5 C
6 \$ c$ k! w& m; ]
var Memory = xdc.useModule('xdc.runtime.Memory');
$ K* X/ Y4 E* b4 y/ n# ~Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
! O# S. F" b# Y( J
4 o; F: o! `: o# I" k/* configure System module */0 k; L3 v& ], i4 C' B; B
var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 T& b0 L6 U7 t! A- rSysMin.bufSize = 0x1000;, o5 \" A- D4 t: m8 j) [3 K# I
SysMin.flushAtExit = false;( Q y7 g; U3 K4 ^- {) x9 R" z
% c" Z' e. f5 p2 F
var System = xdc.useModule('xdc.runtime.System');
8 G" D: H: e, i! p/ n; h& \) E7 b6 wSystem.SupportProxy = SysMin;5 R8 Q3 d9 D( s* z" s, O6 o
; j b' k8 P+ Q8 i! u" d1 L/* configure SysBios to use the lower half of Timer 1 */
; M9 a6 p7 h6 l3 U7 Z3 I- a5 i! o! Lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% g2 w& z: y& p) i
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# E, E# i$ O" s7 T& vTimer.timerSettings[1].master = true;
9 n4 r- D0 l8 a+ b1 G3 j; \8 gTimer.defaultHalf = Timer.Half_LOWER;" `1 T. D1 y, O J& t( B( Y, A
Clock.timerId = 1;
0 a, Y! z, X3 q& z, O0 f* ~( l2 u/ E( v( f* z2 E$ e0 g# U
+ B) u3 v5 v; x& P4 s! `+ o7 w" }- w/*; D+ \6 E+ W1 B8 ~0 a3 b
* ======== Miscellaneous Configuration ========
% l a- k W0 V4 {- q# w */# G5 Q" a9 P* R+ Y2 [, o t- F& w- b
+ ~4 B! G, A" n) F# t, A/* set default diags mask */: {5 y: ]. S8 S2 i( u5 C, G4 t
var Diags = xdc.useModule('xdc.runtime.Diags');; t2 L/ o# x2 P
var Defaults = xdc.useModule('xdc.runtime.Defaults');' R: y# _( j: k ^2 N+ _
5 s/ O- X+ |! I% f$ |/ E. r0 G' |- dDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;8 P" y4 A; l' v
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! k2 P V# x8 O" A: S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, D3 O7 K8 s7 W8 t' R* o* z. C# uDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ {3 p/ f j4 W6 p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; ^) C, k2 _2 _) P& \5 ZDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 y* R' ]( b8 j# u4 p0 l- {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 ^% D$ e9 k; Y/ ]Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* ]" m. y0 t# Y7 P: l4 p4 s5 D8 V/ qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' t$ U+ Y% T/ C2 |* ~0 t2 T( ODefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ X4 E( a$ v! T( x' E
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& c4 C n3 F4 F% h$ JDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 O3 _" C7 C/ H6 j8 \8 {Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 T5 J/ E. x, f7 M4 EDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 |5 r( J) s% P7 ~
- ]( \3 ?5 U' \& @/* override diags mask for selected modules */( J6 v# h6 [" d2 N0 o0 E
xdc.useModule('xdc.runtime.Main');. X, G2 U3 ^ o
Diags.setMaskMeta(
- u' D2 J2 @2 d/ K7 S- q# d "xdc.runtime.Main",
' ]3 G2 X6 q6 s, s! Q8 V9 i6 V Diags.ENTRY | Diags.EXIT | Diags.INFO,
: j+ C( }. g; t+ R2 R0 I$ ] Diags.RUNTIME_ON
1 A5 j0 Q+ `. y+ q2 w);% g6 z" K) T" Y3 ]) c
7 j- a$ D+ @& Jvar Registry = xdc.useModule('xdc.runtime.Registry');. Z9 K9 _/ [" R4 ?
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 ?3 F& o+ p2 P, g+ p6 E) n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 Q* P( U m7 h9 I* N5 iRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
& P6 }, K1 \9 s* M* yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. C/ a/ s. H% ]% k# E* m: x+ M
+ B3 t5 I: k" o5 |7 `9 G/* create a logger instance */
# }: T9 Q2 x# ?var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) s% W: K5 s) J. K3 p+ |# Nvar loggerBufP = new LoggerBuf.Params();
: z2 H( }; y( MloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 L3 {9 [2 t D! ^: K
loggerBufP.bufType = LoggerBuf.BufType_FIXED;% Y* f; j: q7 I' U* y0 w
4 I$ @- P: @) S+ Y3 evar appLogger = LoggerBuf.create(loggerBufP);
) a7 G- P+ P8 u9 M+ ]6 o0 B2 e; tappLogger.instance.name = "AppLog_Core1";
, Q* s! D. S7 }( d4 G, mDefaults.common$.logger = appLogger; J( q. d' `- [" [) @& P2 }
Memory.defaultHeapSize = 0x8192;
! x/ h: @4 Y0 I5 p6 bIdle.idleFxns[0] = "&LEDStatus";
2 J: \" H5 Z* U/ a. i3 K% n5 G9 ^( TCache.initSize.l2Size = Cache.L2Size_32K;
' S& g) x) ~# K$ _ n+ V+ j k9 `$ @9 }' _2 |+ z4 c2 }
|
|