|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ s9 z6 e0 X4 m我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: u# k. i) q6 H, u9 A(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" x5 Z, ^1 `# u1 J2 a( ~# M
; w+ x, B7 d% r8 |是不是需要在DSP.CFG中进行配置9 C( ]+ k( T# e. G* o; V1 N
我现在的配置为
6 \2 s& h+ j6 z7 j$ W+ C& k. V- b& E" H6 A# m9 K
/*
7 ~3 k- m L1 K: o3 x * ======== Operating System Configuration ========" a3 P l# [8 d/ N# L5 R
*/" K$ k e" C& U D- \% }, K" D
3 H! E8 b& |2 v: y# ^/ T3 |/* no rts heap */
. P' E0 y2 z7 o' k$ B" nProgram.heap = 0;4 o& F( P9 X- v" u: f
Program.argSize = 100; /* minimum size */ T; _( S3 O9 t+ H, }
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! p* O' a* ^2 [6 \* U. M
' o- H9 s$ w: j" a1 q2 K% l/* create a default heap *// i- @' |. B7 L* p4 u
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); B% p& A c* Z* t# \' @2 H) {
var heapMemParams = new HeapMem.Params();
& e+ _4 X; }) PheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 ?5 i. S( f* }5 m) e+ r, G) N" [' \3 x4 a$ u
var Memory = xdc.useModule('xdc.runtime.Memory');
; A' P6 q* h+ ^5 a9 jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 \1 s0 p8 r6 \/ `, ]* k: g
! t$ q' @7 [- a1 P5 P/* configure System module */
8 ^- t9 u. c3 B! n4 N4 r; Dvar SysMin = xdc.useModule('xdc.runtime.SysMin');2 J2 a- W( P; Q4 z
SysMin.bufSize = 0x1000;! ]( Y3 ? Y5 R; u2 r" V" L' p
SysMin.flushAtExit = false;
$ k+ n# Q+ L; @6 s. u$ Q0 t# x+ _$ v+ i
var System = xdc.useModule('xdc.runtime.System');% d4 p# P4 C+ a( L
System.SupportProxy = SysMin;
: \$ k+ @3 V* {/ P9 W
9 w# O. v# l2 o+ g# H8 c5 b/* configure SysBios to use the lower half of Timer 1 */
$ w3 x/ Q: V4 lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ [, |4 g) ?( L
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" U1 U& d3 \$ u) H: J
Timer.timerSettings[1].master = true;" b8 D% O% [2 l, x2 @ f
Timer.defaultHalf = Timer.Half_LOWER;
7 U0 p5 f3 Y$ H2 b3 zClock.timerId = 1;8 B" r9 \ L2 I; N* J( x
' Q7 N( {' V7 I3 \
! b% ]6 n/ R, @* ?! X: W/*
& D/ q7 t+ P. }6 c! R * ======== Miscellaneous Configuration ========+ z1 v) |2 X+ G' r; c
*/* G. g- V/ a7 v2 [
/ J$ K" j) k( r3 ]* H7 g; r
/* set default diags mask */* u+ S: {8 W' K0 H' `: {
var Diags = xdc.useModule('xdc.runtime.Diags');
/ D- o! ~. n( [* tvar Defaults = xdc.useModule('xdc.runtime.Defaults');% i! {' t3 X: e/ M7 N% N: p% h
) c4 }5 t- {" v: |Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 O) b% { j; Y K1 P# sDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
* o0 ?4 O7 F, Y# f; N" ~) iDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 {: C& s) N G) h4 Q& |4 r# U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// B* ]* E8 G2 s Q+ ]+ V U* q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! r, r+ x X% f# A8 R- C9 x) F) d2 o4 i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 B" Y5 G/ ]1 `! d' G- @) Z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 ]+ j# r7 _, y) a$ Q4 {' TDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' S( g3 j+ a& NDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF; Q/ {' T9 P2 k# ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- ]% @1 J: T3 JDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
N0 e0 t- Q j( XDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* `, ^. w5 @& m5 G/ ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;: M2 o M" W( O
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;: e" | u/ Q. n
# [( P# d+ z' k! {7 c
/* override diags mask for selected modules */* T6 x) Z$ ?' \9 e/ f& h
xdc.useModule('xdc.runtime.Main');
7 S: W4 p1 m8 xDiags.setMaskMeta(# I) D3 a7 v+ l
"xdc.runtime.Main",
9 Y2 G" Z/ [# K' s2 @6 B8 s Diags.ENTRY | Diags.EXIT | Diags.INFO,4 _; ~* r" I; A' b8 J, g
Diags.RUNTIME_ON; A( k" u3 N/ Y+ K
);
" @5 {& @3 f. W) C2 I5 \, I
% H7 D; V" q2 k! F9 ^ [; j% [. xvar Registry = xdc.useModule('xdc.runtime.Registry'); b* P( o( @* ]) Y$ u8 @
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 y! m6 r# S& o% a/ }8 K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 ^( H! d) v1 J$ @& P9 E
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: i. v& E' l x0 O1 pRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 c, B7 ^/ e9 z9 t3 G; T& R3 y- a5 }) K* j8 r5 Q- M) `
/* create a logger instance */) l& A e. F) K1 I: {9 e
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ f6 p3 W9 k# ~% }0 d0 N* y$ Avar loggerBufP = new LoggerBuf.Params();% U7 f! n/ M: d3 }, C0 e# Q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: ?3 b, x6 [. K6 f
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 J) k+ S b$ _' j4 _2 N; w! c; X* R' N3 k7 j9 p- m- ~
var appLogger = LoggerBuf.create(loggerBufP);+ ?, ^8 @/ m% f4 _ S
appLogger.instance.name = "AppLog_Core1";. a7 A# L# _4 [% j
Defaults.common$.logger = appLogger;5 k' l. ^/ U8 j; Z% }
Memory.defaultHeapSize = 0x8192;
8 L- B. q! C3 uIdle.idleFxns[0] = "&LEDStatus";8 b8 Q' T8 W% M0 W. m! f4 W$ h0 _
Cache.initSize.l2Size = Cache.L2Size_32K;
" [8 U5 ?2 I0 A
9 `0 o- q9 A3 l1 Q' R |
|