|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 F; z( V, _7 A$ `+ t+ w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 [1 _+ @1 @, l: J8 y) Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# W9 ?' _% Y% m$ t5 F4 O X2 p& r) ^9 z% l3 N2 j/ m8 g: t
是不是需要在DSP.CFG中进行配置1 u0 B) @0 v' `9 q! K
我现在的配置为/ T0 b1 r, D$ O; i. }4 K
( {! T1 ?7 @4 g2 B8 D
/*
5 p% w9 F0 J) _ * ======== Operating System Configuration ========) J2 ^7 \4 ^) ]7 \4 w4 O
*/
; N4 A- k& m6 Z W
, h& L, N& J* d b$ D, { |/* no rts heap */, O! e# R5 b2 A: C9 p6 E: y
Program.heap = 0;
% Q' W: E4 ^+ b( HProgram.argSize = 100; /* minimum size */
. Z) K( L" [4 u0 f' t/ |5 S, O2 dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 F. \! r+ e3 H
% K# \& v: H- P, v, U/* create a default heap */" Y" Z5 i; L2 k' F8 q% N
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" J2 L1 ?: u) |1 [1 F. n
var heapMemParams = new HeapMem.Params();
1 r) H, D- e1 C% a3 m/ q# zheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 [: C# T& @; s% y2 Q
h% m/ K" e" n3 P c! [% q- Ivar Memory = xdc.useModule('xdc.runtime.Memory');
2 ?7 _/ A, g( @) _; e: T4 EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" b5 w; F& q/ m# b
: s) a% n4 Z& d7 l/* configure System module */
/ N0 W4 J/ e5 B& rvar SysMin = xdc.useModule('xdc.runtime.SysMin');5 M& I. \6 T) r7 M g$ c h) M
SysMin.bufSize = 0x1000;
9 c* M8 r) d7 Y* U4 v2 S8 x& s E2 rSysMin.flushAtExit = false;
" ]+ @0 t# c* ^$ x1 d, q
$ b/ M: }- ?9 k' Jvar System = xdc.useModule('xdc.runtime.System');
( M3 _/ B5 X( s9 x" O$ }System.SupportProxy = SysMin;
# [0 H. d' R* Q& C$ U @1 h
5 P e* X4 T# b5 d( _7 O/* configure SysBios to use the lower half of Timer 1 */! O8 t+ \. H0 ] M9 G- @
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ C6 P3 w4 K/ q% b0 ^( I# v u5 Yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');: S4 _+ V4 u% E) R6 c5 ]. J `9 Z
Timer.timerSettings[1].master = true;8 f2 Q. `' ~$ r, V. t
Timer.defaultHalf = Timer.Half_LOWER;
! d4 J, z# S& f% c9 RClock.timerId = 1;
6 S- h" n) s$ V6 t N# V+ J; }! V2 K$ Y4 O/ X8 U( T: U
' V" r, c) U$ R$ d5 Q+ ]/*
* y) V6 A0 v% w * ======== Miscellaneous Configuration ========
, b. a& O! ^! `$ S* b */" d. z! d2 ]' ~) c# d8 V7 N
) t( @! S" w9 [6 ^
/* set default diags mask */* Q" m% |( a) K2 C
var Diags = xdc.useModule('xdc.runtime.Diags');
" g7 E( `; G7 n Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
" r% N6 U$ t O1 j: f3 E l q
7 i2 \( Q* w; v3 i2 f0 n, xDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. {; E$ ?8 G$ t8 B k7 H6 |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 p# Z" i$ e6 eDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; d Y& Y K+ w2 n7 s
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ s6 H" t: N& u$ d5 W1 B
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ ^8 ]. ]: |6 H. g! p8 N$ H8 Z! ?Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;; N! {: u V0 h% \
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 ~+ E4 d8 t# j# [Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 E5 ?2 o6 [0 j/ l8 c" c9 ZDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. Z3 ]( D( `) |" z6 WDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& ^2 k, C2 A) G2 q& u& XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 H3 m) W: R5 ?( v6 }Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. O0 f1 |8 H2 ?' c7 E S1 q5 fDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; ^4 }3 q' B3 I4 H( w0 ?# nDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 h0 L% \& F. R7 e2 ~$ W
. H7 I' V3 u$ R$ ]5 z/* override diags mask for selected modules */
. l3 C$ L' K% i" L# j/ m0 zxdc.useModule('xdc.runtime.Main');+ `1 P% r7 p$ G' i* [+ M2 U# q5 _* X
Diags.setMaskMeta(0 G* u, h' W1 B3 A
"xdc.runtime.Main",$ B9 [2 I9 h* x2 ~3 j
Diags.ENTRY | Diags.EXIT | Diags.INFO,4 u- o& K8 N9 c! ~* n s
Diags.RUNTIME_ON
: P0 \+ b& R x% ^);5 ~+ R8 [" y# i, j2 ]' b9 p7 D! I5 I- u
; @2 N- j; M4 q4 B0 H
var Registry = xdc.useModule('xdc.runtime.Registry');" e' }$ \1 n/ @, _3 w Q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 T8 V+ M; J) x; E8 T* u5 f! n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 A1 C. T) p2 d- C0 j! X
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 v8 ^/ _4 W0 _* Z. M# w% `' rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;* [7 T- {. S9 |0 c, Q5 `5 y/ N' q
; g; q7 o, ^$ L3 K/ B5 D, W/* create a logger instance */
& @2 C" ]; f- Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ l+ P& `( ]& S8 ~! r# c' a4 `- H2 K) ]var loggerBufP = new LoggerBuf.Params();! g( w% F6 X0 z5 K7 @# L& J
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) c- V' w, u: ~) X1 K) R3 H
loggerBufP.bufType = LoggerBuf.BufType_FIXED;9 X l; r: \0 D* t! a1 m
4 e2 y6 i: \/ H6 _0 l! \
var appLogger = LoggerBuf.create(loggerBufP);
* z; H; T( ^0 J, o: [+ o; ?4 _% RappLogger.instance.name = "AppLog_Core1";
2 s4 {* f; r/ d5 @Defaults.common$.logger = appLogger;
1 j! b+ C- Z2 e" T& M- w, v$ HMemory.defaultHeapSize = 0x8192; ) F) j$ s, V! l& Y* R
Idle.idleFxns[0] = "&LEDStatus";$ q$ c2 Z7 B% I
Cache.initSize.l2Size = Cache.L2Size_32K;
4 A+ y$ q6 f% Y: T" Y9 p9 u6 }/ Z0 R& N) U$ G; H7 |
|
|