|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明& D3 y0 V# W! a+ B: }: l8 X
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' K' G" X& f8 c8 \; t( ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, S- F7 a- }2 Y8 \( q7 d- G" f6 d7 z0 @. W7 ]4 l$ E
是不是需要在DSP.CFG中进行配置
m8 d# {9 ]( M+ E D我现在的配置为2 K3 B) Z& J/ l8 v
" G7 @" {5 C; Q& Y3 J6 S H/*1 R% @! {0 a+ {
* ======== Operating System Configuration ========
; [, ~- x0 p1 W" d */& _* J! C3 k/ r/ W
" H/ |3 j& H4 V9 q6 ]) z) `
/* no rts heap */
- S6 j4 g% W- tProgram.heap = 0;# D3 P b& M3 V- [+ w, U
Program.argSize = 100; /* minimum size */6 ~3 ?. o$ x4 ]2 ~ x* {2 U
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ t2 V! c# }& `6 v5 b9 H
: k* |; j) e. D% m& x/* create a default heap */% B& u; E9 q+ S: K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ [3 S7 S! V6 p
var heapMemParams = new HeapMem.Params();
5 E6 \# q9 d4 R/ N- jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 X! V' u! J$ h- Y. ~: c( ~8 p) i
var Memory = xdc.useModule('xdc.runtime.Memory');
" Y# x4 M: D2 H3 I" O; ^Memory.defaultHeapInstance = HeapMem.create(heapMemParams);2 S1 ?. M, V, ]- q0 x5 S9 o
& }0 ^) i$ R& \, q8 q! _/* configure System module */
% Z7 N( ]- S( U: m/ dvar SysMin = xdc.useModule('xdc.runtime.SysMin');
5 q' n( W, t' D$ J6 R/ }" ?' ySysMin.bufSize = 0x1000;$ ~: c, t4 q: M8 ]) `
SysMin.flushAtExit = false;
1 ^1 J$ r) K4 [) _5 z) X
; g9 q, f1 q+ }7 u$ w+ Dvar System = xdc.useModule('xdc.runtime.System');, l, R2 L {/ K: S# x
System.SupportProxy = SysMin;: S1 s( J6 T! ?. D* J
0 r0 |& q; ~5 t, s
/* configure SysBios to use the lower half of Timer 1 */! @9 n2 k% Z S3 ]8 i( \0 o
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# O% F* }( I: y! G* nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');; Y. |5 N1 i v. f
Timer.timerSettings[1].master = true;
0 }$ t# v: Y/ ]: v MTimer.defaultHalf = Timer.Half_LOWER;2 H a8 F9 i1 {+ z- |: j
Clock.timerId = 1;
4 J9 Y% O; V, D" s; P0 R& B9 z$ C" D) t
, }0 I* g/ S& k1 T, @$ |
/*6 }; c8 B. l2 m
* ======== Miscellaneous Configuration ======== c& k8 A6 i5 P/ d. l- g
*/
9 V) _( I0 H/ d: Q9 q
/ u0 V5 F1 p H: @$ E J/* set default diags mask */5 d4 L9 a8 N/ c& z! v
var Diags = xdc.useModule('xdc.runtime.Diags');. E' S! g( ^. u% [ W
var Defaults = xdc.useModule('xdc.runtime.Defaults');# F1 e( c1 C4 ?7 ?
5 a) \, g9 {/ f( Z# @( nDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' m, V3 K& L0 k; \! fDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& U2 y( N4 X0 c
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: V g; U; m2 t; IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// f' J6 [' @* x6 k+ f3 R
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */8 m6 `, c; W& m& J$ K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! \# T& B" p6 S. U; SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 ]3 M2 t6 F7 O' l( J5 h1 z: VDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
w }# {/ j3 E$ |. sDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 R$ u9 j$ }) A
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; q' C: Y2 F4 A
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
& Q9 d; N3 k4 i$ l3 P" QDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;% h) d. u6 U7 G! A
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 l7 G1 s' z# V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 L" }' E) J# U" v+ Y# {: t
' s8 ?# l, m) A( p) d
/* override diags mask for selected modules */3 P0 r; K( V9 E, [7 F
xdc.useModule('xdc.runtime.Main');
: [9 l& z9 n- N+ c* p: \Diags.setMaskMeta(9 J9 D9 T& e' g' S/ r
"xdc.runtime.Main",
; s: x$ u8 E% _& L! x2 U; G9 R Diags.ENTRY | Diags.EXIT | Diags.INFO,' G. c; k2 @1 j4 Y
Diags.RUNTIME_ON
* u% l1 A0 a+ Z);) F, V0 S9 v# @9 \
* y& y5 R+ \$ W3 }# K9 M( g! |var Registry = xdc.useModule('xdc.runtime.Registry');
$ J* C5 `! S5 t8 g5 ?) IRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
: x/ i( b( Z# [( t, M; ORegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( @; e- S, q1 @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 j0 s, y0 C7 j# {* e; A& o
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 t7 s1 |: P+ |4 W5 W
5 Q& `& ^' ~0 C- G; G
/* create a logger instance */- _+ S4 ]0 A+ c7 u8 {# L" }* |: Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- m/ g% x( y. u* {, gvar loggerBufP = new LoggerBuf.Params();
% P2 W; a9 K- j3 ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 T* x2 B4 }4 T2 z- W
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 r. T5 l' Q# a. E+ A5 K
; q4 M$ _$ Y; U6 G7 b8 y
var appLogger = LoggerBuf.create(loggerBufP);
. B6 }" R0 R- b% m. tappLogger.instance.name = "AppLog_Core1";
7 A `; R) T& i( y5 mDefaults.common$.logger = appLogger;
+ }. F1 f8 s& u" C% T! o7 p4 A$ gMemory.defaultHeapSize = 0x8192;
3 t3 M5 Q7 ]: B$ I( E& QIdle.idleFxns[0] = "&LEDStatus";
/ o. e3 C, N% ]Cache.initSize.l2Size = Cache.L2Size_32K;
. M. B7 q# v; \# \* ^# y. k3 x* k# m. q3 K v. p! E
|
|