|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% b: Z" {* I% |! k3 h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
O( L8 Q$ X9 t) `" z3 j \(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' [7 m8 {, ?) I3 Q0 }4 \! q6 }
' l) ~ k- x6 ]/ s% D是不是需要在DSP.CFG中进行配置( a. A1 w2 z4 T' ~# T. C/ l* m. ~& p
我现在的配置为
8 x9 f# {. p0 A, A5 f1 U# ] {
{+ j* h- n" j: x/*
9 N# P6 @9 e3 T6 S& L4 z- t' U * ======== Operating System Configuration ========* l% n( r5 i0 Q' ?
*/
3 k3 F5 g; W3 P3 R9 t+ i
1 W, H' I9 l: l, m, P; z/* no rts heap */
/ k/ v9 S$ m, wProgram.heap = 0;* K8 r' b" `! O& `- w4 L$ j
Program.argSize = 100; /* minimum size */
8 v2 k" ]) ^6 ]- G7 }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 m" p1 ?) @5 |, O% G+ \
2 M/ P9 ~- {7 w: b
/* create a default heap */
6 x2 s3 h8 a5 A: g3 }var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ u5 G6 ^# ]4 X8 j! @9 @% ~; |% v5 wvar heapMemParams = new HeapMem.Params();" n% G; w# C8 P
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 }. i9 v2 H% e9 k8 ? a1 j2 Y2 ]! |% I! A( f
var Memory = xdc.useModule('xdc.runtime.Memory'); L# r: ?+ x" _2 t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! ]" ?; @' d# A7 O) S) T9 c m
% K1 P! t* y" [! q4 z9 A/* configure System module */
2 [) P% t) D3 k8 G4 A; ~4 k' a) Pvar SysMin = xdc.useModule('xdc.runtime.SysMin');
. L. A/ J l( oSysMin.bufSize = 0x1000;! J& c& [3 C* Q2 [3 r
SysMin.flushAtExit = false;
. U' M p& e# ]5 l% n K2 E1 Q- g0 q; o7 S+ P& Y" q% z% G
var System = xdc.useModule('xdc.runtime.System');
0 `0 R# v2 R9 SSystem.SupportProxy = SysMin;
% m% y! r1 M! o2 z, ?- |7 G: s t0 C1 K* A5 W, S0 e" S; T! P
/* configure SysBios to use the lower half of Timer 1 */
/ V3 o& u- a( Qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 P# v; g9 J! C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' y3 K) X- ^) n& h1 yTimer.timerSettings[1].master = true;
; |" J. |9 }# p. b: ]7 S' ^! WTimer.defaultHalf = Timer.Half_LOWER;8 X4 r9 v5 Y$ i; f3 I. u) y0 m+ y$ ~
Clock.timerId = 1;0 E8 g, ~/ M5 R) M/ T
! o/ b9 ]! v6 r! _. d7 _9 V- h7 ?# a& j5 x* I. o$ t
/*
0 J* ]# Z' Z- e# P * ======== Miscellaneous Configuration ========
! E) n, h" F2 r% z* I3 m# c& o */9 f, A1 e. j. f* y, K1 C6 \2 y
$ V7 m* g* n6 \ T# o" i, ^* ?# i3 s" y
/* set default diags mask */3 Z) W: p* e2 x: H
var Diags = xdc.useModule('xdc.runtime.Diags');4 b# E# h% ~, N$ j0 Z: `" R
var Defaults = xdc.useModule('xdc.runtime.Defaults');
5 A8 x1 F2 X/ p' `9 k. A$ \ t# S0 E5 Y
X+ D; |0 F9 e8 aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 \) C! s% B/ x, ~: h4 |' j0 I
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' ^ ^7 l [2 V8 |. _4 `
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& P9 b6 l. V3 o; I5 wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 n0 D8 P" z4 K5 X! `) ODefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- _. a/ b$ F& M* |% J
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;* l4 W# k7 N4 `: b6 A
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 ` ~! A* U* E( a! Z0 j
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ P, ~: n8 D6 ?" R& T3 F+ B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- T& |0 N7 `* u- J+ w$ `5 p0 y
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' j0 w8 H" s# [+ L( G* B
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
h/ E+ ^9 t+ `5 mDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF; J- G. w) L6 Y4 V/ V) }
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; o& Z, s+ }; X7 e! @6 z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ o, U1 G" y' D2 s2 h" Z$ C1 l
: ]. y O. x( s0 o) A7 |0 Q5 Y/* override diags mask for selected modules */
, n# o5 V/ }) uxdc.useModule('xdc.runtime.Main');
5 \- [- y5 c$ E N0 C5 KDiags.setMaskMeta() N1 M [# I3 N( h. o
"xdc.runtime.Main",
; u1 X1 V6 R+ v4 d( r# [, B' Z9 a* I# T; ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,7 W0 d2 N! I8 a9 g
Diags.RUNTIME_ON
! P# R- [/ P/ ~3 U. `% o' l1 f);
' C. p5 D1 w5 l) [& [' C* ~( |
$ j; W9 E+ _6 S: b! N6 I3 }var Registry = xdc.useModule('xdc.runtime.Registry');9 b) \) S* I) ^7 T2 O! x4 t% f& z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% A! ]5 R! w1 }' ~3 w2 Q6 a
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 x/ S+ h- Q) a" i- U1 }Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ G+ z+ v! D$ q' v) S; ?Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: Q i9 L7 C, l. d: M% k. k
$ [1 w C/ P( Y# b& d/* create a logger instance */! M# j1 b2 d5 H U$ x; T' p8 p$ _
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 G! U# b/ P: d
var loggerBufP = new LoggerBuf.Params();
" [1 E3 m* o, I) z$ U- Z" p9 |; lloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! B- q/ q6 q6 g( nloggerBufP.bufType = LoggerBuf.BufType_FIXED;2 N; i. {5 }' `" |0 U) J0 S
$ ?) I7 p( P0 A2 b
var appLogger = LoggerBuf.create(loggerBufP);
7 _+ w6 e, ]8 I! |3 AappLogger.instance.name = "AppLog_Core1";
6 E0 Z$ f3 H2 }0 v/ UDefaults.common$.logger = appLogger;* y1 W$ B7 _% J8 t- H4 X
Memory.defaultHeapSize = 0x8192; - N1 ~$ O3 G+ n, Y6 d
Idle.idleFxns[0] = "&LEDStatus";
. H7 @2 f9 k; P7 J$ `3 d, GCache.initSize.l2Size = Cache.L2Size_32K;7 G7 D1 [7 q* o/ r' K C
; g3 J" X! Y8 m- [' n- M# }
|
|