|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 q/ }- {, B" g* N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 U, D8 v9 L4 h: ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 v4 a. C0 r, D
5 _2 U' V1 S5 g5 q* i- q
是不是需要在DSP.CFG中进行配置! X/ W4 _( ~) C$ ^: J% t6 k
我现在的配置为
1 H3 Q3 Z8 F, s8 D. T, Z8 @' j
; v8 T. O5 b* w/*6 ?* g8 a7 a1 U% ^9 K
* ======== Operating System Configuration ========
7 v5 h( L! U& v4 \! E* V: T */
- P0 z) B3 l# b2 \" f
4 K4 P' I8 w3 g' h' e' I/* no rts heap */5 U3 F. y% n* n3 U9 V- q
Program.heap = 0;5 e; {/ G3 m; N; N( e) o
Program.argSize = 100; /* minimum size */( U5 D& Q7 Z- p* g- t- ^: d9 \( r, Z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 ]7 C4 f: @; K r5 g
0 T, X2 a8 E: I% V. O0 Y( e
/* create a default heap */: Z/ M- ]1 B6 J( k
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ Z1 t* @5 D" o5 r8 _var heapMemParams = new HeapMem.Params();
# T* g; X) c# Z, fheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 f( q0 \3 F* y( T9 S
6 j* ~9 |0 D6 v, r3 ovar Memory = xdc.useModule('xdc.runtime.Memory');; I3 K# \, k6 k9 b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. j" F+ e4 b7 p: J
6 i' @; s0 m& ^' K5 ^/* configure System module */
0 _6 v) @" r1 w! e/ F6 j( R7 rvar SysMin = xdc.useModule('xdc.runtime.SysMin');7 n' j" H9 P% y
SysMin.bufSize = 0x1000;
5 F7 q* }2 m s1 L5 i. L ySysMin.flushAtExit = false;
+ D% d0 E. j* O% }! Y M4 d8 \( N! M4 y) Y8 T
var System = xdc.useModule('xdc.runtime.System');
; d+ ]+ K& `( @; s7 dSystem.SupportProxy = SysMin;# @. \& D' e# ?6 M
2 `( B4 f4 ~: I
/* configure SysBios to use the lower half of Timer 1 */
* ^& k* D5 h# ]( B" S+ K. Qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' J. I1 l7 `* b" ?# J' s+ qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ W h4 U/ |! N# ?& z4 Y
Timer.timerSettings[1].master = true;
( D2 \4 X: k0 XTimer.defaultHalf = Timer.Half_LOWER;
+ Z3 g8 P# ?* @2 j* L) y5 b7 ~, z6 O/ EClock.timerId = 1;; T2 A- O6 Y$ B! M$ ^. ]8 w
; N1 |7 y# y$ Z. v* S$ w1 ~
- ^8 P8 f# y. }4 \( `( w/*6 C1 Q" l' P5 f
* ======== Miscellaneous Configuration ========& [% w) v, u0 z0 P9 i5 C) |6 ^9 r
*/
6 A3 G }6 T( Y8 Z& C8 ?% D+ g0 w! d; z- [7 y, L
/* set default diags mask */6 }# N2 d4 N+ g3 {& U
var Diags = xdc.useModule('xdc.runtime.Diags');
2 w5 h6 M* X( N! [* C) Gvar Defaults = xdc.useModule('xdc.runtime.Defaults');* t' v8 J0 X9 [0 C) J h
3 [( E0 Z. J% S' Z, M. zDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
?" p5 Y' Y& K4 V; nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) i4 _8 h. i; V. i# k4 ~7 L8 uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% H- \- t8 N" O1 F. r) GDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 k' {0 _: Y' k$ t4 p& ~Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; L1 ?+ V& \- M8 Y7 }/ fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" q# p8 U. |: |, s7 XDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 Y+ |4 ~2 G# y+ W* g uDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 Z1 A9 D; l% n) e1 J* J* H
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% h( i" B8 k5 j: j# c
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. \% S' T1 O5 P1 b' \Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 i3 d1 ], f4 L9 s- SDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( I0 A1 a$ f+ d8 |5 z* R2 @8 B w9 U! LDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 Q' ]( Y3 t6 c' x
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 [" k. H5 N8 D5 L2 \, n1 I( c: Z
: R( u+ ~8 q2 R% N. u/* override diags mask for selected modules */
/ ~# i/ ]* l2 q! @" R/ Vxdc.useModule('xdc.runtime.Main');
9 D2 U. i# F. s& \& }( WDiags.setMaskMeta(
2 ~6 }7 `9 n5 [: |* n "xdc.runtime.Main",
, r! D( C: ~- |7 A% { Diags.ENTRY | Diags.EXIT | Diags.INFO,4 J/ m$ \2 D' l, b+ S0 P W& L
Diags.RUNTIME_ON: j2 K7 |0 t: h2 s& V
);
) u: J/ x( c$ y0 ~" N5 n" Q. |) D% q. F! r$ }# a. L
var Registry = xdc.useModule('xdc.runtime.Registry');# l9 o {) @# a
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: f% s" ^, b4 [9 r+ a5 q) k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;; z- f- H- u- Y% F5 V* Z1 h$ j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: W/ d6 y1 w/ ]+ cRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;# n# g; [# r" {6 e- ]
- |* N' t% A" p
/* create a logger instance */
0 b& ?# Y4 _0 `var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');4 o a: t6 d, b
var loggerBufP = new LoggerBuf.Params();
( y5 f/ G/ W* z2 N# b9 \8 TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 U1 u/ U, _2 k$ G9 ~, ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 C: d: c! h/ R" o8 w8 y: {" S0 @
$ [' Q3 _( z% P) h, q
var appLogger = LoggerBuf.create(loggerBufP);. p8 I' C {0 Q# Y d
appLogger.instance.name = "AppLog_Core1";
% {) {1 U J) ]2 }8 p! h; d4 _Defaults.common$.logger = appLogger;
" ]/ ^ m l! {8 wMemory.defaultHeapSize = 0x8192;
4 \# ]0 p/ N. PIdle.idleFxns[0] = "&LEDStatus";" `8 h: ]. J) r3 G( R1 Y" M- W. J9 d
Cache.initSize.l2Size = Cache.L2Size_32K;
; i. x+ \3 \- v
; Q# h, D6 t! k. z3 p7 w |
|