|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 C" s$ c5 V, U: ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' M7 Q, h9 i- p( D1 Y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ n5 R h4 l4 I/ U" v$ O. J0 ~' {! X: B
是不是需要在DSP.CFG中进行配置
+ F2 ?& T& L5 ?4 P我现在的配置为4 \$ K! X9 N2 a# p3 Z
4 ]" s" h* l& }2 m. }# Z/*% f- _1 x n& ?/ [; S1 W
* ======== Operating System Configuration ========
% D0 {7 s3 A: D, [. P */9 ], r+ s* P* v9 n9 v
! i( r- ]% b& i, O/ {: U
/* no rts heap */& v" U6 m2 B! g& I3 e2 B
Program.heap = 0;' C( t6 u1 M% X) U2 U5 B4 [
Program.argSize = 100; /* minimum size */
; ]4 d' w6 I! W: E" i2 |: ]Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 K' T% L6 Q l& B( b
( C/ x8 }+ b% Y7 S. L6 z f% {+ |8 a
/* create a default heap */
! Z$ S8 `2 E0 [. Y& N6 G$ l( W5 mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% n/ x% x+ K% f. [( Vvar heapMemParams = new HeapMem.Params();) O1 a/ J. j& E3 z+ z0 w5 S+ p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 i0 v" J0 T: G) L2 Z: u* [& I# k9 A5 G3 H( i7 `/ s5 Y6 u5 K' ^
var Memory = xdc.useModule('xdc.runtime.Memory');& {# N) Y# l: q4 J8 W5 [7 h, ]
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ z7 \) A: J8 Q) _* p8 t; d: B3 O# h# f3 [( Q
/* configure System module */; r7 d' o6 [/ @1 z
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" E$ u( X& w) [& A( nSysMin.bufSize = 0x1000;
1 i$ q6 ^, ^$ S. p* t: B; [SysMin.flushAtExit = false;
& f& M5 ]9 ]1 U6 R/ L# d( \+ ?* O5 C6 q2 n( L
var System = xdc.useModule('xdc.runtime.System');
7 a, O. z8 m$ XSystem.SupportProxy = SysMin;
; b: S5 L& B8 L+ h' l3 A3 `2 w# R3 s1 ^( m8 F$ e
/* configure SysBios to use the lower half of Timer 1 */
1 U9 Q& K9 D+ U# Tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& |6 g: J2 R0 A+ fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- L7 U7 `8 M9 e5 Q: n, _Timer.timerSettings[1].master = true;. v+ s' z) g! h7 G! x4 \/ {
Timer.defaultHalf = Timer.Half_LOWER;2 z1 A) X3 f q: }* V7 p1 N
Clock.timerId = 1;$ W0 _0 S$ D S9 C3 l7 e0 ]" ]; h
$ X, p! J" m3 s0 @7 A( b
; m, A% J7 m, t& P _/*
7 [* F* z# V/ i * ======== Miscellaneous Configuration ========* M% G Y4 e/ H Q$ K# `. ?! N p
*/ ?5 P0 L7 N7 r8 p: l/ x
& l) k8 l% j; W K/* set default diags mask */1 _ C& f: C4 Q6 d0 \
var Diags = xdc.useModule('xdc.runtime.Diags');
9 I( Y: M9 Q, {4 t$ u9 kvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 Q% J; |9 q, p4 W4 l
6 x% h5 h4 D% g& t& sDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ r; U$ v9 ~& ?, Q& o. a$ ADefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- o1 P5 ]& K6 H5 A; h" q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
Q" M$ d7 a2 C8 IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: j; g; c' P' }9 _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* D: R) S. v2 T- k$ ]6 ]# e
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 X8 z! x9 T# ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
, D# y& S; r: r; {! m# `% R, eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 v) }/ k' @( Q8 T; W8 w; w( yDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 G$ i ~0 P; `7 g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. L5 ~$ \- I3 A
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# T) C+ ?! O* s
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: w2 r- |# |# A5 Q) {) v' N- F5 ]Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# ]( q$ l0 A: J- @8 g2 A' v- _8 C DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& L# i P( M( |8 b# J, F0 B
) J" A6 `/ o# |. G/* override diags mask for selected modules */
# e7 l, d5 W+ z- Z) L5 z6 |7 S# p1 Jxdc.useModule('xdc.runtime.Main');
0 ^/ V/ J; S, {. K+ { s3 c7 x) fDiags.setMaskMeta(
/ ?) T1 J. E# p- t7 t: f$ A4 K "xdc.runtime.Main",
: W) ]; S8 _0 U) H% j. Q$ G Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 z0 W' t: R) ^* P1 D- e Diags.RUNTIME_ON
% j$ K1 N/ c8 S# h A);3 N; Z" q$ t) `4 m. ~
# P# ^. }8 w7 lvar Registry = xdc.useModule('xdc.runtime.Registry');& G$ u5 O7 ^( [+ p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! X/ G4 k6 T% r4 h# h6 x
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ g" y- [9 m+ D0 wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;9 g q" u# o4 G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' g8 H- z5 I7 y7 Z( v @* Z
5 X; C$ E$ B& j1 h+ U7 ]/* create a logger instance */; r7 N, L" o+ F
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
7 \2 D& B+ q! F3 m+ Hvar loggerBufP = new LoggerBuf.Params();
1 i( A1 K- ]4 w5 f; |! U9 wloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) l/ S* m3 m9 \# U# A6 @8 {1 D. u
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" G) a. @9 u) f6 K- C l
) i& u8 c4 S! Lvar appLogger = LoggerBuf.create(loggerBufP);& Q7 e5 z- W7 u" {& y' P% b( x" W/ a
appLogger.instance.name = "AppLog_Core1";
: u, J' ?) p" PDefaults.common$.logger = appLogger;
3 c# a# B3 ?6 y$ i+ k9 cMemory.defaultHeapSize = 0x8192; 4 w0 t( p6 |: Z& n3 v
Idle.idleFxns[0] = "&LEDStatus";# I/ H. ?, L/ q
Cache.initSize.l2Size = Cache.L2Size_32K;+ k7 l0 U& ?# e! \: e, e4 ?
; B, V% r; _# P1 [ |
|