|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 b. c' l& y3 \2 \6 P6 d6 O5 w
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
c: M f6 j) D# p) a(不过疑惑的是,为何单独DSP仿真就没有问题呢?) \, X0 @! N3 w4 R6 e( A( s Q
+ B* c2 \6 X. w0 t
是不是需要在DSP.CFG中进行配置( ~3 i# a5 H1 t* N# M8 L
我现在的配置为
# K/ B; I' _- o1 i9 m
3 Y$ w m. }, \4 T0 r6 g; C" V/*4 D. K5 Z3 f& H% x" f
* ======== Operating System Configuration ========- k4 u. u4 t$ J3 |8 Y! s$ A8 i9 Y
*/
7 B" \- w. c2 H' {/ i% f% n% E9 w' w$ A& j% H
/* no rts heap */
6 H2 L" A6 v6 O: z; F D0 V( PProgram.heap = 0;% B8 j8 |5 R% N3 i! X
Program.argSize = 100; /* minimum size */7 w& J: w7 K6 H% Y h. J7 D
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; c! Z! |" s4 ^' e, r* s8 o6 \! R% ^/ t% _& ^
/* create a default heap */* |+ ^8 I3 q$ A1 [ s- P" S& d& w, y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! R! Q: s9 J. I/ w |var heapMemParams = new HeapMem.Params();
, @5 _( ]4 l }; L+ h! PheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 D. K: P; `4 d
3 f6 e7 a6 O+ n X" j7 F
var Memory = xdc.useModule('xdc.runtime.Memory');
, w8 x- Z+ Y+ t8 |9 c# A: b/ l0 U6 qMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ k' `- N4 ~( K" S+ F0 N+ R6 K9 V5 M
% t9 Y1 b7 ~5 G8 B/* configure System module */$ T2 l" G) m# J! T. q8 V
var SysMin = xdc.useModule('xdc.runtime.SysMin');
( g B, S0 u2 a' cSysMin.bufSize = 0x1000;5 }4 B8 j3 N) U) Q
SysMin.flushAtExit = false;8 l9 X% _" V- }& k( b
7 W4 @5 z2 F1 I
var System = xdc.useModule('xdc.runtime.System');6 A, |: W& s. L3 w) a
System.SupportProxy = SysMin;
# b. V2 J, U$ d4 C+ C# @8 K6 d& r& C! ~( Z5 G* R) v- F
/* configure SysBios to use the lower half of Timer 1 */
% X4 x' ~/ T& _7 z( ?var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, f! I1 Q2 ?2 U. j& a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 d' q* U: X- X( A5 x: ?, D. qTimer.timerSettings[1].master = true;8 p, I5 K) h5 y
Timer.defaultHalf = Timer.Half_LOWER;
& g* V1 v: f1 EClock.timerId = 1;! ^6 W! E! x/ V! C L7 c# v/ [
) ?' c6 t9 N6 m( H6 k
6 g) c, H) N# O" @+ F
/*
# e& E: ]3 |8 a8 O9 f2 W2 x6 q: q) k8 M * ======== Miscellaneous Configuration ========
! K: | b3 ^4 l, U; c* _ v( ^ */6 g) j" ?2 E8 ?0 v; v( Z
7 ?$ D. z4 w! Z
/* set default diags mask */0 A: D9 Y! X4 I0 h& P! [% Y5 m
var Diags = xdc.useModule('xdc.runtime.Diags');/ }& V; P2 l; |# D
var Defaults = xdc.useModule('xdc.runtime.Defaults');- h% r: P' J Q
/ _- ]2 o9 g# u# L0 h; M2 a/ x2 D& N
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- q) b& m# }8 s0 X9 e& v- Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 N, f2 a: F, J' |5 e3 L, t" aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 T' S5 L( Z) f; Y
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */& X8 g- I2 M `0 d
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; I. V8 s. M4 }/ t6 YDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 e$ W9 s: `1 {: lDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 _9 g/ \) F# Y1 E6 B, A2 ]# YDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 @, Z: H! ?6 B E8 M7 x& ODefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 W* t4 @8 {0 w& [ _Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 r8 Y3 o1 ], J CDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: m/ @7 {; J% i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: O; F) J7 M% W3 l
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& ] k! s0 T. \* m5 s! d, oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) n# u% O1 M, G: D6 t- E
, }/ o+ A8 u" A! f0 Y/* override diags mask for selected modules */! n' g1 |: B7 V/ [
xdc.useModule('xdc.runtime.Main');
. N+ d) G0 u# e) mDiags.setMaskMeta(: O1 c- p7 ~4 o/ Y' _6 I5 e, K
"xdc.runtime.Main",
1 g% `2 `3 [" q+ w Diags.ENTRY | Diags.EXIT | Diags.INFO,# G- g9 z: @3 j1 p, B! a
Diags.RUNTIME_ON; A: ^8 f# D7 a
);
" N7 z% F2 [' D" c) `. d
7 L6 ?7 V+ L' ]* Y G5 }var Registry = xdc.useModule('xdc.runtime.Registry');# l9 c$ e! d* y6 |6 p( k5 l
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: ]9 ]6 R: |; ~0 _/ b
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. W/ {3 m4 [7 d0 j: xRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;- Y7 v. r9 S O- K# x
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 t* \$ w' N) K3 |2 I% y4 P9 ^' a `' Q5 v+ Y/ o8 i% p( g$ x
/* create a logger instance */
% f/ q6 j$ ~6 ]* e4 Z5 J3 r6 z% Cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- N6 {2 _ ]( Q" R( }) T+ q3 G e
var loggerBufP = new LoggerBuf.Params();
8 h6 e& h$ o ~* p# n% _loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* f: _& j9 e: I9 x7 ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;
( W4 N1 S+ X( t; w) U8 k. q, }2 V9 t6 F7 b! x3 H2 a+ f
var appLogger = LoggerBuf.create(loggerBufP);7 T5 @3 W. E- {9 ?9 U0 @& [
appLogger.instance.name = "AppLog_Core1";
4 Y+ v; ~ U3 b" yDefaults.common$.logger = appLogger;
* X0 c0 ^- I) r H( D( {0 w/ M/ E% {Memory.defaultHeapSize = 0x8192;
9 p4 H! x5 N$ W+ G, XIdle.idleFxns[0] = "&LEDStatus";, X* B- J* Y: A- d9 u0 ^, m8 u3 R: T
Cache.initSize.l2Size = Cache.L2Size_32K;
) `+ b& n, B" n$ e) J% v
0 q! x. x# U7 n# |0 j: c |
|