|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明. T4 n) o+ s: h8 H" e- P2 v
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, J) l9 \* G; N: A% |( |* ^
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 ~3 W) [' V5 A
1 t; S" x1 @. [2 l$ T: g5 N+ `
是不是需要在DSP.CFG中进行配置
2 R( P1 w) e, {6 `+ O1 ~0 K我现在的配置为
' U4 z- |- ?7 L6 |' _+ [, s, L a' J; A0 C, M8 U
/*- r- ]1 @- M4 k) m
* ======== Operating System Configuration ========
4 L7 L( e+ I9 V; M */
8 f# G2 Z* \( Z1 e- \0 Z; [- w2 I% b4 Z0 L( R, Z" X6 ^
/* no rts heap */
2 Q7 Y+ H4 V3 a" ZProgram.heap = 0;
( H6 ^7 }/ Q7 K! f7 [* W6 j& q$ eProgram.argSize = 100; /* minimum size */
: k8 l2 ` M( N7 }* }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( e" y3 {. T9 |
) u# c) R( { F. o2 W9 g) q/* create a default heap */2 x5 z) ]( Z: }* A l3 L8 A# ~
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: m. @& w. B" [ ~8 x* M
var heapMemParams = new HeapMem.Params();9 x; R( {% Q8 ^- _/ u, c$ ?" ?3 M6 T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" j' u+ f& b& j3 X
* s, O7 f- }0 p& A, d, o
var Memory = xdc.useModule('xdc.runtime.Memory');' J* ?' U. D; o4 q; T
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
; n5 p' K1 V+ M& C# _. ~ R" Y
' l, i# y W y# j& ~/* configure System module */
3 o; S% N! G6 w" B, k0 svar SysMin = xdc.useModule('xdc.runtime.SysMin');* M6 d r3 w) u. y/ O6 z- m8 J. V
SysMin.bufSize = 0x1000;0 d2 R& a- Z) X5 v# Y7 N
SysMin.flushAtExit = false;( [2 k t/ f5 `! |
- u2 d! D Z) [; o
var System = xdc.useModule('xdc.runtime.System');
# J+ m; p' w+ uSystem.SupportProxy = SysMin;; p" D( a L0 j% Z
V# Y) @7 ^& {, c0 ^/* configure SysBios to use the lower half of Timer 1 */+ c0 y2 X6 Q' N5 r
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ V* ^6 g1 M* m: ]var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 s# X- J4 W$ }/ |/ w2 A- l
Timer.timerSettings[1].master = true;$ }" N, u4 o& \. k3 v( Y( o
Timer.defaultHalf = Timer.Half_LOWER;
y. H, e' j3 T. x! v8 H; u% tClock.timerId = 1;4 L$ m# b5 H9 J& {9 h6 ^# B
, x7 |- N3 `0 {7 Y
; H# Z8 C" u7 `4 ^8 o/*
- x$ ~. X& k& `0 Q * ======== Miscellaneous Configuration ========
4 z( Y* j2 M7 \1 J* m8 j' x- ? */8 l. Z5 `. E; O4 \- X
9 T+ o& @9 k$ l" Q4 n& q8 K
/* set default diags mask */
2 E5 X$ K# Z k4 R, o: C9 Cvar Diags = xdc.useModule('xdc.runtime.Diags');
& c; q8 r) f3 q5 I' X' vvar Defaults = xdc.useModule('xdc.runtime.Defaults');
, {: P1 ~% d- ^2 ^8 d) Z' |
8 U; ^% [9 n$ V0 l5 DDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 M" J+ u6 q9 C% R) y! a2 WDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ X6 ^& k( q4 Y" z/ G" h4 B
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) e* D" a* j4 f- S4 c# a' O; ODefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
F0 X9 w( G4 A2 ]0 QDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' ]0 M1 L3 @5 e* w1 ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 g) Q" m' c, S/ X% s( z4 S
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 W v& s& A8 U) g- J9 uDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ g2 }' a/ C" B; o! _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# Y, B* q% n* Z& iDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& U* D k7 Y& l7 k6 FDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& w( h+ f& Y+ S: w5 U0 o3 \
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 u2 F L9 e' }, d9 m. E2 `
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% W) d! {" ~7 N- x% h0 @; S3 ~1 A" VDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 Y: u- \2 u' d8 U) r/ h. F) N7 P5 Z% ^$ M$ @
/* override diags mask for selected modules */; f: R6 v. s! [) k5 T" N& m
xdc.useModule('xdc.runtime.Main');
' q2 @( V) s" }& `Diags.setMaskMeta(* d3 T- X/ p; ^" x
"xdc.runtime.Main",6 C2 x; f- @1 b' U7 ]0 X
Diags.ENTRY | Diags.EXIT | Diags.INFO,/ A2 `$ @6 m! j3 o) h
Diags.RUNTIME_ON: R) N; A2 X. O! w7 c- Z1 |! h& Y
);, d, _2 [0 E' b- c( H. Y
: p! u9 u9 I( i' w3 }
var Registry = xdc.useModule('xdc.runtime.Registry');9 b3 H; J3 i/ f! Y" u
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( s9 Y0 a# ^7 q* ~
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. j3 u! x4 o+ N, w: [
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;8 W8 W- T5 y* t! S, X, B3 m8 g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ Z4 X- d+ m9 J0 p$ h P8 F9 L9 W0 I, }4 Z3 }5 w
/* create a logger instance */1 g: h E- l+ i* q/ ]: D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');6 m, Z: A9 K D6 w# ~8 V7 J+ T
var loggerBufP = new LoggerBuf.Params();( J' t! T( Q C2 P
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ l$ ]& s+ i, X1 X( b$ p3 d* l
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 ?0 ~( R- l0 g; r
+ a6 q# k& _# {8 _# o9 k' j3 I" bvar appLogger = LoggerBuf.create(loggerBufP);) s: x. L+ Q" @/ k! q
appLogger.instance.name = "AppLog_Core1";
' C) M1 X/ s. z7 z6 GDefaults.common$.logger = appLogger;; ]* `( l1 C8 Q# N3 v1 ]
Memory.defaultHeapSize = 0x8192;
1 g* l% J& g7 v1 sIdle.idleFxns[0] = "&LEDStatus";
k& Y6 E. V4 V- JCache.initSize.l2Size = Cache.L2Size_32K;0 L @- j; k3 B" Y O e; c6 P0 m* d9 F
5 I+ {4 c% @! x |
|