|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& Y, _& S& q0 b' E我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下3 r% K. T3 z; f3 o6 F
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 g1 w3 w V- D b' Y# a
5 L! ]; w/ @& t# p9 Z* h. Q9 g' q是不是需要在DSP.CFG中进行配置
M. V% g+ ^6 r! j- R, M我现在的配置为9 d& j$ m0 U0 q. P/ t4 g
+ j, H4 Y7 s& z- N' K$ D6 N/*
; F# e. i" e: @# y/ V% t * ======== Operating System Configuration ========
. g) _5 V/ t) U */# {' |" I, Z- Y6 Z
9 ~1 U. D8 Q; v
/* no rts heap */2 K ?* P1 T0 v& t
Program.heap = 0;# ]/ v9 _. B( d8 i2 ^" n6 s: c
Program.argSize = 100; /* minimum size */2 i4 @, F5 j/ s4 |2 I5 B, k* s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; c2 U( ^- N" X4 r3 [$ A& ~# Q4 L8 L
/* create a default heap */
/ e9 Z1 K# j% C% b# rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 j A- k' B% a/ }, ^/ ]' xvar heapMemParams = new HeapMem.Params();
2 k1 |0 r4 l1 x% Z0 NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 o) c- b) y! n9 W
& q8 z: f, C6 R" \; @" G% Rvar Memory = xdc.useModule('xdc.runtime.Memory');7 C3 J D: j9 ?+ }5 I; v; B
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); [' `) v' c' v7 P' R! B, U
& z' x. ^( x' i) X% ]: h) Z
/* configure System module */
. A; M+ c; f; d }, `9 ^var SysMin = xdc.useModule('xdc.runtime.SysMin');
7 q& ]2 r. D5 m: K$ b+ x c: tSysMin.bufSize = 0x1000;
" H% C! g8 m2 [! CSysMin.flushAtExit = false;& C1 P+ d$ s. y, ?4 }$ g
h. B3 k( }1 c( B! E5 P' L
var System = xdc.useModule('xdc.runtime.System');7 |) A7 E) X" f! y* \
System.SupportProxy = SysMin;" ^% B# w$ I8 [ g
8 e/ `- T# J9 w& i; T, u4 |/* configure SysBios to use the lower half of Timer 1 */" v/ ~5 R4 t* Z* q/ n/ M% i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 p. S+ G+ N8 Q3 v9 _/ C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');; f) L4 T# M8 b; C$ {. j. s
Timer.timerSettings[1].master = true;, F! {' \, C! ?) Q! W5 y R) V
Timer.defaultHalf = Timer.Half_LOWER;9 L! P- j0 H, i( `9 `
Clock.timerId = 1;# E& r! M* i8 e7 y5 q
6 O+ e# n- S3 q0 x4 G
9 H% [$ t+ P! _9 U/*2 _5 f/ l0 u/ H/ R
* ======== Miscellaneous Configuration ========
9 h; L1 P) Y) d& ^! T */
6 C6 _! `' }( o$ I) N0 j" W: p" S. p- z. Q$ }" N- Z- S
/* set default diags mask */
! e4 l3 H) s9 t/ Evar Diags = xdc.useModule('xdc.runtime.Diags');3 N) p P; H0 d: T4 C
var Defaults = xdc.useModule('xdc.runtime.Defaults');
E8 |7 W# ?& b' J8 G# i, W( ?5 T% c1 k& m L, m8 r5 M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; R! }# f) s1 q0 J6 n( g8 }( H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 |' L7 P' v) E' l2 x- {8 ~Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
j- r1 ?6 t) p: i+ w7 a4 s$ MDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 z9 H- t; \7 X3 W; RDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" P- u4 G/ Q; q, ^7 yDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ ]) a% }) f5 C7 `1 a- {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 o4 u5 o2 Y9 i7 I/ e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 ]; e) P. ?7 J E( R9 d: P& U/ ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 L- \* M5 p9 SDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( a6 Q5 [9 S2 b5 ~, D; O2 V7 yDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 a0 F& r3 z7 D
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 ^& A$ n/ O8 H, X/ \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 x: h8 ?& T8 f0 q. e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) @. B: |% {' h" S: q
% ^6 L! l8 J" o7 S# O/* override diags mask for selected modules */
. q2 _! A/ M6 pxdc.useModule('xdc.runtime.Main');
4 Y. _1 \" U7 ?3 @! L1 TDiags.setMaskMeta(. x8 }6 x: T) ^) z% W2 ^
"xdc.runtime.Main",
" a. c8 d/ N: A8 W1 [! ^# S Diags.ENTRY | Diags.EXIT | Diags.INFO,
" E' R5 `* I1 Z' p4 }0 @0 o! q Diags.RUNTIME_ON1 G& y D* N1 d+ o) {8 W2 i2 A2 N
);& t, u/ w0 y/ o% c4 r
) `4 `8 N& M9 ^7 P7 l6 ivar Registry = xdc.useModule('xdc.runtime.Registry');
: t+ J0 Z6 F4 s3 ]" a" MRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 I& R/ D" L4 {8 Y& V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 I1 f# ^. l$ t" @2 O5 |+ R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;" k: n$ ?( ~4 z5 U# P
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;; w, O/ g% i9 W/ N# i
" u4 `- B5 h; o: h/* create a logger instance */0 |7 L$ D0 `/ _- C
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- Y: O: v6 F. P' t
var loggerBufP = new LoggerBuf.Params();+ e6 b# ^/ ?' g0 D0 j" m; u( I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# o2 w$ [5 U0 L1 F, T X- NloggerBufP.bufType = LoggerBuf.BufType_FIXED;
r8 C; P: q7 u- k
) l" F1 s. T2 Y' Ivar appLogger = LoggerBuf.create(loggerBufP);
: i! T8 F4 e' ]- OappLogger.instance.name = "AppLog_Core1";" a ^4 R+ x3 h" _& _: h
Defaults.common$.logger = appLogger;
: t# @6 q; m2 S1 g# @* Z$ iMemory.defaultHeapSize = 0x8192; - P' f% B1 ?7 p: C2 }9 ]! G. c! l
Idle.idleFxns[0] = "&LEDStatus";" D4 _( k: H5 C9 e2 h; x9 ?
Cache.initSize.l2Size = Cache.L2Size_32K;
# l, a3 s0 C2 g( X7 v B% U. q" O4 Y6 Z J" [
|
|