|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 [# r3 e5 x ~( J: a我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 Q& i% x8 \7 y1 d8 \
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ w5 p. w2 Q- Y& ^# S) \9 \
, A$ g) }' j, H5 [& r7 E2 @, y% {% C
是不是需要在DSP.CFG中进行配置
! n& }. B( b3 x7 m: J我现在的配置为
a$ A& G: B& b B3 }4 V
' y/ L0 |) \1 z" u6 L o/*, ^, d: E. M, K' N- U0 M- L" F
* ======== Operating System Configuration ========! c3 \: q R. N ]2 @, c
*/ q2 h0 [ h; a; e7 P
* d6 n1 t( d+ e+ f8 g! \/* no rts heap */( g9 L/ Z6 B6 u2 _$ c+ ?7 Z3 q
Program.heap = 0;; F `+ [9 a: s+ S5 b) g
Program.argSize = 100; /* minimum size */0 f; b8 [) v$ L1 G( x: n
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大; }5 V, n4 h& v6 |7 _. \( \9 o" R
% o8 x$ n% t% G/* create a default heap */0 u- E2 Q1 G- C5 ]
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 o7 _% q0 x+ E; N* f- `
var heapMemParams = new HeapMem.Params();
% N8 a7 V$ A1 i5 [$ e P! M1 YheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. }/ _/ i) u: A0 ~; ~( m7 W6 F' A' n" w5 @
var Memory = xdc.useModule('xdc.runtime.Memory');7 q( I1 N) {" t9 K0 L
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 C$ |0 d- [" X1 O0 A/ W" X. ?! @4 [$ T- d4 X
/* configure System module */
* w @+ k9 C2 Y' s. u$ s& hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
) r2 S* _/ ? Y6 x( |SysMin.bufSize = 0x1000;
8 h: ^+ D$ x7 ^/ o% t# z/ pSysMin.flushAtExit = false;2 L. L8 \; o6 R
7 ~0 I+ e" y$ Tvar System = xdc.useModule('xdc.runtime.System');
9 y$ x; _4 z! D! @! |6 n' ASystem.SupportProxy = SysMin;# U% l) y, ~2 O* m4 ~4 t# x, k) U* w5 s
# }8 J5 }! Z% _% K0 x1 j& \0 J1 g
/* configure SysBios to use the lower half of Timer 1 */
2 s4 L' s8 h5 y3 A3 L- Rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" E- A p8 ]0 P8 L8 nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
) y# `% L' s2 ~3 pTimer.timerSettings[1].master = true;! N- \7 K7 |9 s! C
Timer.defaultHalf = Timer.Half_LOWER;' X, D( M0 [( d1 w2 r5 G
Clock.timerId = 1;
, a! s4 Z- q% L* |# e' k0 g- F- V4 G1 f6 \' d# P" F7 H- x& @
0 P$ L) d, d, [6 O; c
/*
H- }2 H, F7 W6 k * ======== Miscellaneous Configuration ========
8 e% X* W4 m) p4 U */
* y! ^' G& p; d2 r3 B" H% q* q/ H
+ Y. y" `2 b; t5 o2 }' @3 x3 h4 F# h/* set default diags mask */
' t& [( |7 s# M1 w1 Hvar Diags = xdc.useModule('xdc.runtime.Diags');
1 o6 j! V) T6 g: Wvar Defaults = xdc.useModule('xdc.runtime.Defaults');2 n; a7 N& [) H. V" L+ t+ V
8 q) j9 [' _/ N( Y+ t+ Y( WDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
[0 j+ L5 y8 S5 [Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: q/ V, B W- S" w& E( q* W; VDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;0 s9 S2 S8 f# l9 W1 t
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 e0 J" x8 d) H" [% g9 U% e/ J
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 W5 @( J$ G' j" t N9 m: R9 g0 Y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" G: P5 U$ A" `Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 Q" h2 U: s# W- IDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. f4 q; X ^" `$ N+ B0 \" r$ X
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 K0 G5 M: s2 M9 P( h$ x
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ y- ^. d( `' O0 B# g4 XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 T+ Z# N' ]% j' t+ l# o7 i" ZDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 C. h1 G" {9 q; \1 k H4 ]7 JDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 L* P8 d c0 O8 x1 N
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 e. S+ t/ n s+ ^/ C
& l- O4 T" T8 a5 a- h/* override diags mask for selected modules */
2 y# I( J& s' y/ y# exdc.useModule('xdc.runtime.Main'); ]$ v0 ]( W5 u* E4 E- Y' j
Diags.setMaskMeta(3 g& ~/ L. I% d4 @. D: }+ B
"xdc.runtime.Main",
. x M# s4 W' [6 S3 l- L Diags.ENTRY | Diags.EXIT | Diags.INFO,' I& \# p' f1 Z( E6 n$ l+ ]$ d( {0 [
Diags.RUNTIME_ON0 s O4 o( |& p+ N, z' A/ b$ T
); {3 V3 s! t5 ?5 p/ t; z& ?
/ s- a( q+ m6 O. W6 R, Cvar Registry = xdc.useModule('xdc.runtime.Registry');& d+ }/ C( B# F9 K" O% D
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 p h9 E5 O8 B; U- j5 }Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: M+ L2 p# H H$ }( KRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ R1 G6 L2 o1 h' E0 Y. h
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: X0 ]- X, E8 `) }3 s, }
# E8 j v2 o3 ?' Y6 Y" a; o" `+ N. M: u/* create a logger instance */
0 C+ L" k' J1 Qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& |$ B1 y @) t3 m/ Mvar loggerBufP = new LoggerBuf.Params();
: A1 L9 p* ^8 e3 ?$ VloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. F& y* A" z, b1 ]1 _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;: T8 `1 \3 f+ H' g1 Q
+ u5 G# v( s Bvar appLogger = LoggerBuf.create(loggerBufP);
' q" d& }: W- _! Z% X) }appLogger.instance.name = "AppLog_Core1";
; D2 g5 F5 G2 P3 R2 m5 ?Defaults.common$.logger = appLogger;9 v7 T4 [ |5 j7 J& B# O
Memory.defaultHeapSize = 0x8192;
) e; N5 o. q4 }: h" v! rIdle.idleFxns[0] = "&LEDStatus";2 U/ D) d9 V/ z' W4 m, F% }
Cache.initSize.l2Size = Cache.L2Size_32K;( T4 L& b0 L: d& m6 j
9 L! h2 M' Q) x, T* R; t# U$ R7 k
|
|