|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( W- H% {& r2 M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: s, F' q9 O# i, T6 ?- A* c
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- S3 J G/ \! z0 D S5 b- q8 X2 J1 ^1 c- B# ~
是不是需要在DSP.CFG中进行配置
/ {7 D. V# l* K' B) s5 U6 t我现在的配置为7 B! ~( O$ _0 O: s* m
5 i+ M& {# m1 F2 z/ ?0 |/*
: V% \$ a) }* I3 f' ^0 J I7 P1 f * ======== Operating System Configuration ========
; ^ i3 R, N6 p1 c9 Q: G */
% F z9 K* q/ J+ c
0 r) P) c" H* x3 R) c. k: `/* no rts heap */
0 Z% u4 R8 v) J5 Y5 W" I1 H0 L, o' mProgram.heap = 0;6 }4 w8 b8 A7 R6 i' t2 w# o' S
Program.argSize = 100; /* minimum size */; R2 k% O5 W! ?% {$ T) }. t# z- q0 ?
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( L! j5 U, o" y- D; t+ u3 f8 |. x# ^8 d) B" L2 X
/* create a default heap */8 v5 |6 ^ L- X- c& s- K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 j( h# J k0 E! O# g2 p
var heapMemParams = new HeapMem.Params();) u, m! M6 F. L4 ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 A8 H+ ~6 ?5 \! g+ g
0 k$ T& M' P% t$ N, V9 U) ?" g! u
var Memory = xdc.useModule('xdc.runtime.Memory');
* l( v0 U) C- |5 h6 A5 y7 @+ ?- BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, k5 t. \1 w0 ]8 f* ?" I9 @2 a4 v8 q7 p% U- Z6 t5 [! \; X
/* configure System module */
" O) Z$ _3 o( k8 G9 uvar SysMin = xdc.useModule('xdc.runtime.SysMin');4 Q! f. U7 d8 [7 J% U
SysMin.bufSize = 0x1000;' ]+ S9 ^9 m0 Q7 e- n7 S. l4 ^
SysMin.flushAtExit = false;& W- B1 f( ?. o% n
5 \" W' F/ s: y& ~" [, `/ F
var System = xdc.useModule('xdc.runtime.System');
( E& y1 [( X$ o6 T C& l3 D5 xSystem.SupportProxy = SysMin;
1 g4 p1 a U, @ P6 d" ~' e* h9 R
/* configure SysBios to use the lower half of Timer 1 */2 c4 F ~; D# F
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ S( |5 i& A3 s3 m) C( _4 Y
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) s+ t/ l0 y) I! i' J( d2 g- Z
Timer.timerSettings[1].master = true;
! M& a" T( v7 q/ K5 K4 l/ `Timer.defaultHalf = Timer.Half_LOWER;
5 f; c0 m% W5 K: r5 EClock.timerId = 1;
9 G# H) e6 {! x' i7 _7 C/ w. G
' j# p1 C; l0 L! v* J r" s$ Y3 l3 Q# i% E
/*+ W6 \7 b1 K1 p
* ======== Miscellaneous Configuration ========
9 U0 \$ K @. p5 b8 B */
$ B8 H7 P" x+ c( b/ q) I! Z7 e4 M# W' l
/* set default diags mask */, P% ^3 D2 a8 |! g5 Z
var Diags = xdc.useModule('xdc.runtime.Diags');
' Y- O" [5 C, a5 Y \6 J1 kvar Defaults = xdc.useModule('xdc.runtime.Defaults');& l( c- @- B# ?- c
* A: M( p/ m+ {1 @' LDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# r( z9 [+ E T! ~" Z- {
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' ^ F7 D2 J0 ~3 v& YDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 P5 _! l0 n/ s1 \( j: z& |Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* P( g! i3 l; J4 S$ T
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 c! X; y8 e" n! u9 X# Z& z+ g4 i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 s6 ?! W+ c k, b
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
; P% P6 m! q8 ]$ _8 K" {+ IDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, X) W) T- s$ }* p1 K2 eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
h! ?6 o' K2 ]7 aDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% _: @' w" s9 }- G( ~" lDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 a: G. q) D' _& Y$ h! `2 T! cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ [& c' R5 d# e2 W# ]Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; n* a6 h/ B1 @& P, b: \Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& n) U$ r7 f0 _* P+ d
( i# C4 z( ]' @$ g8 L1 j* O6 T7 {/* override diags mask for selected modules */- O6 E# H4 f+ e8 |! r. X4 s: R4 \" ~
xdc.useModule('xdc.runtime.Main');/ b, _# S! S, `, ^
Diags.setMaskMeta(
( E. C" K E: w3 Z+ q "xdc.runtime.Main",* h6 p/ j* @ [/ }6 K4 J
Diags.ENTRY | Diags.EXIT | Diags.INFO,0 e- c' h6 K+ k6 T. Y( g* {
Diags.RUNTIME_ON
. o) a! U6 o# R# U4 |) K @" G9 U);( z6 n2 t8 P2 R0 A1 D S2 f. c6 ^
/ A) f" r0 J' ]var Registry = xdc.useModule('xdc.runtime.Registry');
& i5 P0 F: \+ o/ l: rRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; a w: O, j S0 d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 ?+ t) \* e7 X' wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;, k( T4 r3 W, T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ v# p) C q }# z$ M7 q+ A0 @% T: |* O7 W
/* create a logger instance */
q0 H* K* ?% i4 {1 svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; ?* I( I8 x1 yvar loggerBufP = new LoggerBuf.Params();* h p! W9 v$ C. \
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& {* M& ^9 u4 _7 F) j
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 g& D$ j0 ^. ~9 x f0 Z( z3 D0 o+ Q
var appLogger = LoggerBuf.create(loggerBufP);
) ?% \+ [- R: o2 aappLogger.instance.name = "AppLog_Core1";
' O8 ?. {1 B5 i. `% ^1 @: V# m# qDefaults.common$.logger = appLogger; o$ w# z3 O+ Y; c
Memory.defaultHeapSize = 0x8192;
' W# _2 u9 L4 X! gIdle.idleFxns[0] = "&LEDStatus";; {/ R8 t2 h0 c+ g
Cache.initSize.l2Size = Cache.L2Size_32K;
& b+ X6 h" ] p+ j8 A# I/ B. c, ^* Q I! \
|
|