|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 l; W% @# {7 ]5 }
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ G0 S2 o) c$ C
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! S, G4 k. f7 ]) b7 k; ?8 z8 E. J) ^8 Q. F! y- ]! d
是不是需要在DSP.CFG中进行配置
% Y [% `9 b- Q' w我现在的配置为
c3 X3 d% k. s5 s
' Z1 ^4 {. u7 i$ a( m, @/*
6 a- h5 y+ U' e/ }: \. F/ _ * ======== Operating System Configuration ========' Y7 a8 c: V+ Z/ p* d, }0 k+ [
*/9 r a& W, v" W# ?9 f- j8 |; Y' u& f) A
: A$ l( H2 a& a7 J
/* no rts heap */; u8 S' `' C9 d1 \
Program.heap = 0;' N" `. M7 G/ e% N/ n
Program.argSize = 100; /* minimum size */
; Q2 L7 y z3 \Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
9 ?) Z k# }+ \ `1 E" @7 u) k1 |9 l/ U' g! d9 m+ [/ n8 v% K# R
/* create a default heap */' R5 k* T& r: K/ U) J: s6 v( g2 o
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 b+ S* w, x) _) [: @. O( Ivar heapMemParams = new HeapMem.Params();
% L$ E/ L1 G9 G$ {" s. s; `heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
: ^$ f4 D/ Y% ^0 G0 j3 \2 e! z C( j0 m8 E7 z2 D
var Memory = xdc.useModule('xdc.runtime.Memory');
& k7 V8 H9 z6 u! h( q$ U. mMemory.defaultHeapInstance = HeapMem.create(heapMemParams);, A9 S" O3 p3 \2 }
6 ^$ ^8 `# ]( b n9 r4 E' c/* configure System module */" [( H, j5 N, V: B
var SysMin = xdc.useModule('xdc.runtime.SysMin'); t' C! P* }8 v2 q$ Z2 C
SysMin.bufSize = 0x1000;0 j3 M0 q! x A5 m# i
SysMin.flushAtExit = false;
: c# A% ]7 ] t: w G7 H* l; }5 O
$ u5 c; D+ n$ x Ivar System = xdc.useModule('xdc.runtime.System');
T( w/ K7 Q" p8 n) W8 Q BSystem.SupportProxy = SysMin;
$ P: E% H+ w1 G$ G5 q
# P! X4 H5 M3 Q- p. M& Y$ w/* configure SysBios to use the lower half of Timer 1 */7 T" `! h% M& c" U
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ s* X" C Y1 m2 q7 b0 |+ Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
; z1 P( k8 f$ N: E% i5 [; T# fTimer.timerSettings[1].master = true;
8 ~9 y- P$ \, V" k2 a& _' E* kTimer.defaultHalf = Timer.Half_LOWER;# A% l; y- K9 {8 B9 c$ R" e8 ^
Clock.timerId = 1;/ I x5 K1 h, O" F
; k @1 _0 G- f0 A, T# X; x6 x! _( e
* d! U% R; l) I! q, x2 j/*
* M* Y2 ^: S' S+ V3 {0 Q5 f * ======== Miscellaneous Configuration ========
$ B s, r; z# C9 H. b */( g! N" X0 w; e6 K; N8 u* \; F9 W
3 X1 V ]; D. n* L5 d
/* set default diags mask */( o0 q ~8 k; S
var Diags = xdc.useModule('xdc.runtime.Diags');/ ]$ w- W5 J- @7 [8 J
var Defaults = xdc.useModule('xdc.runtime.Defaults');& M6 K3 ` ^$ n o: ~
8 F( T' B! n+ K2 y2 C7 O$ ]Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ W0 |+ E+ P+ a: v8 i8 J4 K) g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
; E. P* c: Q( j* I. A1 Q1 M4 YDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' [ a4 R5 j! i7 N1 T- P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) ~1 T$ N( x6 l2 }' E9 c6 D) h
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 h1 x# `- @ a" ~, [* T0 Q" EDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* l& p- w4 o9 O7 G4 S) n( j& C
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 Z; Q3 a3 t# u! d
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; M# c8 s+ x8 z$ M. D0 [$ p* D6 o
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 S1 k, W$ s# W1 {7 S* L
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' Y$ i& f3 `+ C) y" [% q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( x/ ?- \9 k8 w5 b& O, O) C; _
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 Y# T$ O- e; z+ [$ x! ]Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' {* b, @2 h3 m# A8 n! s( ? eDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& [" n! X$ ~/ f1 R$ ]% F
( J& g* g+ o3 _
/* override diags mask for selected modules */
3 Z3 \) K6 m; H# H. q3 P7 Dxdc.useModule('xdc.runtime.Main');/ W: R8 Z6 V5 s) m# f
Diags.setMaskMeta(
- |# r! ~6 T6 D& {( | "xdc.runtime.Main",: }8 Y4 u. B6 E2 R" N2 H& I
Diags.ENTRY | Diags.EXIT | Diags.INFO,
) f% p$ _) m, c& S Diags.RUNTIME_ON4 V) c+ R) r' X6 g! _1 r) ~
);/ z6 {! j" h+ H, u* K( @
" P, c" g/ r+ N5 B* Y+ h+ |var Registry = xdc.useModule('xdc.runtime.Registry');5 F' t' c( D9 ?5 M8 [
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; u4 A$ w: g+ y) R4 D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# j$ Y! h; P9 ?- S X/ {3 cRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ N; O/ S1 R0 |Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 o$ l4 l1 C' b+ N' F6 \
4 C& S) m7 b8 ~$ O
/* create a logger instance */
3 E: \" y# ~3 M9 q+ U/ `, Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ I p# s1 ^' x" [0 z
var loggerBufP = new LoggerBuf.Params();
9 g i& Y- O0 q! ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */1 Q6 }1 \, D3 [0 U7 C8 J: {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
' b' \; g+ {% M- x8 |- ]4 o
) b0 @# Z( |2 v+ ], Hvar appLogger = LoggerBuf.create(loggerBufP);
4 e6 @+ a* a2 t0 L; p4 e, YappLogger.instance.name = "AppLog_Core1";6 d! |. Q1 ~2 A$ X6 |
Defaults.common$.logger = appLogger;3 P% K# y4 m7 |4 \1 @0 ?
Memory.defaultHeapSize = 0x8192; - V. s8 M2 B. Z2 j( y: W" @3 k& @
Idle.idleFxns[0] = "&LEDStatus";0 K! N% @2 C( @( \2 N1 a
Cache.initSize.l2Size = Cache.L2Size_32K;2 Q9 y! k& F' [& {6 W6 c' Q
; n7 \" k3 A; }
|
|