|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明9 W1 q% ?, G t2 X2 T/ i/ D
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ }% i! L* }# J" R( e: n# x/ ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 @, h1 s) _! z* d2 b- _% h1 a" I
+ P Q% A) a) ~/ ^- J是不是需要在DSP.CFG中进行配置
! P+ E( s7 o: n( a7 W2 Q0 D' J我现在的配置为1 S/ {- r M5 X$ S. U
+ m" N) i6 b& @2 t6 k
/*$ y4 @* L$ u# y& `- }+ C4 h3 `2 R) A: `
* ======== Operating System Configuration ========
0 Y1 K; {% I$ j( P: d$ Z) B4 ?* H" ? */
! A: r) i( ^) d( d, v) \4 x3 \! m% { G1 N) ~, _
/* no rts heap */
. h4 s; ^) i% D. hProgram.heap = 0;! L: y" U1 j5 g1 G w( P
Program.argSize = 100; /* minimum size */$ C1 |& p+ _- }1 |- A" U
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 P! z; [& y; _. e# l) V+ b
% [' @: f, @3 T' { K& K4 a4 v/* create a default heap */
% R L( l4 i7 i7 jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ u: L) Z4 U9 S4 qvar heapMemParams = new HeapMem.Params();9 Y: \% v" H w- T k+ O
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# _" }' O2 n, A; ~
( [- V$ i$ c( `+ x# K+ N
var Memory = xdc.useModule('xdc.runtime.Memory');
" v, t4 y8 K' } hMemory.defaultHeapInstance = HeapMem.create(heapMemParams);/ J# ~3 P6 a: M
, A4 R* H- b2 M) d8 W/ p/* configure System module */" c, z7 D+ @! o8 r
var SysMin = xdc.useModule('xdc.runtime.SysMin');6 J( h( v* ~! h( G4 c/ q9 B6 p
SysMin.bufSize = 0x1000;
3 p5 x! N+ P) |; o5 h8 D) D3 ]SysMin.flushAtExit = false;
' F' N6 q* U2 \ ?2 s* |- h# ] q; }% g0 u7 N
var System = xdc.useModule('xdc.runtime.System');
2 ?! c8 T3 H) n8 v' @3 l. BSystem.SupportProxy = SysMin;
- {8 i, S* g9 r# P1 N( U
6 O+ H6 f9 ?5 U0 i$ x/* configure SysBios to use the lower half of Timer 1 */
+ b( m) Y, ^& p7 wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 |4 C) x6 I4 I2 w- X: Kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
( l; `3 B1 K! c2 r+ QTimer.timerSettings[1].master = true;
; ^: w( C$ |+ x) D! [Timer.defaultHalf = Timer.Half_LOWER;
2 ]4 E8 b8 H0 s4 A) |3 b- F0 h. LClock.timerId = 1;% w+ Z8 z3 O, L" {
, [" H+ M* U! A$ g6 y, \ a, t
4 k) Q1 p& d# S' H7 ~' e/** `0 B+ y! `0 A' B4 k2 [! {8 a; F; R1 W
* ======== Miscellaneous Configuration ========
3 P: {6 {6 x& `2 U( l0 ], a */, z, M( b! a5 ?
2 o/ e; L% P' w6 J
/* set default diags mask */
6 i u7 B2 I+ j+ z3 |. r( L7 z: K3 @var Diags = xdc.useModule('xdc.runtime.Diags');5 S! \0 ~* f. X& p1 y. G( M
var Defaults = xdc.useModule('xdc.runtime.Defaults');
3 O; E9 L ^: U3 I% h+ c
, e, g$ |3 N9 h" B! A7 y) kDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 c; f# @8 `* A4 e& f
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 T" U6 ]9 U: j2 [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 N9 ~" P' Q+ a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% }: o* l: S# b) H$ o" XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 A. T, Y6 }" _7 b fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" S! b0 Q! |% d3 N" K* |2 uDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, A; l6 _) \$ w( d/ z, Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 ~0 F3 T" K- D1 _$ q% [: ]; _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 N9 r* T& }/ [( @# j- h3 n
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 _4 ]3 ]% Y8 o
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! f# z5 m! q6 i; S! d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" e4 V. Z- j8 V* D0 }* k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;" S* C. l! B* V+ @
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% U! }" y U1 [7 x( q+ a
0 V$ R1 `+ j0 b7 j7 O9 K& d/* override diags mask for selected modules */& d' \4 Y" K5 V J( f8 W- j
xdc.useModule('xdc.runtime.Main');
7 R8 W( O# E4 A! j4 p5 ^' B s+ oDiags.setMaskMeta(
2 f# H1 k) @$ c8 U: p "xdc.runtime.Main",1 |4 h' S3 U- ^7 C0 v, W
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% _$ g1 |# d4 A( m+ b9 c4 L Diags.RUNTIME_ON
* o1 Q7 S- J9 v);
3 [: }% u: N# m8 m# f5 H5 c B% b& b% a% z9 [7 @
var Registry = xdc.useModule('xdc.runtime.Registry');2 ]+ q' w6 Z) L& s
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ P8 N8 y; ~4 }# a( \Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ g. S9 j) I1 t( V% PRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* H. X" E9 L2 T% e
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 a' X# c. Y7 c9 Y9 O( c4 D/ ^" G! Y# }, ~' l, X7 f0 J
/* create a logger instance */; g2 a, k$ y/ ]- W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
' z6 o* o5 g: E, K8 G$ t/ }var loggerBufP = new LoggerBuf.Params();: `8 K2 p7 ~) T) N. w$ T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& p1 E1 g8 K" [! r2 X- l+ b& \
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ H% a0 w( k. C; \' `" V; }- ?5 K7 `( N
* }, A% H- H4 x; J# k/ uvar appLogger = LoggerBuf.create(loggerBufP);, L- ~8 J+ U4 |0 m# ~) d
appLogger.instance.name = "AppLog_Core1";
) ^& w! d2 v N( K- }/ u2 n" a, W; Y/ XDefaults.common$.logger = appLogger;; \4 ]' H. z+ j; \$ P
Memory.defaultHeapSize = 0x8192;
% F4 B' S% K5 L4 W7 @Idle.idleFxns[0] = "&LEDStatus";" ~# m3 \/ L9 o* j. T# E
Cache.initSize.l2Size = Cache.L2Size_32K;
) {; H" }6 ~& c; K8 y$ D* Z& M
7 Z( u- ~8 w$ ` |
|