|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: L; u$ G5 c* e9 J. r9 ]我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 p" z5 U) @. E# g5 B6 D
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 _9 d w+ c! ^1 ?, u0 T
) C; ?' j# w8 n6 V& }9 H是不是需要在DSP.CFG中进行配置
! C: P! Z3 {. Z6 _9 K; L* Z( K我现在的配置为% V/ O; N" ]6 P4 l
3 J9 Q6 {/ q C8 J4 p( R/*
0 r8 C; z; i* l- P1 r6 p/ A * ======== Operating System Configuration ========5 U, p. J" E0 }% l( j
*/1 w% y- i; o6 M& ?# e3 _3 Z
; j" O" H/ E% ?' Q/* no rts heap */0 A1 N* Q8 h- Z; P3 R8 }. C
Program.heap = 0;' A4 p# p& c- M0 E9 W! n: J
Program.argSize = 100; /* minimum size */$ M0 L- e h4 _- I- J3 s3 [, S$ T* ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: U. |! R9 O$ C2 K# `
6 [# v2 f/ u* s, Z3 G/* create a default heap */: V5 r2 u4 v. h. A
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( u$ v! @' s" A1 K; n- o% H1 I. ~" l4 avar heapMemParams = new HeapMem.Params();& d, h+ ^7 v+ q2 p; q8 Z
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" M( F( w7 U6 j
) M, t( g$ m6 Y: j4 g" Yvar Memory = xdc.useModule('xdc.runtime.Memory');
% c& k( T+ z5 E+ F4 U3 @Memory.defaultHeapInstance = HeapMem.create(heapMemParams);7 u( Z: Z) g2 K9 h' k
2 ?! u l/ n6 M- G- g; R D5 C) D/* configure System module */
4 S7 P6 g! w, ^* i, _var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ Q) t" \, M7 s6 _3 J6 ^SysMin.bufSize = 0x1000;
% S4 W8 i3 S, P5 WSysMin.flushAtExit = false;2 d; z8 i' |( H$ e" m' \
7 C% ^; B% @1 R% p6 g/ Evar System = xdc.useModule('xdc.runtime.System');
2 Y' f& m9 ]. K) e. A8 XSystem.SupportProxy = SysMin; j* O \9 S; ]2 D: t
- n+ r! ?# l. V4 e
/* configure SysBios to use the lower half of Timer 1 */
# q' g2 @% r* W/ z* }/ Q ^/ Hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 g) \3 R M6 r( N
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ Q- I, U! t/ W6 @* J9 {Timer.timerSettings[1].master = true;
. S* x ?$ W, e, H6 @2 aTimer.defaultHalf = Timer.Half_LOWER;
% i- ]* A6 o" A$ }# g9 Q) F7 S" G: AClock.timerId = 1;- y" H/ B& [$ n+ l$ G: K2 p7 Q
& v$ h1 L, W0 S$ y* t9 x. F
* g: w; j" M- P. Y; V/ h/*
\$ v2 D: h% a+ t * ======== Miscellaneous Configuration ========4 ^" s* x( l) z4 D5 l8 A
*/
+ u Z# o( @! O- J$ q, q0 U+ v2 h, Q
/* set default diags mask */
" n: d. ]$ z" c4 b; vvar Diags = xdc.useModule('xdc.runtime.Diags');
7 R6 ~- j% k/ d8 }1 v1 Tvar Defaults = xdc.useModule('xdc.runtime.Defaults');
, y4 O# [# W+ ?8 n1 ~
/ \& d& E9 |) c' C7 ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% t6 \& P7 l: ~; u& i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 h+ o: {6 ~8 Z" n3 q3 x8 b. YDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* q6 C: u$ w, {9 i5 o: j: LDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 X1 g5 Q8 A! \# }+ MDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */" y+ ]$ P0 F# q n7 J$ v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; s% Y/ F# E) e$ R& E! v
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, Y: \: \0 U! Y2 F5 DDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ ]) ]5 Q0 R- g" g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;1 U: V: a- z. S4 y; K% \ p
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
! w! W3 g! A7 H. RDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 q. ~ ?( c" A1 w; g/ ?
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 E, h5 y( p+ ~0 g0 \3 ^
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; G5 ^4 \1 ^$ W) q* A9 G9 X' Z3 g
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;/ @% d! ^/ [ \3 v8 I, W
. z* D7 r3 n5 U, n2 m+ s/* override diags mask for selected modules */
5 j) }2 H7 t- p- N6 mxdc.useModule('xdc.runtime.Main');4 p% d* r3 q; ?8 R- N, j% L
Diags.setMaskMeta() z: K' y# v/ A' N" W- O8 [( C3 X
"xdc.runtime.Main",) M: X5 ~; B4 u% ]; m
Diags.ENTRY | Diags.EXIT | Diags.INFO,9 r( I4 l1 R3 e8 O1 D) g3 Q& z$ C
Diags.RUNTIME_ON
/ s# C0 K$ }/ H! x* O5 E/ z7 ?, m);$ _ h3 L" A9 X: z+ k! E
) y7 n" [+ ~- N8 Q5 v
var Registry = xdc.useModule('xdc.runtime.Registry');
+ y' {: P7 o; SRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 v% b7 z& G8 ?; fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) H' b% n; P: w% H2 q0 x Y9 X w7 IRegistry.common$.diags_INFO = Diags.RUNTIME_OFF; u N4 ~2 O* `, f9 M
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 |- J K0 k9 f6 k5 k" O
. u, e# a8 e( l2 g& g/* create a logger instance */. ^+ @3 X7 U$ Z Y) d4 k/ Q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. P0 h7 Z; g7 Y( r; B1 c* j* t- svar loggerBufP = new LoggerBuf.Params();
. p4 p* `; ]5 WloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 r4 E R% k# M% X, _loggerBufP.bufType = LoggerBuf.BufType_FIXED;$ D; w- t! ?3 M1 n2 H
. C9 g/ G9 E8 S
var appLogger = LoggerBuf.create(loggerBufP);
) O5 ?* R' S# A! RappLogger.instance.name = "AppLog_Core1";
5 X T- a7 X: `Defaults.common$.logger = appLogger;2 ?2 Y: Z) n- `" T {( T0 @
Memory.defaultHeapSize = 0x8192;
9 h3 q. n% g4 u8 z; Y; i% I- HIdle.idleFxns[0] = "&LEDStatus";4 g1 H$ @* ?( Z* l3 e) b& B
Cache.initSize.l2Size = Cache.L2Size_32K;
# E/ V; ^' N! Z; n& q+ R- A; p+ H: e. u; M B2 l
|
|