|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) K/ B5 ~8 q6 |9 Z, k" Q% J) `% d
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* O$ J: Z1 ]' e/ }9 x7 y" A(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 y/ A; N7 e! k1 M6 n7 J
/ b1 q/ T6 O1 H
是不是需要在DSP.CFG中进行配置9 m7 B/ |$ Y1 ]7 z" W9 p; ~! L
我现在的配置为* \* k) `' R+ r# h7 R! R0 ?
1 t+ o; o4 |) s/ b0 x- ?
/*6 S& z# r% s( l5 x. S
* ======== Operating System Configuration ========
4 I) t# K8 N0 r% ? */
6 G2 k, J3 o: h+ I1 C4 [+ z5 ~ m! ?6 \& N9 z
/* no rts heap */
& z# U+ r: D: [3 |* V1 Z8 AProgram.heap = 0;" |' F/ R3 K# L3 b$ |
Program.argSize = 100; /* minimum size */+ B; n$ G+ Z+ ~
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 M3 [5 N3 N8 r' b6 q( R
; P8 Q0 I9 l; s9 {2 H3 P* T) B
/* create a default heap */
9 \. `6 V D8 x6 ], Mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- M& a# \2 h1 Z L" N
var heapMemParams = new HeapMem.Params();- t* H7 U0 O, q a
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 g, ^+ T u0 z- C+ O
% }, i3 B! M$ b' X/ n: avar Memory = xdc.useModule('xdc.runtime.Memory');
$ G9 d1 t# K; S) m- hMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ f+ s! m( A2 Z9 ?8 _" Q( W+ p% e) b0 H3 Y( t; Q! J
/* configure System module */
8 T# }6 o$ W5 v6 [$ |2 d! \4 [var SysMin = xdc.useModule('xdc.runtime.SysMin');9 A/ O% X) [+ M% b) r1 F# G) C
SysMin.bufSize = 0x1000;
7 s- N! `# P$ P, }SysMin.flushAtExit = false;
# d4 A1 P# z2 P8 \9 y
) W! _4 S$ P& i4 g) ivar System = xdc.useModule('xdc.runtime.System');
/ l X& _- n# N" ^System.SupportProxy = SysMin;( ?0 _5 d6 m2 d) P6 g6 x4 Q2 @, P
9 k* U* Y' p7 b9 m! {/* configure SysBios to use the lower half of Timer 1 */5 l) B/ F6 E, F- G2 R0 c
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 K, w5 _$ ]: B4 q! H8 C% b
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% Y8 G6 P) ]1 p( T6 Y. G; ~
Timer.timerSettings[1].master = true;2 Y9 l+ h8 }# I1 d: f* c
Timer.defaultHalf = Timer.Half_LOWER;
) P2 A0 ?9 |+ _+ DClock.timerId = 1;
! b3 R( x" R+ q8 t, r( T% i2 G4 F; @; j8 L8 S
; O5 C* q& o! K& P
/*
# l) P" I0 s/ o6 M, y3 d * ======== Miscellaneous Configuration ========1 q8 q4 W) E4 X* d4 G# a! z! i
*/
% |$ J! a D; N5 P0 c2 \ ?6 d. ~+ Y5 f# C
/* set default diags mask */7 n0 l( {! B! \4 {* h/ G D: Q
var Diags = xdc.useModule('xdc.runtime.Diags');& ?! P4 p4 E1 V! e
var Defaults = xdc.useModule('xdc.runtime.Defaults');
) a% |6 C& o p2 e
1 K7 T" K6 c7 Z# iDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 s2 n; z6 j- e: |/ g! ~8 gDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& y& i+ O, ]9 |1 v% GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& O+ u2 b) F1 `, g& L# J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 E" \4 B3 [- \( f
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& C8 M1 }4 R0 \7 L( F" C& W; q" \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; Y/ e" o2 A lDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" Z* k) b+ R2 l D# D) `4 s# sDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF; O$ `& j) p5 _# t/ m
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 t5 K6 z0 z0 f4 _) kDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% e# s+ m! |' `* p2 bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 u* C6 [0 t: S) M& n8 }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' H+ B+ k$ o1 M1 O# d& B# i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( i8 o2 b; T2 b: f' |# G: ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 V( W. K& K7 \) B
S: Z r! H2 X% l" x5 q& |
/* override diags mask for selected modules */$ R$ s8 ?/ [! s: A& ^9 \: C) k
xdc.useModule('xdc.runtime.Main');
$ B" Z5 D/ z/ H8 q @! bDiags.setMaskMeta(
" @3 m8 Y- V9 t+ B "xdc.runtime.Main",
% A( _: h, X6 J1 T! a! S/ W2 `; O Diags.ENTRY | Diags.EXIT | Diags.INFO,
- z- n) ^0 |% ] Diags.RUNTIME_ON/ d4 P/ ]8 x3 I1 y& @* [1 W
);
+ q3 K! z4 d" @: u5 \0 r! U# {
% a' U7 Z6 L$ m( C- x" Z4 `& k! Avar Registry = xdc.useModule('xdc.runtime.Registry');4 m/ S& e. `: A1 V& d
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" u. {5 E/ a5 D. w7 x# n" d# f- }! i
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& l! Z0 q# S! {! D+ h* u/ ?Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ ?$ |* \9 s, M! x8 U0 @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 T, B: |( C/ s! B% t* X
& ?6 y. | R5 V/ q
/* create a logger instance */
6 d( ?& j/ w5 R* h' Qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; R% z$ v; e) v8 \4 b& t W l7 n4 {var loggerBufP = new LoggerBuf.Params();2 U( W" V) U5 g
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* A" R) L+ H( A, e- B
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ E. m- U/ ~$ @2 d
: _% F2 @9 W: [8 j) R' Y
var appLogger = LoggerBuf.create(loggerBufP);
5 i) d9 p5 R5 h! t" U3 o$ YappLogger.instance.name = "AppLog_Core1";
2 d# q7 a& j- z' t4 DDefaults.common$.logger = appLogger;
|3 B1 ?6 P$ M$ g! N! NMemory.defaultHeapSize = 0x8192; " q+ G& c- I( [2 P/ r, W0 t0 A
Idle.idleFxns[0] = "&LEDStatus";4 k6 ^% F/ ^ C9 M, v
Cache.initSize.l2Size = Cache.L2Size_32K;1 B U9 T9 _+ Q1 k% K1 q
: P [; U, r/ Z% ?1 J0 s9 P
|
|