|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# P5 g" {. ^+ Z+ O我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 g8 r$ A7 p2 }(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 V; v5 Q) w0 L
q6 C9 v- |" D7 V6 l/ w" M
是不是需要在DSP.CFG中进行配置7 E; Y; `2 Y: V- ^8 K2 Q
我现在的配置为. z4 b% P( c$ }' x7 F
/ i2 p& _) w+ ?; B q$ u- x0 }/*
- U! C; `6 W2 _6 S; L/ l0 ]$ c' V/ B * ======== Operating System Configuration ========6 Z" h3 w* v$ j# P
*/* y3 q/ C; P; S9 K
. p" S9 @! ^/ f$ m# M7 C P
/* no rts heap */; L/ S5 H' e; [
Program.heap = 0; W# N0 g# u/ k3 F. I0 ]; w
Program.argSize = 100; /* minimum size */! Z( n, _: U1 U' j
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, B' x u+ M1 C& j3 j2 }- ?) b7 Q3 p g# _# C9 |
/* create a default heap */
3 m, O% e, k5 r/ F" S5 _3 T* \, Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 Q3 a7 ]; K% {: m4 j& X1 G+ k1 gvar heapMemParams = new HeapMem.Params();
: t+ M/ z( o* ^heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. W: y+ [9 J+ k' Q1 d" W0 \( T- S' E+ V6 b) Q
var Memory = xdc.useModule('xdc.runtime.Memory');
% ^# I( l! T% N+ P- K; uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
: G( y- u7 W6 O$ d5 e- B; `+ T( u7 q7 v' y5 g" t
/* configure System module */
& y! E3 B5 ]8 c* rvar SysMin = xdc.useModule('xdc.runtime.SysMin');
2 M$ X9 K+ p2 g7 A" j3 I4 dSysMin.bufSize = 0x1000;1 C1 f. l/ D* I! O, O7 P
SysMin.flushAtExit = false;
# a' U: P5 c6 C* W/ ?. O/ B! Q1 v% b" Y* q# G( M
var System = xdc.useModule('xdc.runtime.System');
1 O$ T1 f, i; H1 Z. z; |5 NSystem.SupportProxy = SysMin;
6 _3 f) M3 Y9 f; R1 k7 J j
- r- z0 }$ ]7 ~/* configure SysBios to use the lower half of Timer 1 */
$ l, o: @' b7 Bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ m2 Q3 X) K g: M3 M8 @, ?var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# y/ @- V* F6 q+ x1 p' iTimer.timerSettings[1].master = true;
' \! M5 Q* T! c# D0 ETimer.defaultHalf = Timer.Half_LOWER;1 e0 ~$ W5 o2 N# `$ @8 h* P
Clock.timerId = 1;
7 g. q% N& W6 `( ?/ t' k U" S
& S4 U, h: O" f) m& @
9 {+ n2 f7 _3 \/*& E) `- F' Y+ e ^( G
* ======== Miscellaneous Configuration ========
% g" `( Z5 q7 Z( A9 B5 S4 w3 Y: R */) @; T" D X2 M3 c- o& S
& e+ {1 i4 {' a' Q. K( A
/* set default diags mask */% @6 H' E- \! W) F) |+ n. L
var Diags = xdc.useModule('xdc.runtime.Diags');" a) j4 U* ^* `& e$ G u
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 A' E0 ?4 R: Q8 {2 d6 d9 J' O K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 C1 O9 b* ^+ B; N
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 G+ L' d" E- TDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 d+ t- x$ X c4 m# F; t# Y. vDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 }( o' _, q. o% |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
2 P2 J& W& Q/ E' v6 IDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 X- R: c, h& Z$ M
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) w# f% ^( P6 c% M9 l7 w( UDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ s5 z+ y E3 |; c, z" X
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 @: L, ^6 V5 Z, J; t
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- L! y8 p$ I) u! y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 R5 d$ G' j- L2 Y& ?7 {& ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 _/ E; o6 G' F w8 x& O
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 k8 v) k; f x, A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& o$ A" r! U* Q8 u/ b& E1 T
8 O# s4 L) f* K* D) V0 J
/* override diags mask for selected modules */
3 V4 v) B! _* i3 b, ^* W- w- nxdc.useModule('xdc.runtime.Main');3 {8 u( @7 ?" [
Diags.setMaskMeta(
8 C: |& W& a5 U9 k) k6 v {# I. F "xdc.runtime.Main"," h6 ]3 _, |' `, z, J) ?% r
Diags.ENTRY | Diags.EXIT | Diags.INFO,( R2 X3 l$ f# R+ Y* I) O' R
Diags.RUNTIME_ON
. i, E) M8 x" J5 d; L);
; v3 S0 [' Z& G9 J7 f" j" b a' ^: ~
var Registry = xdc.useModule('xdc.runtime.Registry');
4 @5 i3 C. W$ HRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! X$ I4 F2 F& G; O4 K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. @- S6 P. O9 Q5 FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;7 R q- F0 o, B% a# i4 @) p+ y( b
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 G/ J$ S4 P0 X- \/ c1 g, ?
+ W, X! I# ?, [
/* create a logger instance */5 s5 o% q- D$ j: _# k* ~3 R1 {; ?3 L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" u+ y' n Q. ~; v) d9 \2 `0 ]
var loggerBufP = new LoggerBuf.Params();7 p0 S3 p" V: H9 W) B' B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 d) ]/ p' F+ E* m* ?# zloggerBufP.bufType = LoggerBuf.BufType_FIXED;' | H2 D" i2 Y; P! R4 o6 ]8 a
6 |( M4 ]0 f ]; bvar appLogger = LoggerBuf.create(loggerBufP);
7 z$ Y! t* H* xappLogger.instance.name = "AppLog_Core1";4 C# ^8 B3 U, B9 b# v
Defaults.common$.logger = appLogger;
' P; D2 Y4 N- x7 }; W3 d* c% |Memory.defaultHeapSize = 0x8192;
- P" M" `; T% ^2 {0 B( nIdle.idleFxns[0] = "&LEDStatus";$ w/ W( C4 l, R+ y& d' W
Cache.initSize.l2Size = Cache.L2Size_32K;
$ v: Z* Q. u) [9 ~5 |
4 U& h6 e p4 Y4 ^* x |
|