|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 Z* T2 n" Y" F( }2 h
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 x# o9 @; |: o8 W. E! e2 G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# \$ l( i H' ~7 m5 {
* V v: u: U; |2 h, \* \是不是需要在DSP.CFG中进行配置
V! l% h ?9 _9 B" t% n' V我现在的配置为
+ @" n# ]! R7 @' ?2 q. [2 E& i0 ?/ R7 r0 L! F+ H |: j" p
/*, s* y1 X- C4 P* `
* ======== Operating System Configuration ========
; c8 ^4 m! j3 q" b */
) L: `6 R/ n" i, E: u' g2 Y% ?/ O" i. x, s
/* no rts heap */# R. q# L& U9 Z) ~! {1 @& A1 b
Program.heap = 0;! ~0 L% N2 N- A$ v! o' m
Program.argSize = 100; /* minimum size */
$ x7 n; o% F" }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 M7 Q0 V3 x# {9 ?3 W5 N
; u( L* \$ R% X* F6 ~/* create a default heap */
; Q' `4 \2 U0 _( G1 Evar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 {5 C; U2 K- Z: E7 cvar heapMemParams = new HeapMem.Params();
9 O) w6 z h/ d9 SheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( F6 Z% k5 W. I$ K
+ W6 | e1 e3 Vvar Memory = xdc.useModule('xdc.runtime.Memory');2 ~. b0 ?1 i# O3 U5 w8 G
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 _& w0 ~, \' b) u. V3 e+ y! _% r9 q% X/ g+ {4 ]3 e/ b
/* configure System module */3 H7 Y3 Z$ G G% c+ ]* ]$ T; y0 L
var SysMin = xdc.useModule('xdc.runtime.SysMin');# B( F% a( @7 r( P5 ?
SysMin.bufSize = 0x1000;2 C- k3 x. _9 k, X( o4 z
SysMin.flushAtExit = false; R1 Y9 z- l U* C
7 i9 n) u/ J! w; q! K7 I2 fvar System = xdc.useModule('xdc.runtime.System');
$ H) I6 r- T& P, wSystem.SupportProxy = SysMin;
( X4 r( `) \/ O2 {6 S" k0 y4 ?6 N5 l% D6 m
/* configure SysBios to use the lower half of Timer 1 */& X2 v6 V# }/ O0 s5 V2 N! w
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ S3 W9 O/ X, X. L+ o
var Clock = xdc.useModule('ti.sysbios.knl.Clock');6 ?- i" k# ]- H* {! k& }
Timer.timerSettings[1].master = true;
0 [& o; u( W, ATimer.defaultHalf = Timer.Half_LOWER;6 y8 g# {5 S: g, G2 v
Clock.timerId = 1;. P, f; y" T$ x% ^& q" m
: u6 F' t3 x5 U: D0 E
_$ h1 ]8 W6 ?5 C, o* @, S) u$ }, a1 I
/*
: M, A+ I: U g * ======== Miscellaneous Configuration ========
" d% S) m: v7 |% k */1 v' o9 O7 p7 q, g
# x$ ^8 i2 O" s7 d8 f/* set default diags mask */' h; }* H. b o/ f, x
var Diags = xdc.useModule('xdc.runtime.Diags');! y7 t9 o' Z/ l
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& |/ E* C7 r0 D5 k/ d% y- G4 Z e/ H% ]4 ~( P- I
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 h9 I: m" _" K" qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% r2 ^8 D1 R* H! [7 cDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- i! {4 E% Q/ Z: Q+ ~; A9 rDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" d1 ]+ g! {7 e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ [" U: L( A# i2 K3 @" l$ A
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; P a: \; h4 T' U+ _) S
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ d$ [/ k' B3 H* y" C) ]5 L
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' R6 f! }4 v7 X0 ?# M1 r9 j( f
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 A4 I h$ n, q& n. R% |; J
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& ]: d/ @! H' ^% n
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ t1 ]7 g( E: f9 k
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' n& W3 s! d: T) Q. ]9 ~, Q7 \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ |; i6 B! v1 c1 b% u9 k3 A9 NDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
- B# e: ~; ]+ M/ Y$ Y
& N& B& V7 Y! Q, o/* override diags mask for selected modules */
% _) |8 |/ C( \' [1 D. Axdc.useModule('xdc.runtime.Main');& M% Z. c# Z8 ?4 O- y/ c
Diags.setMaskMeta(: \; h% p( E$ |) C' \+ [8 \
"xdc.runtime.Main",
# K3 f" a# q7 c- [; ^8 x: | Diags.ENTRY | Diags.EXIT | Diags.INFO,: q8 J5 d/ @$ Y0 h( q- x+ P
Diags.RUNTIME_ON& r" |, Y) f9 X: ?$ D9 x/ |
);9 Z0 u6 \$ |8 w1 d4 Y
5 X# I& P; L8 s1 Y, _* yvar Registry = xdc.useModule('xdc.runtime.Registry');( k" g- Y$ E" L: w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% l4 F7 c c2 o' cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% R3 Q1 o. L3 d& `2 ]3 S! h5 q6 ]Registry.common$.diags_INFO = Diags.RUNTIME_OFF;; `8 {! {$ p# r6 [: ?5 j# ?! o
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;/ N/ d; [3 v' [+ _
8 f1 j) E" t8 y0 a8 |" @
/* create a logger instance */
9 {" x/ a, Y& m. h$ X) g- a4 tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: _$ T: C i7 |! {* ^0 ?
var loggerBufP = new LoggerBuf.Params();
0 D- Y9 ]/ d. ?loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' o/ Z& C4 E2 C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 K: ^3 m C( `7 j& p& m, _( Y0 ?* a+ @1 d% s: A
var appLogger = LoggerBuf.create(loggerBufP);
. q+ H, `8 s& tappLogger.instance.name = "AppLog_Core1";4 c8 Z4 p* i8 y
Defaults.common$.logger = appLogger;
/ |- K) ]: N) T: v+ R- H1 o( SMemory.defaultHeapSize = 0x8192; 5 G* \: C. E* T* u* k! b: z
Idle.idleFxns[0] = "&LEDStatus";
9 i/ [' u% d1 t/ N( e( g( {% L. Y. m- zCache.initSize.l2Size = Cache.L2Size_32K;
4 a) @$ B3 j, b T5 {; F, {9 z
+ X: h9 C* q; X% n |
|