|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 Z. Y) I3 ^, ?$ Z2 u
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 M6 G# \5 V$ h. J( `0 p(不过疑惑的是,为何单独DSP仿真就没有问题呢?)! p1 {# Y5 G O) B3 s3 b
8 ^* ~( @# w0 V+ c是不是需要在DSP.CFG中进行配置
( B# }; K; B9 e; h* z3 [" q2 L我现在的配置为$ a' |# A7 l4 ], s
* i w. w/ x& C0 E% F
/*: f/ e. v7 H I/ \& z) ?
* ======== Operating System Configuration ========
2 x/ q3 `$ ]* l% }- P! k r */
& c: v/ w' [' ` u, h9 }4 P
7 ]7 Q& u8 R1 O7 `1 D3 D- B! n/* no rts heap */
/ n' \4 r& p; U! k/ P/ Y2 `Program.heap = 0;
& M$ O. S9 R' ]Program.argSize = 100; /* minimum size */
; z' K% g; u% j9 Y3 HProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, m& q3 j' o2 h/ s+ b! B5 B9 L) Z9 r) g9 T f6 y) W/ W% C8 E7 O
/* create a default heap */0 H; ~7 ]+ h) G( |* ^) R/ s
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" n+ z( q7 W4 q7 f" `var heapMemParams = new HeapMem.Params();
2 T& `' G( [ z8 uheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ Y9 ^0 ], ]) I0 Y: I e6 n
, @6 l6 G$ j8 H i8 h+ w9 H$ j/ J
var Memory = xdc.useModule('xdc.runtime.Memory');, U4 x+ F! J' \+ x4 }- g$ d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);6 Z t, ~7 N7 T& ~6 ]# C4 G. a
4 {4 k% s) R4 [
/* configure System module */3 e3 l0 I8 Z" {
var SysMin = xdc.useModule('xdc.runtime.SysMin');
! d& y- p* J0 w+ F9 eSysMin.bufSize = 0x1000;* I! o# }3 N" g3 N+ j2 i T
SysMin.flushAtExit = false;
6 R+ x5 K" @& Z& t4 y; k% D+ B8 ^+ a6 }4 z/ X, S
var System = xdc.useModule('xdc.runtime.System');& q. d; d+ i; s0 Q
System.SupportProxy = SysMin;* [1 K% Z) c9 u0 j- q
& Y8 a( A0 l: V* _' T
/* configure SysBios to use the lower half of Timer 1 */
2 |7 T+ Q/ @1 i4 avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. m' F) S( W3 C8 K, j' gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
, |& B( `( E. [# u2 i! n4 nTimer.timerSettings[1].master = true;0 _3 A* q$ H: q% u1 V
Timer.defaultHalf = Timer.Half_LOWER;
7 C7 e; @8 n SClock.timerId = 1;
% R5 D1 d( S& b) K; A9 E3 d0 v' F$ Y
. m9 b5 \8 ]* A4 G8 ?# `0 N% G
/*0 b! O. K- I0 E2 R# z& l9 T: H
* ======== Miscellaneous Configuration ========
) }+ x5 C. q6 o6 u7 M */
% R8 ^) |; O% V
* i& p2 [* c; q) D/* set default diags mask */
( k" ^: g. m+ F4 M! w; E' {3 ]var Diags = xdc.useModule('xdc.runtime.Diags');& s3 X7 e) t+ B2 H
var Defaults = xdc.useModule('xdc.runtime.Defaults');4 `6 D. v& `) n9 ^: Q8 N5 _' {
5 t2 W0 `. v9 e% g
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 \- ~! E0 u. d: l3 d
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
p+ c2 j* z% `0 ODefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
( u/ w; F# e5 T6 O4 ~Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( K# N# m* e x& U8 B" I. [
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: }/ N' {: D, y: N2 H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; h0 ^- b+ b! v" J
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, T7 u& n4 k4 ^; g& x' ]" l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 ^. C9 P& S) s- u+ l1 O
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: N, @9 Q3 W" k2 e8 P# P
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# m0 V6 J$ Z; p9 U$ N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. Z2 E. K- h/ S/ V2 h
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 g& c! n. N' R6 {Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 ^1 i y/ M! G* D T( [% MDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% t8 R- ~ |- Q
: X1 K0 `* D3 X+ g
/* override diags mask for selected modules */
3 ]$ j) j) H: F9 cxdc.useModule('xdc.runtime.Main');
( v1 P6 |5 {4 D" D1 s; b5 j) v' ?Diags.setMaskMeta( e9 a& P8 ?% T! w6 a
"xdc.runtime.Main",
1 u' r; I+ R& d& H Diags.ENTRY | Diags.EXIT | Diags.INFO,
; }& c) \* s- y Diags.RUNTIME_ON+ V2 m/ C# R0 \1 s8 k5 c
);1 _7 O4 G2 q# Q
& q3 h! \" N! t/ H4 X' Ivar Registry = xdc.useModule('xdc.runtime.Registry');
; l7 v9 {4 d9 g) s, `Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 z" @$ U: u8 q$ D6 q. V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* z2 n6 D+ w0 Y* [Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) O! v# ^( J! X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 u3 Q8 X: Z" p# v+ G' a
7 Y s7 l1 @0 F2 N/* create a logger instance */' O: {6 l8 [6 E. B- S
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 n5 @' i$ x+ C# U% I( Wvar loggerBufP = new LoggerBuf.Params();/ \6 Y1 ]2 V' D' J" F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
- `7 Q4 ^4 ?! i( u1 z3 _loggerBufP.bufType = LoggerBuf.BufType_FIXED;- X+ T/ g4 l: B1 t: ?
! K3 ]9 H0 Q8 T) D( e) ]
var appLogger = LoggerBuf.create(loggerBufP);
" C2 t9 e% X# eappLogger.instance.name = "AppLog_Core1";; u* K4 t, s0 u
Defaults.common$.logger = appLogger;
& b6 |3 y/ m! M' p iMemory.defaultHeapSize = 0x8192;
: K: u& c9 [' iIdle.idleFxns[0] = "&LEDStatus";3 S+ J$ i( }- ], m g
Cache.initSize.l2Size = Cache.L2Size_32K;
W4 N+ m+ u, Y; J8 _0 |2 ^7 f$ F; D, s9 N# ^5 `
|
|