|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* k) T* v# D/ p, A: H7 h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* b' z& l4 M% _6 R5 e9 o(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# [ S. ~* h9 R8 X5 L
, p" p l8 O2 D7 \$ V% ]. D
是不是需要在DSP.CFG中进行配置) ^( }' t* j" |6 C0 Q
我现在的配置为" G% I% m+ ]- K* m
, {' P/ t' E1 h& y4 M. i |/*
. l* k7 ^6 w0 D# I. A1 x * ======== Operating System Configuration ========
! _2 i' c3 W9 G: m! | */
1 D2 |. b, E/ ^) q" g K4 p: m
1 G6 p6 V9 P5 q7 v) [0 v- J/* no rts heap */
* w5 S+ m* _3 c7 C2 z3 K/ U8 k: KProgram.heap = 0; `9 m! N! b4 N6 u% Z. A$ x8 w
Program.argSize = 100; /* minimum size */
' F4 W& U# {8 `- r# b5 sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. W) t1 t4 `; a- Z3 C4 `1 R
- U2 r! r3 C$ a* J. ~/* create a default heap */: h% D' W) }1 O3 j9 Q( I+ G
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* s3 d5 N3 [7 B# h* |) m) u0 f
var heapMemParams = new HeapMem.Params();- n% }3 ?: ]# x
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, G/ { w" g3 b. a1 X. U
* c! x* z& S \. ?9 ]& U) {/ Bvar Memory = xdc.useModule('xdc.runtime.Memory');
# f& q' O" w- ~; V7 h D- B7 VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);' e2 L( K8 J- ]1 c
# @3 E3 c0 i# m3 Z/ y
/* configure System module */' I" Y9 H" K, S1 l
var SysMin = xdc.useModule('xdc.runtime.SysMin');' o2 F2 S% k1 A1 t8 v6 C+ [
SysMin.bufSize = 0x1000;
5 J+ p+ I( t, f" j3 e, I" c. zSysMin.flushAtExit = false;1 `1 {. z, O( J' v, ?
3 K; M3 G. g+ Q* Fvar System = xdc.useModule('xdc.runtime.System');
3 \9 w8 N! {! VSystem.SupportProxy = SysMin;8 Z2 V- g4 s) k8 K" X! Z
3 G6 p9 g2 |6 I4 u( J( y/* configure SysBios to use the lower half of Timer 1 */
: X8 u4 b0 f1 bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' i1 r9 n5 p! y. a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 `2 p' e* N3 yTimer.timerSettings[1].master = true;, ~+ r0 ?$ C0 p% g
Timer.defaultHalf = Timer.Half_LOWER;
8 L* f, c; Z" z& }* T1 BClock.timerId = 1;
& j7 W/ ]$ x' s C- U' Y6 [$ u- _! y* U# M, \4 L. W A
# c* r! [$ ]- _' _ B) P) M/*
- ~/ J) `/ f0 g' U* b * ======== Miscellaneous Configuration ========7 x9 T! P% z7 m$ Q3 h
*/5 s8 E4 ~3 Q/ k9 U% M* w
: a' d8 Y0 H; r& I+ G/ I/ i" f
/* set default diags mask */. C; l( y" F9 e8 H* H: ~- A$ j
var Diags = xdc.useModule('xdc.runtime.Diags');
" z8 X" q$ R( H2 {var Defaults = xdc.useModule('xdc.runtime.Defaults');. r/ j* I; l3 D% t8 Z
$ @; F% w4 s" a$ K& [Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- B% `" z8 k% Q/ p# J& Z& ~Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 e2 Q& X) R! k5 d5 J- hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; H; e7 F# N/ X9 t' v. k- R; V5 b
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 Y% V$ b; j" ^9 s4 t/ o
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ w. G2 R6 x i, HDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! J1 a, V6 |/ N% V: K; j( F6 nDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& e. v% H: J0 _' kDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ k2 @# ?% c; Y% p2 q q0 jDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
# b" w, r. n$ e, X. E. @Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. y& H+ w0 ` G. g& k+ O9 T- ODefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 j) @0 J, ^% U, ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 |" P7 K1 L" e& A# x3 v1 J4 {Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& y) V H9 T4 P9 K5 Q) ^Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* ]6 e: B. ]# W' ^# Z; M
* s. x2 P8 C: X3 z; K6 t# v+ H
/* override diags mask for selected modules */
$ b9 _: R5 X9 j$ o% V2 ixdc.useModule('xdc.runtime.Main');
+ a2 c, B- C% g" Y7 f- {Diags.setMaskMeta(4 u2 ]+ V* y! I3 Z
"xdc.runtime.Main",. m! q }) H: i" G+ \, d+ k0 Z4 C
Diags.ENTRY | Diags.EXIT | Diags.INFO,
, j* J8 r* ~) }8 Y" F Diags.RUNTIME_ON# s2 r$ e7 \$ e8 Y& Q, F& [
);) [4 m, Q, p7 m! j4 }
5 y4 T6 J" U! V" X" S$ ?' p7 N
var Registry = xdc.useModule('xdc.runtime.Registry');0 [" y2 f/ a+ x }: K* o
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! a9 M; o0 l" i! B1 z) {% JRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# y" r8 D* O' y& n l5 G
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 \$ h- ~8 i2 Q# u5 nRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 }2 B/ u @. S2 P4 h8 i* u
4 ~5 M' }# g) c/* create a logger instance */
! {' n7 H+ c4 I' v* d% ^var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) K6 G9 U0 h0 |* D# Q
var loggerBufP = new LoggerBuf.Params();7 i+ n. {! C. T6 ?$ d2 |" |" m' q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* q5 |2 P: ^! W' o9 |8 Q7 L
loggerBufP.bufType = LoggerBuf.BufType_FIXED;; m: N& k1 {1 w; ?
( h! b- [ c, Z1 l: Uvar appLogger = LoggerBuf.create(loggerBufP);8 d1 j- e5 q$ p0 r& G
appLogger.instance.name = "AppLog_Core1";: d" K+ `! |% {9 f% k2 D
Defaults.common$.logger = appLogger;- A4 ?8 K, h1 l% w8 K2 P
Memory.defaultHeapSize = 0x8192; ; @0 J8 X' Q& H+ \( t3 q
Idle.idleFxns[0] = "&LEDStatus";+ L" S/ a1 E3 u4 Y3 n
Cache.initSize.l2Size = Cache.L2Size_32K;
* u* }- \9 E4 T% q) Y* D7 l" x2 b" R- U s
|
|