|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ k' n1 ?) F/ f. n* G& e
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- c) L* f2 Q" R- r8 n' a( J, q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, K4 ] e4 S- @6 E6 F% o5 s V1 \- g$ l; I% R- C2 O% O
是不是需要在DSP.CFG中进行配置) n9 z' N. v5 S0 ~* I
我现在的配置为/ B# ]) L# ^7 ~4 Q: a% g3 o( x
# n, G0 Q* }/ G1 Z5 o, Q% G$ ~/*
8 h8 X0 K3 G$ B3 O9 X" A * ======== Operating System Configuration ========, L4 R7 A8 w( N; O
*/
) I# v$ @( F" y A6 F) Z4 J+ q0 A" l& Y# }$ ~/ m1 B
/* no rts heap */% j, b8 a8 @; h$ ]! }. ^
Program.heap = 0;
' b, y) C0 G7 c9 W7 bProgram.argSize = 100; /* minimum size */2 V1 c5 ?7 }9 r4 O+ L
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大; C, n |/ @! B- K; _! j" y( H
# q7 G! W; z6 t2 G
/* create a default heap */! F% h. d |9 o1 Q, e! q
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ l7 {3 k' s) t! `var heapMemParams = new HeapMem.Params();! a9 u+ N) v m9 E ^- ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# ?' b: I. a! k# L$ h2 Q
+ a! @% b$ z: V2 h8 z1 \8 Gvar Memory = xdc.useModule('xdc.runtime.Memory');
1 N2 j0 C3 k) F( H5 e; EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
# r( D- O" K& }/ j" d
8 J# I7 A- g' N: T/* configure System module */* j4 O/ F( B& [8 L
var SysMin = xdc.useModule('xdc.runtime.SysMin');, t7 N2 ?) G5 }9 Q
SysMin.bufSize = 0x1000;
* J4 {0 x& w, v4 V5 j9 @$ P9 t' FSysMin.flushAtExit = false;
" R- H, q& T0 x! O1 @/ C, |. G2 v4 Y5 R$ Y* l+ f/ H
var System = xdc.useModule('xdc.runtime.System');+ ^7 x0 w$ L- C, X
System.SupportProxy = SysMin;$ W( `( Y9 b1 {
% ^! Y6 Q% H0 c# {: r/* configure SysBios to use the lower half of Timer 1 */
& F: B9 I3 B8 `* m$ m; I j- O& bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 h/ S J* k0 y- |( v; f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: G5 d+ Y+ C. }( G. R6 q- \Timer.timerSettings[1].master = true;4 [$ m( s4 |' Y! F3 }; i$ A- m6 n
Timer.defaultHalf = Timer.Half_LOWER;; c3 M6 P( d8 d5 k3 X* j
Clock.timerId = 1;
; h# z1 }+ R. P& M3 b; R: y! X
; C( F# D u9 b
: G- X0 [9 |0 m; k/*
2 m Z0 ^6 d" x. E' o& w! q * ======== Miscellaneous Configuration ========
5 w$ t6 ]0 d5 N/ P8 ]3 @ */
# A) \; k9 N" y. j2 ?: ^" ^3 w, A4 a& D5 U5 L( x% Q) }& I2 u
/* set default diags mask */1 D1 i- j% x) X+ x/ @
var Diags = xdc.useModule('xdc.runtime.Diags');
! |$ g5 z9 ^! D# @' _var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 Y1 P9 q$ w! b: L3 |& u/ ]0 U" R6 n9 e6 n2 [1 Q4 M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ Y. t4 s' Q' H6 x
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 I" K; c% x9 d- \: P
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: W/ i1 }7 s2 C# Y8 `8 y- v
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 A& F8 K9 ?1 u4 N! A2 ^" P% @9 q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 n$ [9 o. B4 O$ y1 {' X; v
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;. i: r7 d% L* N0 g* \6 x( g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 t* F$ @) }8 u9 K+ ?Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 A) g! u- `# n7 l- h7 [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 K3 v/ ~7 \' C* @3 [
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
7 b; i/ K3 r; t+ N9 XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
7 r: c) [; g( Z# U" C0 T; sDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" k5 {5 @7 X" ^' D- E! D/ c3 p0 ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 U8 J: Z6 A6 y1 J/ T/ ~. C& @Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 B0 k0 B* a: S1 W
: i# u6 T+ N0 U5 Q) o; }/* override diags mask for selected modules */
2 h1 f6 {3 a0 O, x3 uxdc.useModule('xdc.runtime.Main');
1 a& R7 B" S o* a. t- |5 XDiags.setMaskMeta(4 O5 O5 v% e& g- ^% q
"xdc.runtime.Main",
; K! J1 J/ B- G& y# X/ N5 k Diags.ENTRY | Diags.EXIT | Diags.INFO,
) X+ @ g7 J* l& q7 J Diags.RUNTIME_ON- j; B8 }8 ?. j0 f5 @6 }9 p
);
. j( o* F' M \+ J& {( U. k# ^& w
" }+ u; X1 P- ^3 `) _var Registry = xdc.useModule('xdc.runtime.Registry');
5 M) }/ E9 U3 B- m; I6 s! b X7 c% Z2 ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ v! u: T5 P3 Y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 v4 X/ G8 ?; ]# _6 i( ^8 X: M- NRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 J/ F2 t$ Q5 F
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 }) u& v1 S+ N7 {
+ X6 h' V( c8 ~+ e% D' r5 T/ B5 A/* create a logger instance */: o) N# m4 n. o/ [" m3 J. o
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 }, i, ]4 c( s% svar loggerBufP = new LoggerBuf.Params();
* F6 b( H* x4 m. T4 t0 e, HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 C) s2 l# g$ z0 ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 ~* j; A. n' [- Q8 Q- \
/ N3 ~. N1 n9 K& x& [9 v3 m8 Y& C8 G u
var appLogger = LoggerBuf.create(loggerBufP);
9 E5 }3 I \/ B% s5 t! DappLogger.instance.name = "AppLog_Core1";
, T1 B0 h& E) J& h9 K2 y' eDefaults.common$.logger = appLogger;1 {: B, b! N. {* @% S. q2 a
Memory.defaultHeapSize = 0x8192; 9 n( `6 h9 ?6 G" G; F6 Y
Idle.idleFxns[0] = "&LEDStatus";. z6 `0 l, W" @: o7 }: m
Cache.initSize.l2Size = Cache.L2Size_32K;! k1 j/ K- l+ `
- Y# u, g' W T9 A9 A- p1 ~+ a+ \ |
|