|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
a! N8 W# V/ q- x* b: s4 c我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" Z" X$ q8 M: L7 ?4 b4 l$ e5 j(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! J, p& |' p6 _/ P* e
, r0 E; b [0 t7 Y6 R
是不是需要在DSP.CFG中进行配置9 V, K- Z O( ?, a
我现在的配置为
& }, f2 _/ o4 V) x0 O3 V0 ?- G" r M
. N5 o; l3 d/ g+ \0 t/*
# C0 K4 b8 R( N! o9 K* @ * ======== Operating System Configuration ========; Z9 _+ B" T$ X
*/% x8 }! m6 ?' G4 ^! ?( ? {
/ `/ m4 k m: U5 U% J: {5 f/* no rts heap */
: l, q, s s+ y* r/ ?6 K% m8 b5 i, sProgram.heap = 0;
j2 m. t( N1 p* @0 D* z4 oProgram.argSize = 100; /* minimum size */0 K: H' _5 B' a" ~ E6 p& O
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ b6 |1 G6 j/ ?- ~* Q4 ]) d6 I* j9 z/ |' f" e: B% n- o, [& E9 c
/* create a default heap */
5 Z2 c s7 P. a r( ]) E+ Dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 @6 J) \ y! l' b/ [
var heapMemParams = new HeapMem.Params();( q9 D9 H' S/ [6 S
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 e* T' B( a% |: q: U* ^( j2 a! t9 ]7 s; p: m# G7 m$ B
var Memory = xdc.useModule('xdc.runtime.Memory');
, G2 v4 I5 l# A: X$ OMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 x. V1 J6 g* \/ u( i' `2 x! i Q& J) V3 t
/* configure System module */ \0 `# V' [) P5 q) K8 }
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ q9 L3 X# R, _
SysMin.bufSize = 0x1000;) N' T$ B" B' T- z. p& B
SysMin.flushAtExit = false;
( N9 C+ b( g' `1 a
$ G8 v; m' [9 ?! [2 x: vvar System = xdc.useModule('xdc.runtime.System');
6 T# t+ p8 A( B+ j, ]System.SupportProxy = SysMin;
! i+ ]! S6 P# I- V4 X+ G/ ^
, f1 m4 l/ x8 G0 _/* configure SysBios to use the lower half of Timer 1 */
5 g7 o/ p' i# J; tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 h% E5 f9 `1 R6 Y% d( u0 [. tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');6 F I5 t; ^3 ] S" w6 a% f
Timer.timerSettings[1].master = true;
- z+ z- B& z& J+ tTimer.defaultHalf = Timer.Half_LOWER;
" b6 v3 ]; r. Y# yClock.timerId = 1;
6 Y m5 l B5 e4 a: A) G; P2 E- c$ @; L2 f$ O# ?
1 o5 [6 q6 j; M# a5 q; W" c
/*( v, M: U) ]. m# F: I
* ======== Miscellaneous Configuration ========
* l) d6 B+ P4 a) T3 D; K */
% u2 ?2 @6 ~" t0 S
: ~/ r& ? S, J( L: [! v+ h5 j0 T/* set default diags mask */
}( M: C: _+ m9 ], k" U, f' Tvar Diags = xdc.useModule('xdc.runtime.Diags');
/ |* ]- d2 d0 R% s2 r. Fvar Defaults = xdc.useModule('xdc.runtime.Defaults');$ B: S& z! ]1 e& X8 S/ A7 K: u% I
k: F. f$ A: ^, NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 ^3 O3 J7 {" S+ Q/ l& w4 ?Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( W% b a) I( d/ o, n
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 x$ B: {4 l/ X; v% E6 UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 F4 H' d' d( W, F gDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */+ u5 w! f/ a o( U+ x) i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% L4 V+ Q. I0 `* f |- Q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- t5 _7 c. @* h8 U: v1 S) z' k w! {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* X. K3 @9 g: k, h2 X
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
g6 K$ d( ?7 l/ P4 @5 ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- }6 h: B* O5 Q1 t' z, X3 RDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: [! y1 {0 Q0 f" o1 A
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 g1 s# o0 W9 J G: B' m
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# c, b% v, V5 ZDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 a6 f4 ~- V7 x; p3 I* t1 x% e
/* override diags mask for selected modules */
" @. H/ Q1 L9 cxdc.useModule('xdc.runtime.Main');& {+ f( d: U7 p- _# S5 b: F {
Diags.setMaskMeta(
6 b7 o( L9 x! K "xdc.runtime.Main",
@0 L$ \4 u. J: U9 Q Diags.ENTRY | Diags.EXIT | Diags.INFO,# x t$ |8 G" F( S- L# H# x- o
Diags.RUNTIME_ON0 W1 ?% e. @- H" ^( M
);# Q' z+ [9 x( H+ r3 ^, o; R4 k
; l, F# P; P( V& [# K2 L& `
var Registry = xdc.useModule('xdc.runtime.Registry');( A/ f8 [! M5 L7 q/ H
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 Y; h' ~, ~2 h1 X5 | \8 `Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 V$ Z$ T# `6 K5 x6 n
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 q8 q" ~" Q5 q* \# [& v; R4 hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 I) ]' w5 F, Q6 D/ Q
: y. b8 _3 _) B& X+ n, H5 w: @5 A. q* R/* create a logger instance */; C ]/ b7 Y' M( d6 I" u0 q% \
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; \- s, z" P( m, e! a7 d; rvar loggerBufP = new LoggerBuf.Params();2 z0 L( h2 ?9 e0 v" D
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 F+ k# Q5 v) h8 d# y" t
loggerBufP.bufType = LoggerBuf.BufType_FIXED;3 u3 H$ _: v9 E8 L& l
1 G. t6 q/ b0 ~7 D
var appLogger = LoggerBuf.create(loggerBufP);
* |, h: A* Z4 M/ }4 NappLogger.instance.name = "AppLog_Core1";& o' q. s( O8 @5 v8 Q% z4 {' k
Defaults.common$.logger = appLogger;3 ?9 {8 A# Q$ i w6 q6 b2 \
Memory.defaultHeapSize = 0x8192;
4 B0 u4 Z2 U6 EIdle.idleFxns[0] = "&LEDStatus";
) d+ n+ N5 N+ g/ {/ p, R. _. @ y: NCache.initSize.l2Size = Cache.L2Size_32K;% q: s! J, N) B2 w
6 h1 e( s" K+ h O$ s) W
|
|