|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- \; L: ]/ D. c) j! z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ y3 p4 C) ~9 o* t9 b7 d
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
0 N: s1 w7 m7 ~0 X5 S
a! l2 J8 p" s' y8 u* o3 h是不是需要在DSP.CFG中进行配置/ w4 ~ O6 T$ Y& z/ \
我现在的配置为 A' d4 u4 {1 d G# p* c1 L+ f+ Y
" m3 y) G) [+ \5 |- {/ S2 b/*
5 u* M2 {0 F6 U$ R * ======== Operating System Configuration ========% m1 C( k4 q% n7 N7 E
*/9 |/ ~, x) }- f
8 H0 c" j& s% { l" Q% k) Q/* no rts heap */2 ^3 z. i2 u2 ]7 O) R
Program.heap = 0;
6 }% W9 |4 ~! s ~' Y" vProgram.argSize = 100; /* minimum size */
- m" p$ n, w) k8 S3 S' T/ n c9 s eProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, M O3 `, w( K& K& s) @. r( g2 o8 w$ B0 M1 E. b) ^* x9 R5 e
/* create a default heap */* H. ^+ X9 f1 z. f. p6 E
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 Z+ W+ }' ?% r$ w( k' Q9 M/ vvar heapMemParams = new HeapMem.Params();
. D0 ~. ?. W6 |+ j9 Y+ x( ]- HheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, Y1 ~5 c {5 K# N" w% D# U5 n/ }" z
( e- i- Z( L" R: m; W9 C6 v
var Memory = xdc.useModule('xdc.runtime.Memory');( T1 F3 y4 o2 F% L( m. h) P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ f, r5 {* v3 M' e
) q7 l! m' b4 i$ f- O7 P
/* configure System module */1 b0 q5 q( H' X m4 I
var SysMin = xdc.useModule('xdc.runtime.SysMin');0 `6 x4 E; G5 y, \. {5 s. C
SysMin.bufSize = 0x1000;; X0 }1 D: G$ X
SysMin.flushAtExit = false;
3 [ r1 a# E7 E+ C( q% E* o
; o- u/ g1 B" t* _* k/ |- P- o0 Pvar System = xdc.useModule('xdc.runtime.System');- y0 `- k4 M+ N" P# q
System.SupportProxy = SysMin;
( A; S$ ^9 F. @; ?9 Y+ \& d. \/ G; w5 I) m6 g* p5 V9 R- h0 a
/* configure SysBios to use the lower half of Timer 1 */) I' a/ i0 l# J, Z" k5 n
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' c: U! M7 J. b1 H0 [
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! M7 G4 j* l- s5 K3 n7 vTimer.timerSettings[1].master = true;( ^' ?- ?- G3 `! _: r8 f. X* s9 p9 P7 W
Timer.defaultHalf = Timer.Half_LOWER;
: p! m; s& s. c; z! CClock.timerId = 1;6 Q& R, s! }& J W
- @! i$ F& } |! u
$ z2 K0 [! s' K6 {* B5 ]
/*
+ B9 x% e# Q1 j, Y * ======== Miscellaneous Configuration ========. Q: P7 F7 S& k$ n2 z' ~' u) g2 o: L
*/
: D! Q1 |' A6 j! F! W d, p3 z, g! J i" W- g
/* set default diags mask */' v, R5 h+ {! z0 |. g
var Diags = xdc.useModule('xdc.runtime.Diags');
4 d) }* T/ o8 Y3 Y' O: X5 E& rvar Defaults = xdc.useModule('xdc.runtime.Defaults');
) [1 m) f9 u/ u
c3 n/ X, [2 N0 q4 a8 v) HDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' n% ?3 X3 Y9 B$ S
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 s9 A1 n. }) w" L; tDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" M5 y7 Y3 |6 V' A# F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 R! ^7 }" f% I6 n5 W
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' a2 d2 F# |, H1 `. G# d3 IDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;! r" U9 K6 Q- m
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 {# [4 K) Y* J: }0 b+ I
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 x9 i3 ?( d( E: V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 M( Y6 N0 o ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& K3 Y* Z, @9 z# Y, F- X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 }/ C6 L) e. l6 W* I* ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; J' D: [; V8 @% w& V0 qDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 q9 j, Z( }( @+ F0 o5 g5 I
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; ?2 u+ ]7 a; I4 }% R) l( d. Y! w8 O$ v# z3 I3 {
/* override diags mask for selected modules */
/ y1 C& [9 M* E/ Y! r" mxdc.useModule('xdc.runtime.Main');
' F: N0 F4 k- b& r0 `Diags.setMaskMeta(- p# a) N# I% i* x5 P& u" E
"xdc.runtime.Main",
& d: _) H% U$ a5 g4 z# Z! y4 G Diags.ENTRY | Diags.EXIT | Diags.INFO,& b3 T% ]& ~& @- @
Diags.RUNTIME_ON
( J! M) H/ w1 @5 }$ s" g- @& H);
) q7 I: @* g2 V( G, p7 w- D8 L4 W" u1 W
var Registry = xdc.useModule('xdc.runtime.Registry');
/ @6 w. I4 |, D# aRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( \3 K/ a! {! p4 z3 cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
d0 j3 `% h5 P8 W* pRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;" v: o! w W `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 d* J0 b0 l' m+ n/ U3 C
' r9 `! S& M3 K' z/* create a logger instance */
. y2 Y4 ^: _# E2 I, ~5 Kvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: y0 b4 f6 S" T% n; rvar loggerBufP = new LoggerBuf.Params();& `$ s ~4 x7 a2 T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: s: b. u0 |6 [ b7 ploggerBufP.bufType = LoggerBuf.BufType_FIXED;' d1 `8 \, E/ R6 Y; ~* E# b) Q
) d2 B$ V* w1 u5 `1 h! H; L
var appLogger = LoggerBuf.create(loggerBufP);
5 k9 y. s, W0 z* xappLogger.instance.name = "AppLog_Core1";7 J' F1 m, K+ |/ J5 P
Defaults.common$.logger = appLogger;
: N: P- s5 C0 R* {3 D% pMemory.defaultHeapSize = 0x8192; 4 G1 H3 l8 i Y8 s4 [; D2 a
Idle.idleFxns[0] = "&LEDStatus";& N. Q( D( B4 p k8 t- N
Cache.initSize.l2Size = Cache.L2Size_32K;7 J; C# }; b$ D+ Z0 T
/ V# u. [1 J: }" B U5 J! u5 p |
|