|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 e+ U( m4 ?; w' J0 F. `. ]: h# L我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: ?% O6 S) |/ W* n(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( b w; l, u5 K
$ t/ V! d9 T0 t* ?2 ?& ?是不是需要在DSP.CFG中进行配置
6 H2 \) q$ m0 j7 z0 v# L- e我现在的配置为5 `* Y+ }% w" C- P0 h% H
4 Y3 ]$ T/ y' ^' }* b' D
/*
3 o6 T! e5 m/ O' w' ?5 }2 g% { * ======== Operating System Configuration ========
' |5 z) Q5 a$ i+ f# h- I */
$ T- v2 R# R! k+ S6 w9 e# b( ?4 N, d6 N
/* no rts heap */
; Z2 d/ k, s: o) |& PProgram.heap = 0;
L" r- h! h) ?4 s& e A4 l# GProgram.argSize = 100; /* minimum size */- q+ o9 b: u7 X7 T% Y" R
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 Y# @% ~- l& }0 }; Z$ t. |
: w; x: x) i9 L$ G7 \/* create a default heap */
( S& b1 s& K$ J; h1 Z0 w! S4 r3 t# svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ G) T; r! y4 _. s5 J& M
var heapMemParams = new HeapMem.Params();
2 q3 q0 B0 L9 k& ?" fheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% b0 j9 ?3 [2 B/ P& |6 K. z
]' j& H; ~: {; D! j4 zvar Memory = xdc.useModule('xdc.runtime.Memory');% t2 y/ `* s# q- {6 K6 N& ?9 c
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);% x- o9 O+ [. S$ o0 @% \- ]
& [" A9 D- x2 x+ v/* configure System module */# P) l- C A3 B2 c' X4 y
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ U1 B' W9 y1 }, c+ M/ A8 C2 kSysMin.bufSize = 0x1000;
9 L3 D& }5 t( tSysMin.flushAtExit = false;
7 P6 G$ m/ `* f" M r' ~# |* S
/ M) |$ n8 z( M4 x" j6 Zvar System = xdc.useModule('xdc.runtime.System');
7 s$ e x6 O* S$ dSystem.SupportProxy = SysMin;
) e" K) Y1 e3 m2 F2 s9 Y2 `- }, q3 g
/* configure SysBios to use the lower half of Timer 1 */% r, U# s8 t8 V6 X7 }- O
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' M. h, |# d; M1 L9 z) m) X @3 d& xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 H. Z1 o" R- ^- b" m+ mTimer.timerSettings[1].master = true;2 V8 _' D7 t/ }6 w H
Timer.defaultHalf = Timer.Half_LOWER;2 a; W u/ G( B* W
Clock.timerId = 1;( m; D' u* G, n5 W
2 s, C& O- s1 X \
( _4 \5 M6 R# R/ M/ R5 O/*
0 i7 N7 b! y0 |+ ?1 F/ m$ y* b * ======== Miscellaneous Configuration ========
& _) p, @- \6 l) b% x *// _) R6 ?; ^9 B% ]: m
' x M. F8 e- I- X9 c# h; \/* set default diags mask */
8 W8 z9 Q& G* I& Y6 a; R, k- m a' Zvar Diags = xdc.useModule('xdc.runtime.Diags');, y6 Z1 D: |! P1 h6 m: {
var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 N; L& o" P3 S8 h
9 n; f9 }# N! C. j9 S8 {* ?5 E9 ADefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 H D7 d& @, Z% W5 A" s
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 c# l- I$ m! B) P4 ~. V, F# z) ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- H) D$ B: ]1 S/ o( }( K( RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 U9 L2 I2 n( r/ L! G! [+ n; i3 oDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ `: J* p) w/ i. p7 x
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: X, p$ i/ E7 e) b) rDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;/ G- L, y5 C+ f+ z: U
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 V2 R! }; G9 TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 R8 T$ E3 y8 w0 u
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ r6 _& d4 l4 @
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 M2 }+ e% L3 z$ ]
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 y8 h& y- e0 V V1 S3 ]' Y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 g I* a8 B9 J% V6 C
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 P" M5 O9 N. `1 U* c+ W6 @" h. C! y: T
/* override diags mask for selected modules */
; c% w8 M h2 F3 N$ _8 M: ^- Rxdc.useModule('xdc.runtime.Main');
* A! ^2 @0 [; Q3 w/ q5 ^5 y7 S' }Diags.setMaskMeta(' \; x& a% i ] b/ X$ C8 I( q
"xdc.runtime.Main",
0 w% o# W5 {9 J, Q" q Diags.ENTRY | Diags.EXIT | Diags.INFO,
: h- ~% I+ {9 r V0 h- | Diags.RUNTIME_ON
" W! b+ q" q7 h5 m0 q);
. v* l6 W4 H. D B/ \: S" v! ~7 ]+ [4 J
var Registry = xdc.useModule('xdc.runtime.Registry');6 M7 a" f B- _0 K/ G8 e; v0 r
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 U9 Z: o% A* Y5 ?
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 J( O. v! E0 B- |) B ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;4 s% R6 ?6 F5 X& `* \4 Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 S& c, D/ T D
: E' p( k' ]; B0 S5 D; s2 i3 ~/* create a logger instance */
+ ^" N+ ^ [1 u7 [: L- P. L6 yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 |4 E- _2 H N" t) N1 gvar loggerBufP = new LoggerBuf.Params();
# k) a/ E; e! I4 hloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 E% q, a3 B, z1 v C$ o, FloggerBufP.bufType = LoggerBuf.BufType_FIXED;3 Y% x, p% o) a7 t& E
5 P* z3 V' S& ]9 v9 z V
var appLogger = LoggerBuf.create(loggerBufP);" H' \. | H4 M
appLogger.instance.name = "AppLog_Core1";1 u! p0 F' |" e% s
Defaults.common$.logger = appLogger;1 Y, E- O; q1 h8 Y
Memory.defaultHeapSize = 0x8192;
% M1 \: E' x- ^: U3 D NIdle.idleFxns[0] = "&LEDStatus";
/ J# o- r3 o o* Z+ N5 H+ ]Cache.initSize.l2Size = Cache.L2Size_32K;1 j( h/ S l. [/ t/ O4 X9 n5 ]
3 `/ @3 b1 w/ W e5 U6 L |
|