|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, a2 @, E- j! a w8 [# l我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& L& C: M- e9 V% Z2 A% N
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ C [* h4 v, N, Y8 a- B+ _+ _. T# c, X: ]
是不是需要在DSP.CFG中进行配置( B; O1 l$ j4 N/ u1 u% L9 R- f# Q
我现在的配置为
1 m+ _* }2 L8 t; N+ E
! P0 M' h3 f( d- c' T/*
2 V- Y# G! K, Y4 l2 c * ======== Operating System Configuration ========
1 B' @7 F+ j4 M: e */
) A/ T9 C; |; f4 b
" m- X5 A( Q# _ W: l" }3 K4 S; H/* no rts heap */6 T* @' [4 L& f: M0 j4 ~! B
Program.heap = 0;# D/ u2 n& `5 Y- V
Program.argSize = 100; /* minimum size */
1 E1 ^9 t0 p0 N4 K4 ~9 _$ cProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' f' a$ X; \$ a% x1 T9 V9 |' h7 F! `; E! W/ {0 n& q
/* create a default heap */2 H; u R& d. \5 ]6 W
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
) F& A$ H) m) y2 u/ q0 o& G, Zvar heapMemParams = new HeapMem.Params();
1 j8 }* V* M$ g+ |/ b- }, IheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; ^- F" R6 a- {) G- P) u$ T/ u" _0 V, u" \2 v* J& z; w* {
var Memory = xdc.useModule('xdc.runtime.Memory');
# v0 b4 @0 B9 z' b8 |+ jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);0 y- a9 {% P( i8 u
0 N$ D! r3 ]4 P8 ]! N2 A& F6 Z/* configure System module */: W3 Z% @ f6 ~8 @% C# m& D4 X
var SysMin = xdc.useModule('xdc.runtime.SysMin');% ~- m( ~. Z* [, W' P
SysMin.bufSize = 0x1000;
/ A4 b9 a* I( w- g" z1 ?SysMin.flushAtExit = false;1 F% k3 k( m8 k0 \
' P* J& p; F) J- m8 ]var System = xdc.useModule('xdc.runtime.System');5 g, `( U3 U. k( K: l
System.SupportProxy = SysMin;% p W# R5 L5 r3 y+ Q6 j
! L, F2 L- R4 \" X( N$ Y# X- |/* configure SysBios to use the lower half of Timer 1 */
+ A/ q/ l/ I$ f0 @$ Q: [var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! U) G, ~0 Y+ Z9 f& c) a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');! d% |! R, i! A: R/ ?
Timer.timerSettings[1].master = true;
% M# f5 ^4 V% Y8 f5 U V/ TTimer.defaultHalf = Timer.Half_LOWER;
! F4 r- p, I: A7 S, I4 Q- gClock.timerId = 1;9 _$ r" q( w" g& G1 S! x+ Q* P
' o, y+ J$ V% Y0 g) }, b1 P* M4 N# |
/*4 E2 `- u X9 B5 w
* ======== Miscellaneous Configuration ========
3 Z- l5 |% B) d9 ]# L& O */
& v& |7 X/ w9 M8 P
& Z) o" o& J6 C$ Q0 v+ {# X/* set default diags mask */" z) r& T- ]7 x3 Q. z* t+ ?
var Diags = xdc.useModule('xdc.runtime.Diags');
' V W8 y F6 k* r i1 Qvar Defaults = xdc.useModule('xdc.runtime.Defaults');( G" T" ~4 j8 L, H5 f5 L
* e- t% h$ c4 @
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 \) F9 p! L5 V/ E4 O6 ^$ O/ k: rDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ Z8 i& Z7 b, P5 BDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;: x5 Y/ @# p) H
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 z4 s* m) v6 d9 ~) j3 \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 y, ~7 z5 U' W+ c1 C
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' s `- }' o/ P y( Q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 g+ T4 m! S/ U
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! m+ A( D* J1 Z$ d! w5 G: i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) h- C/ n% k( h/ [. \' e* mDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- t& B0 p/ O# v( w. W
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- F9 v5 \0 Z3 h3 QDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 | a9 b. G3 d& m2 ^Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* O7 K% A4 F( V0 Y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 {1 [" \7 F' Q. j" g
1 Q1 |: k* r% s7 v' {* h/* override diags mask for selected modules */8 \2 a- S: J/ i; L
xdc.useModule('xdc.runtime.Main');- z: L2 L3 A2 Q' i7 Q [
Diags.setMaskMeta($ i" H8 f1 c" z& v8 f, I
"xdc.runtime.Main",; f* A# o8 _1 c9 N
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' [) q' Z- @% B2 ? Diags.RUNTIME_ON
$ Y9 H! Q) o: N: S; x);
! O4 t' R/ H- F S: ~1 O5 O2 i
) p v- i! z' X: ivar Registry = xdc.useModule('xdc.runtime.Registry');
: b5 ]% [3 f8 p1 J% q5 bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 W/ U# y! }9 K+ v- M% M' r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ Q/ t+ A8 I9 G) Z2 X. p/ i) y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 z* ~9 J- J* j1 i
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; A2 ?# K$ z0 |( b" Q
2 w9 p1 @- S3 D& M
/* create a logger instance */
6 | W# {1 p% w- ~% S9 jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 W5 e6 n& \3 c" `
var loggerBufP = new LoggerBuf.Params();
% Y" L: ~% h* d- VloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" r* h5 c* ]- F& G0 O( g
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- S/ U* k% u1 f0 a% ~( [4 W* ^" ]3 T. q* q( o$ P
var appLogger = LoggerBuf.create(loggerBufP);$ v( b4 G" r! b: H+ `( ~) z
appLogger.instance.name = "AppLog_Core1";& A* m; r$ E- F7 Q3 j7 p' n' R" i
Defaults.common$.logger = appLogger;
' E/ M( ?, L8 w4 @" vMemory.defaultHeapSize = 0x8192; 5 t8 b% P" [% f: B! K
Idle.idleFxns[0] = "&LEDStatus";4 w5 R$ s# e2 d3 H/ M* m
Cache.initSize.l2Size = Cache.L2Size_32K;- B& g5 G" G6 X7 D/ U( o
7 ?9 ~' k, \% ~
|
|