|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明$ ^+ Y' M' p( r5 K* P- l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ e' U8 b9 v1 B' J) }8 \* e7 M5 H(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; A( y% `& ?7 V5 `1 T! Z# w
, |9 Z* F* }. h! w; U# }是不是需要在DSP.CFG中进行配置* z( [, H% @( L" Q
我现在的配置为
& W$ f6 @" _& K2 _ { l) V* B+ L+ Y5 t [8 Q
/*
. j! Z% W( ~* H * ======== Operating System Configuration ========) j$ E; \ ~+ R3 ^' S
*/
( d- h2 Z5 ~' M+ m7 K, a. F
# l% H4 `$ y5 X/* no rts heap */
& |" h! [$ M% Y7 y, W) C7 [Program.heap = 0;+ c" s' e) f( M) k
Program.argSize = 100; /* minimum size */% ~! Q, v- ]' L2 [+ z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大. ^% _" x4 a; L, P3 P
* S+ D% g! g' H" m, E( _" K
/* create a default heap */% ~. c1 A2 m2 g4 u( h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
+ t M( N% |( F1 R. y, a: A+ ?3 F, Wvar heapMemParams = new HeapMem.Params();
M) {9 D) x: ?* pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ ?; R5 N; w: ?% o. q( {" K! M# N1 r* ^$ ^
var Memory = xdc.useModule('xdc.runtime.Memory');. |1 w) r' c, ]/ ~5 n# P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ J$ \4 P, c% S4 {; e: T: ?# r% o0 K7 ~) X# D' v, `; k. e
/* configure System module */
/ C7 o- Q* { I! Zvar SysMin = xdc.useModule('xdc.runtime.SysMin');1 L2 g/ m; Z7 R+ c5 G6 ~
SysMin.bufSize = 0x1000;
" O% k4 D" x* _ P PSysMin.flushAtExit = false;, P& m3 _8 `# |/ P
( `. p+ Z! T/ _; Y4 P4 o* u
var System = xdc.useModule('xdc.runtime.System');& r9 y+ f+ v& A0 W. Z
System.SupportProxy = SysMin;
; [, `% R; y: u9 Y, {: ^/ {2 ^' n: R: i8 a6 M+ ]( c& H) e
/* configure SysBios to use the lower half of Timer 1 */ H8 x: {0 p! A! H. W; u
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: K3 _. p' W0 ~2 y4 n
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 N" B# X# C8 FTimer.timerSettings[1].master = true;+ ~' p( |; g$ z' \1 w. D
Timer.defaultHalf = Timer.Half_LOWER;
3 ]% L0 m& k, W( J& SClock.timerId = 1;
& E3 ?" a; T, \- d
, e0 C0 T, m2 c* ^- ^% z6 P" ^8 A" P% }: F4 o+ J( b
/*
* f8 b. Y2 A/ z8 c4 \ * ======== Miscellaneous Configuration ========( ?- ^) s8 m* j+ Q. i; u
*/
6 X) t2 q8 h, W, [
# W, k- J+ `* l* z Z- ~/* set default diags mask */
' q0 @, o& W0 }0 nvar Diags = xdc.useModule('xdc.runtime.Diags');6 f8 Y3 b; L2 t: ]' \3 S7 J
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 ^& `0 B/ O: [! P
6 p/ `* @# O4 i
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ q0 i3 e# Q+ @8 l$ M" n5 O0 b
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: t3 i3 k- k% _; z! x( t z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* I5 F; y8 X5 R1 h: a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" q/ z( t1 {8 K' {. m0 f$ G
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# c( V/ u% ?! s* G1 L9 A9 tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 b `4 Q8 R: K6 W4 w* K. U; V2 YDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( |8 i& ~% w6 C" s! c4 T
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' c) [2 N/ @7 Y2 @Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 m7 s; |5 d& p3 u# A$ V+ zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 C t7 G# x# ]# U7 L' `8 t
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. p6 I+ e/ T9 [0 R" [; i' y [! m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 o }- q7 Y. z* t8 v8 A/ U% m5 ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* O* {! x N" d4 a
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" Z0 T- u1 i- m& z+ [9 z/ G8 k/ e! E/ f* A2 |, c# N* k( a
/* override diags mask for selected modules */7 j5 @4 t) N( X2 ^" B
xdc.useModule('xdc.runtime.Main');* u; @& |7 R5 b1 Z, B* x
Diags.setMaskMeta(
3 J& [3 O3 o$ V" v, j% B: | "xdc.runtime.Main",3 R* [: Y2 K4 _" e3 h/ F
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 ^3 h$ A; {1 R3 u+ B& |& y Diags.RUNTIME_ON# w7 `) G; b% r9 M3 S" H/ |" s5 c
);3 K/ w& I7 `# @- |1 C) n
6 |# o4 X1 M/ C$ b$ ], k7 @# X: rvar Registry = xdc.useModule('xdc.runtime.Registry');! I: J6 P( d6 }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
c! B/ ~2 r7 \) O/ L& hRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 {: H, f" e. v7 k
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: Z: Q2 e) E& H% S1 b
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) p( {# G( ]% y0 U, B; @- y- h5 x" W& K$ b, }7 r
/* create a logger instance */
- _4 r/ x' J3 ~var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; |$ s+ E* {- P; }, I9 Svar loggerBufP = new LoggerBuf.Params();
& p9 @3 O7 Z/ WloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */; {1 @# Z. E( }! I6 e+ P6 `! \
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. O; W+ v& R; M1 @1 X+ [6 Q* t9 O l( l! a5 Q5 v. L( j
var appLogger = LoggerBuf.create(loggerBufP);5 x6 V) M" ^) U% }: T
appLogger.instance.name = "AppLog_Core1";
" J. Z0 X5 Q- }4 ?Defaults.common$.logger = appLogger;
( o6 Z \3 `; q: v' uMemory.defaultHeapSize = 0x8192;
0 l# \0 X9 b" JIdle.idleFxns[0] = "&LEDStatus";
$ E8 B9 W. A8 `Cache.initSize.l2Size = Cache.L2Size_32K;) Y( q+ Y) {; i) R" ?, d! _0 A
; D B) r4 \. s3 f/ V2 L# r5 D: L4 u3 e% e
|
|