|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ j) c, y7 n- {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 y- q1 l5 c2 {3 U(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ X; l7 c F8 l) x! L
, K; u7 v- ` B# v是不是需要在DSP.CFG中进行配置" {, [& H0 Y v' C, I
我现在的配置为. L9 K4 c9 g4 |5 q
1 G) M/ W- X. ]3 c2 M; J/*# `( l$ I2 ~% c! Y4 \2 e7 R
* ======== Operating System Configuration ========& v: g9 |( k5 m! P' T
*/
+ v6 b& K K! w, F# a7 E! I) C- v Q# s8 A) }; H! b# K8 y: ~
/* no rts heap */
: Z5 l* i% i, i3 ~Program.heap = 0;; e3 C/ H" F# e' s; B6 }
Program.argSize = 100; /* minimum size */
$ Y8 m. P" @! j1 L' @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大4 B: [3 r8 ~3 ^' N6 W/ X, I
# s2 Z, e! Z+ C) E/* create a default heap */0 s# s. b B: m3 f6 R
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); ~/ {* I% {. O- ?- I% c8 Z+ u5 c
var heapMemParams = new HeapMem.Params();4 C6 K+ K" x u
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' z. t7 F- t6 Z) ?* A
! _& Z' k( M! qvar Memory = xdc.useModule('xdc.runtime.Memory');
]" o6 u/ f" U- T4 q7 W1 }Memory.defaultHeapInstance = HeapMem.create(heapMemParams);, T) E7 q" Z) _: ^- z5 N
: y: K( ^2 t; g; b6 C: U V7 ?
/* configure System module */! M7 d1 k$ g, E2 b! W
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ e/ J9 m- K3 w% ?* i6 Y
SysMin.bufSize = 0x1000;
+ [ J7 z6 R5 \ z( X# H- B E0 mSysMin.flushAtExit = false;. z& |, R0 N; R% Z/ t6 H% C R$ ?
! d4 r1 t( [2 R! L4 W- _+ Y% B" a
var System = xdc.useModule('xdc.runtime.System');+ k. W& I9 ^' H) R8 \& a
System.SupportProxy = SysMin;
2 f- O0 U, S! I/ ^, K' E& R, S& }# Z: G& c9 w1 P5 U( Y- @
/* configure SysBios to use the lower half of Timer 1 */
8 o0 h& m9 X. P: C* ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. ~# n; l) r+ Vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 d. m r, T0 ^+ _' M' gTimer.timerSettings[1].master = true;
" E) f0 ?- R! C: DTimer.defaultHalf = Timer.Half_LOWER;
: |9 f5 h+ X/ \: zClock.timerId = 1;
$ |! S9 _3 h L9 g% D+ I' v1 E* J
& L1 _& e9 d1 h/*, }3 w2 s" a+ K
* ======== Miscellaneous Configuration ========
& m" k5 t8 c3 L4 f9 g" J */
9 Q& H* H" q% q" N
" l4 q4 G: O- q2 X( C$ y/* set default diags mask */0 ?& f) r+ h/ z
var Diags = xdc.useModule('xdc.runtime.Diags');1 Z8 }9 h# l7 c4 S( r" n3 g
var Defaults = xdc.useModule('xdc.runtime.Defaults');
. ]+ a. l8 b$ C: g; v6 Q
3 z/ d' M0 {/ m- b: I9 sDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ t1 l* u$ j. U3 f8 n6 a9 o' jDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 [# J3 C; U2 _* `8 v8 xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 q9 \, f s$ n" O
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
, E* g% O8 U7 ZDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 ?+ Z3 s3 {2 B2 J$ \" FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 G& b. _' q" j, |5 `+ D( q/ g3 w
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; t1 c p, H4 q2 sDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 { B* V6 g0 yDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 F: j; c1 @# `: U
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
f: ^7 G' D3 XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 W( U4 p( {3 y2 N# T1 r
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 I, C) c" A2 \2 g4 _
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* S+ Q$ \2 f* Q0 u4 x# Q$ h" Q, s, HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 q2 `$ y6 S( Y. A7 A7 j' |8 y# n) w7 g. u
/* override diags mask for selected modules */1 `4 v" e0 q. k; Z# G
xdc.useModule('xdc.runtime.Main');
3 H9 A* n/ `1 Q UDiags.setMaskMeta(* A1 P# W2 a7 y9 ?4 ]3 V, a. m
"xdc.runtime.Main",1 |3 d8 }* r$ o) E+ `1 Z. |
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 u+ K/ i l8 q2 I$ v( E Diags.RUNTIME_ON
$ U( b8 s6 G1 e Y: U: r);
8 y8 [ {/ `. E: o) d6 N. b4 m' l; _ w, b. q
var Registry = xdc.useModule('xdc.runtime.Registry');
# j- q& ^0 s! WRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
d+ A! \3 g) F: s* WRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;) k; f; a) v* _3 N4 t. w
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
! z$ N& T! N3 C- I$ c0 o7 [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 d7 f* g; [. I2 ]( J% W: N- b1 H" o R5 H, G
/* create a logger instance */ i* M1 v' `% l: K3 c6 G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: p7 m$ n7 }% r- N% o/ S2 p; q
var loggerBufP = new LoggerBuf.Params();9 y6 c# ~& X5 A8 N8 N
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% n+ {' V/ q2 |1 S1 Q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;0 r: U6 n) e4 T8 A- X" [1 _
0 [7 b+ d6 K% ~
var appLogger = LoggerBuf.create(loggerBufP);$ n' S. r8 W: r; t
appLogger.instance.name = "AppLog_Core1";4 X$ A& x+ ]& k
Defaults.common$.logger = appLogger;1 J# K' o, {0 n4 J( |/ T) T
Memory.defaultHeapSize = 0x8192; 9 ^- n( I: F4 w; x
Idle.idleFxns[0] = "&LEDStatus";
# ?' S s8 I p, RCache.initSize.l2Size = Cache.L2Size_32K;2 m2 U. D6 G3 G- J1 H) L# _- _( ^1 \
1 u8 s2 h8 J+ Q5 b0 o* a
|
|