|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 q! o. d& a/ C% s( N2 A' a+ t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- b z) i3 G; I! G(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# V' Q& C2 R, {: P
, g) ^& a3 D* ?/ _- f0 W3 D4 ]是不是需要在DSP.CFG中进行配置
/ T/ l# j2 k3 g( p7 U2 C0 H我现在的配置为' Z3 ^/ K+ t( e1 C B
9 | d* [; q8 g- [1 z/*6 ?; L( U. F# Q7 F! B/ v8 p( S' m
* ======== Operating System Configuration ========
9 W8 t. N0 W" [! V */
! K* P3 W5 @+ N' Q" r+ i4 [9 c# G Y/ C
/* no rts heap */% W w2 L* x; x
Program.heap = 0;
; }3 U8 M) T1 a( f% q; jProgram.argSize = 100; /* minimum size */
# E( B/ D5 ?0 uProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 A4 ~9 F' K- q& c" [* j$ A/ l+ p" _4 H
/* create a default heap */
& i& w9 O3 W+ R6 j$ u+ s8 Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 k, w( {4 X+ l7 V
var heapMemParams = new HeapMem.Params();
1 q% X3 u0 A0 A, E1 P: \. y! xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; k5 D' F9 P" @+ c' O k' u" J" M$ }6 f; C, J
var Memory = xdc.useModule('xdc.runtime.Memory');* [4 b" H6 n4 G! |" V* @' K) X1 n
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
- C7 c T$ \0 p( @- [8 ?3 d i
1 z6 o1 M( z- m/* configure System module */0 `% M. Q r, U
var SysMin = xdc.useModule('xdc.runtime.SysMin');6 ^( z) w& @. L; Y; F
SysMin.bufSize = 0x1000;
8 V2 T* B$ f3 o$ sSysMin.flushAtExit = false;
8 [5 E( ?6 B8 G- N5 A' U1 G# `9 P# T1 P( g* }/ B6 [
var System = xdc.useModule('xdc.runtime.System');
' c/ k# K' U, Y; Z5 P: eSystem.SupportProxy = SysMin;
% x* m' H6 `7 e2 W- l1 K0 U% z9 j6 S2 N* n5 \" _+ H
/* configure SysBios to use the lower half of Timer 1 */
8 Z1 U: q; h! w3 H+ kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 `" k/ m3 @ f1 l( I0 R" @! |
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 ~ @: D- ^6 f6 z3 e+ kTimer.timerSettings[1].master = true;
" Z8 f9 R% z2 N5 f* R0 v0 R6 ^Timer.defaultHalf = Timer.Half_LOWER;# g+ A- Z9 U6 J [( O
Clock.timerId = 1;7 A1 Y: R) g3 u) e
% g6 X8 a0 l9 l: W2 }
/ ]$ m, B/ P7 }. B/*' k" m6 d* z3 n5 f
* ======== Miscellaneous Configuration ========
- A" z: r. N/ y/ F+ } */
6 n" U1 T1 P; D6 C( ^8 {' v% ]$ Z1 I1 f! d' J L2 H7 {) B) K. |7 X
/* set default diags mask */5 w% L4 [, {( s* g! H
var Diags = xdc.useModule('xdc.runtime.Diags');
k0 g* w0 N$ k! x0 ]2 v1 p( ?6 ]var Defaults = xdc.useModule('xdc.runtime.Defaults');
; J. [3 A) i" U" f$ Z- U4 A: l4 N- f) e1 p( D
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 I7 I+ h+ @* k) L; qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# I$ \- e1 {" P7 ]Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, h$ l$ x# v; [1 `Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: @& m0 C# v) D4 o4 ~, I8 A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 Z0 A9 d! }; Y) S( H3 x
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ a6 W% \; D: f) d8 tDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 v2 [) a, ~ y! Y% L; X0 u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; R, Y, X: z+ ~ ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, i* r' g# M5 m: e
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 u9 D6 W; e2 Z2 J
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 ?5 f8 U, U! I) sDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% H0 g4 w) r2 P; X% q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 r3 {& J# ~/ v F2 W0 G- @$ n6 PDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- T2 {7 i: R x# A1 |5 |, i8 A
4 `$ @: p* m3 P9 j( n- N- _6 G; C/ O
/* override diags mask for selected modules */9 {: o- G: Z( O$ D; I9 L% i5 F8 n
xdc.useModule('xdc.runtime.Main');
4 S/ X* `$ K! y9 xDiags.setMaskMeta(
. [6 d. B0 |- P "xdc.runtime.Main",
: M i8 \7 I! k/ `3 J! l" l' f" L2 n Diags.ENTRY | Diags.EXIT | Diags.INFO,
! g; }9 j0 Z$ \& u Diags.RUNTIME_ON! P& k! x' m$ z3 y+ }* q
);
4 j) { {: i: B
+ E/ ]! Q1 Q: q5 f4 n9 |var Registry = xdc.useModule('xdc.runtime.Registry');
/ G' U5 |! y jRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;$ _$ T4 i4 Z& I1 k! k7 ]
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
) @6 }: a7 y& T! bRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
, T+ B% a5 \$ r" O, mRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* r k! q- V. p6 n. F f# D* u
5 O: T9 j# h$ B, c* b/* create a logger instance */
2 ^$ l+ E* e M( G) qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 J, K7 U1 d% W$ }6 l/ [. ^0 Q
var loggerBufP = new LoggerBuf.Params();
4 ?3 c6 y/ _# w6 cloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 J8 L+ L) W% E( `, L
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 ? q d- E' g! p U+ [9 Q+ C' s2 A: B; l8 M( }: B
var appLogger = LoggerBuf.create(loggerBufP);
* r U. s2 b2 P1 ~appLogger.instance.name = "AppLog_Core1";' j) y, V) i1 W3 M1 K
Defaults.common$.logger = appLogger;8 Y ?1 Y! F) V2 k$ j
Memory.defaultHeapSize = 0x8192;
2 `& @, ~9 e1 Q& }! C& QIdle.idleFxns[0] = "&LEDStatus";
" k" V5 w7 s7 [Cache.initSize.l2Size = Cache.L2Size_32K;3 L+ h3 Y, e# b2 A5 L% x
7 d$ n5 E, q$ M4 j; h |
|