|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& H8 Y1 d( _. G0 G1 ~ k% J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, A- [6 ^* M; v- y% J
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 v% G0 ~) y& |# ?' s' x& k/ `: m" a3 r: b2 u5 e C) ^5 r# G6 t. o
是不是需要在DSP.CFG中进行配置
# t. E* _$ t1 A/ U我现在的配置为7 n- _9 {2 x0 B* i
. t' n n# r- a6 r9 M. \9 Y/*5 V1 {- Z% R' X c% W
* ======== Operating System Configuration ========
; l& ]+ `! v) p: i/ D */% z, G, A v, Y( n8 ~+ y
2 y6 \$ r/ x% B
/* no rts heap */
6 {2 D# Z: H- c5 [% ^* |( [% CProgram.heap = 0;% o* I3 _7 l* ~3 c1 r* F
Program.argSize = 100; /* minimum size */
: J/ a4 a- A- B5 V, x3 I! FProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 {4 {) N8 F8 }# Q0 G. |5 ?' B& H" c9 _, g5 Z ~
/* create a default heap */
" `' B/ s7 y. S$ Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 V9 y# S+ Y: y" k, b; g* i
var heapMemParams = new HeapMem.Params();
. G/ _8 |" ]) jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ S$ Y# a( V6 {. q" b
4 D+ s: _4 V& X' @0 e0 U5 \
var Memory = xdc.useModule('xdc.runtime.Memory');
3 U) ?3 J. R2 y, O( `" G$ pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
. D. k; {; N( X2 P P) w9 U' Q z0 C
/* configure System module */& {8 R0 |9 R9 H; u7 D: m2 _
var SysMin = xdc.useModule('xdc.runtime.SysMin');
) `9 _1 v8 @! hSysMin.bufSize = 0x1000;- G( }9 ]$ `' o' Q& R
SysMin.flushAtExit = false;1 O" n$ H/ }0 Y# t0 Y
1 Y$ k3 y# r) f' V
var System = xdc.useModule('xdc.runtime.System');
9 S9 W; ^+ V! F1 `! _System.SupportProxy = SysMin; J" q! o3 ]! B6 Q+ |& e
' v& a8 K1 \4 h+ f' \ c1 ^4 b/* configure SysBios to use the lower half of Timer 1 */9 e' s- b2 p8 ~8 _/ c% N7 Z$ m
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( c4 r( }# ? m x) F+ i; avar Clock = xdc.useModule('ti.sysbios.knl.Clock');
: X ~* @2 Y6 f% _0 _: R q# nTimer.timerSettings[1].master = true;) f( S3 Z9 H; M
Timer.defaultHalf = Timer.Half_LOWER;" E m1 X$ {4 | B5 B
Clock.timerId = 1;6 _$ O. a* E5 z( Q
! l& {9 s$ X9 J4 O4 b7 _3 P( c1 i
/ u$ ^% X+ g0 s. @/ i/*
# x$ m& M# g: E% a( G( A: ^, I * ======== Miscellaneous Configuration ========( t3 |' {% O/ d/ j0 J
*/; W) z: |/ A# a; u
1 n1 g/ i7 s3 S% L/* set default diags mask */
5 y; u# x6 ?+ R! P* |# l5 [0 avar Diags = xdc.useModule('xdc.runtime.Diags');0 g+ m: W9 `9 X7 i3 `' u
var Defaults = xdc.useModule('xdc.runtime.Defaults');
# \7 z) I9 ?1 m7 D1 A0 Q" _; W: B, W( Y2 Y L9 I+ A' N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ w3 G$ a5 L; c3 P8 s0 }
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- D& l7 p0 R9 Y# F9 S1 F! w
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 z1 x7 @/ p0 T5 ?
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 ]$ P8 K J7 q2 u9 Y$ ]( H9 c! NDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 S6 v' a, [/ ~% E' |' z! L0 J- C0 \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 n$ O# D- Z$ O2 yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# U8 H& K e+ z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 z2 m V! Y0 W# N9 lDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 n7 V* z' C3 N& I1 K. `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 s$ |0 w% r: kDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* n7 @9 X9 ~" o4 ` J% ]9 w% dDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ p- f& p; F' Q: ~0 H7 D
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' ]* l; ^& n7 q) Y: T
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 l, G, M" A } f& w
, Z! p: Y& p% W3 f# l5 T/ M
/* override diags mask for selected modules */
* R0 s) I( }, w1 c9 h, I3 R9 Fxdc.useModule('xdc.runtime.Main'); U8 @& b3 k8 \ j. z# Y* _% O: ^
Diags.setMaskMeta($ m3 r" Q% L+ r6 k3 v$ I9 y4 h& a! | p
"xdc.runtime.Main",6 `! Y* p8 f- ^" j' z
Diags.ENTRY | Diags.EXIT | Diags.INFO,9 B7 a! u; J6 B; U4 r2 _5 O
Diags.RUNTIME_ON" ^! g3 S% v# ~
);: x4 \ w6 U# B0 U
$ B2 N5 |% G4 v- C8 t: [& Gvar Registry = xdc.useModule('xdc.runtime.Registry');
( a. k ~6 P8 x- zRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ n: }2 S5 v+ o# b( y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;) l- ]+ I+ M; g4 I1 R% F" A
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: |: {4 ]6 n# t( _- ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 I0 o, }+ y% }' j+ D5 d3 H3 b# r- [, A# H! k) U0 {0 Q
/* create a logger instance */
- X9 |$ v/ l7 v7 p3 jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& V0 M) Z" \/ e a' b3 ]' Cvar loggerBufP = new LoggerBuf.Params();
& I1 ~( x& S) LloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" F O- A9 t$ m' w8 ^6 KloggerBufP.bufType = LoggerBuf.BufType_FIXED;: @6 b3 Q0 G% N. {: L6 w
) w c5 P/ q( C5 A
var appLogger = LoggerBuf.create(loggerBufP);( ~; l0 q7 m2 d& l5 V
appLogger.instance.name = "AppLog_Core1";3 E; t: f: |1 _6 W r1 Z
Defaults.common$.logger = appLogger;
, n# p5 x6 |7 K: M0 y9 }Memory.defaultHeapSize = 0x8192; 6 @! A) v9 t3 \7 W
Idle.idleFxns[0] = "&LEDStatus";
' a& b( G% O: t; s. ^, MCache.initSize.l2Size = Cache.L2Size_32K;. X/ U, _ p5 j1 O# C% a4 R
9 t ^1 i- Y& N$ _1 I
|
|