|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* g7 s8 l( D7 w! ~
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# H6 s( D: V$ ^8 G- _8 |" w(不过疑惑的是,为何单独DSP仿真就没有问题呢?), M0 z; i$ F* h/ p) o% C8 s
" K7 [1 c0 W! s
是不是需要在DSP.CFG中进行配置
/ i/ O( q: X- g# f; p我现在的配置为
9 A$ ~1 d2 q8 g2 b0 n6 B7 L- R$ l4 N# ]0 T8 p! N; c) e$ V) W
/*
6 y( F: x0 O# O) P& g. C$ | * ======== Operating System Configuration ========1 V' |3 D) M- q; H8 y! A
*/' b! ?% j/ O: o& d7 ~
8 r- n$ G6 w4 U% t: h. d
/* no rts heap */
. c" z; a$ R, C8 v2 yProgram.heap = 0;! z+ Z$ K8 ~& }* J) B
Program.argSize = 100; /* minimum size */; c! b) a2 H& i) A+ G1 Y2 ?& n
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: P; _! r: R. [, S
$ ~2 g5 j2 ?9 L5 e- I/* create a default heap */
$ M3 ~, F) `4 t) t* l8 Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" D3 C3 ]; w- H$ U$ `var heapMemParams = new HeapMem.Params();
( z7 |: [( ?( C. t- A2 wheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, \( W, S8 i/ b- }4 I
. G4 _3 n- _4 r1 T* a# L$ P: Wvar Memory = xdc.useModule('xdc.runtime.Memory');
# Z0 _6 n: @3 C5 k+ U! WMemory.defaultHeapInstance = HeapMem.create(heapMemParams);* `7 K; }0 e" U' l& T
9 m1 a9 ?% z0 F. R3 r/* configure System module */1 J; p y3 z8 u( l8 K, r
var SysMin = xdc.useModule('xdc.runtime.SysMin');
% u o4 X0 g! K" tSysMin.bufSize = 0x1000;7 B: o$ z* y$ W k `" d) \
SysMin.flushAtExit = false;
9 `$ F3 }" H; S+ A& o$ l L8 s. L. `: Q; T; f7 C* S* ?) h) q
var System = xdc.useModule('xdc.runtime.System');
5 `! ` z: G2 s7 K3 eSystem.SupportProxy = SysMin;
% U8 z: C, m: r6 K8 e0 ~) Q( Q2 _# Q% E7 ?" D: v" d( l
/* configure SysBios to use the lower half of Timer 1 */
& C" x; }9 N4 Q5 P# Ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 }" C& V. w- d3 f( q3 ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');5 U7 }7 r. D! Z0 g5 i
Timer.timerSettings[1].master = true;
. r; a6 v0 I2 }2 D! `9 I: |6 {Timer.defaultHalf = Timer.Half_LOWER;+ b) T+ }$ U# b! O9 f9 T
Clock.timerId = 1;& _, V) L7 y/ `5 N/ A
! p5 Y0 P4 d9 u, u
: X- Y4 ~1 |* o3 U' [/*' Y" ^1 y- z; g& ~; G- J* [
* ======== Miscellaneous Configuration ========/ o- u& t5 I# Y# m" l
*/
' X A% d6 X6 ?8 s" H: j/ q
! E: m6 T3 n3 S0 d+ }/* set default diags mask */
' v3 }+ ] E* c: Evar Diags = xdc.useModule('xdc.runtime.Diags');: L L+ U" o, R+ }" e( Y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 o; R1 ]$ j$ R. l* v! j8 O3 O2 M3 n2 u
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; }7 f+ n5 n* A. N w; `( ~Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 J. @3 C) C6 |8 A( S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 ^& E; @0 a3 e" j3 h
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
2 A4 c/ `7 T9 Y! c1 EDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' T& J* ]* L. Q1 Q3 y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
k- N, [1 ]2 K) D, z/ @+ W% ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# Y( c, | P! P7 [; A0 ~Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 i6 F! x g0 k5 {; A3 ]1 {Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 [$ y/ H. {1 M0 m8 h, e$ C
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% n3 s" X" i% K9 b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 N* t0 A, s: v! Y4 A1 i' S( gDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
6 M' U+ y$ X. J- m& VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;8 M( x: t9 E' `
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# g. U3 i0 i0 v1 `1 M/ ~
7 H8 o' z4 p+ P" U/* override diags mask for selected modules */
+ s6 _7 C6 V4 ?& Bxdc.useModule('xdc.runtime.Main');
( k- U* u' M. [7 o; ?: lDiags.setMaskMeta(1 p- k" L' W$ c( D3 ~" ~0 @
"xdc.runtime.Main",4 N' Q* e- K- A( n
Diags.ENTRY | Diags.EXIT | Diags.INFO,
) f a! |% w5 ]" N" g; O: b2 x6 V Diags.RUNTIME_ON) h# ^( ]& M, h: j2 W- F3 R; E
);4 s+ y/ t' O O8 s1 b0 o
; \ s L" U5 O6 m4 E& w" Mvar Registry = xdc.useModule('xdc.runtime.Registry');
; z% Z$ ~7 i/ v. o" x, `$ kRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ d: g$ [% E; ]8 o1 |0 P5 C& Y) G
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ K$ E+ \/ w4 F) y) G& B
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 O( Y9 i# l: \( T3 E [; rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ M0 K) k* f. |; f; I: {8 I* Q) M% p4 v8 l2 i8 a' k8 \
/* create a logger instance */; t- n8 Y- H( M! E
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" e' h v5 s. t# T5 g: }$ u
var loggerBufP = new LoggerBuf.Params();3 p0 Z% e9 A9 D7 g1 `( P( Y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ j2 @# K8 Y, Q; y/ \loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 ~& c6 z" }' S
; ^9 g" }7 N3 ^% D3 N- H
var appLogger = LoggerBuf.create(loggerBufP);
: x( v5 N6 T7 z) X' L- nappLogger.instance.name = "AppLog_Core1";8 }& R! M. h7 G" G ]
Defaults.common$.logger = appLogger;* R4 m/ X1 V2 p0 A* E
Memory.defaultHeapSize = 0x8192;
* r7 c! `3 F7 SIdle.idleFxns[0] = "&LEDStatus";/ \3 V$ `! C. ?
Cache.initSize.l2Size = Cache.L2Size_32K;
. v3 d) E* G# c) ?5 q# _, P; z# r0 A# Q8 V3 |4 [! ~( |
|
|