|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# M+ ]! e; T9 m3 t我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 n, P* j! ~7 ^% M+ Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?): K/ V3 H6 S. H8 s4 K% Z, @2 a* P
0 c( z D7 A( a" q- E' ~5 R" \
是不是需要在DSP.CFG中进行配置
6 V+ x2 j, q$ [$ H& t* C& t! w我现在的配置为
. s0 K) W& T j N
9 E) v( i0 e+ K, R/*1 S; m0 r( g- I0 L# i" r- D" {
* ======== Operating System Configuration ========
- n: x" \' t8 u4 _" r7 B6 W */1 b( q2 d5 Z# q8 C! z4 C
! \$ h7 L; K- p! D* ?
/* no rts heap */5 T% P' X; a7 x$ \+ |
Program.heap = 0;
% _3 c+ K. `2 H) Q! k4 {4 i3 gProgram.argSize = 100; /* minimum size */
1 [7 V8 a, S1 W1 u6 |9 NProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ ` _9 U$ V- W* i+ q0 u
! B0 O- `& |- y3 x" `; g: B, D' W/* create a default heap */
& _6 B7 y/ r0 u8 ]5 D% Svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ O+ u1 t# b( O+ C
var heapMemParams = new HeapMem.Params();
) N9 |: p9 C2 A0 U) mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! h D% P0 g0 ], a- M( o
7 O' B: l+ m+ f' r2 {- `var Memory = xdc.useModule('xdc.runtime.Memory');5 |5 o9 }/ v L
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& {5 R! J# s6 c6 V O' U! e5 _' ^5 r$ _7 L8 ]9 P
/* configure System module */, k; u6 b( _8 b4 w2 r A8 K3 D: s
var SysMin = xdc.useModule('xdc.runtime.SysMin'); }: k0 x9 V3 x9 X, |7 U, z
SysMin.bufSize = 0x1000;8 K$ e( v7 [6 A7 g+ s
SysMin.flushAtExit = false;
) J( [8 i5 l# F) g
1 B0 `5 |. o5 b) ?5 s5 f! j% lvar System = xdc.useModule('xdc.runtime.System');
- ?% c1 e. x$ k+ zSystem.SupportProxy = SysMin;9 p& r+ H" \0 ^* X# R
0 Y1 |% A4 ]9 J6 {! `/* configure SysBios to use the lower half of Timer 1 */
' d$ v( ~6 L; j9 m* mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 K; o4 S. d, s( C4 U1 |, J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');8 n; }- r- A, Q# B w7 \1 t
Timer.timerSettings[1].master = true;
/ k8 k$ S E9 K# hTimer.defaultHalf = Timer.Half_LOWER; v1 T1 S/ \3 b
Clock.timerId = 1;: N P# r H/ I2 g( U
, s5 I( u7 H# d' f8 a( w( V7 p& X/ J+ T2 @! h7 S% d
/*
, J% L; Q9 C- V& l * ======== Miscellaneous Configuration ========( @$ ]! }5 L5 R- g1 s L/ `
*/+ V, W* t$ ~9 W' J
5 \8 r8 G: q9 {* I8 m! S3 A5 T6 u/* set default diags mask */
! V# d! r% q7 L% bvar Diags = xdc.useModule('xdc.runtime.Diags');
- u" {. w4 M* {var Defaults = xdc.useModule('xdc.runtime.Defaults');$ z% ^$ m2 }# G2 T
% |5 C5 H) [% A6 mDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;* y# \7 ^: B5 L k5 p# A
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
[8 U5 n2 m; ^" D9 v- i- m5 `8 ?Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 {0 c9 B6 ?: ?6 a' q s# G
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 n6 u0 ?2 z4 }: q3 I. KDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! ~0 H5 U! Q9 |
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
& q4 f/ H, b. r) X/ N1 J7 ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 i; H4 N C$ j* P. }9 c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# h& {! Q4 V# D: T& g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' G! H6 y5 Z1 a8 v2 s$ f$ u. yDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* I; ~) K f9 Q4 Q/ N$ v% cDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;# Q+ Y e/ `; X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 Z1 V: ^5 S3 z" C" v5 iDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;& d* A. ~# _+ {) M
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& ~3 h. y& P, e8 `6 t7 c' F
5 O U5 A$ z. j. n, ]0 z) ~, R- M/* override diags mask for selected modules *// Y8 q8 j0 D+ Z3 p; y
xdc.useModule('xdc.runtime.Main');
; ~ r# m7 w4 o+ h+ d: q% D( XDiags.setMaskMeta(1 s) k$ \* y8 C" W9 r& _
"xdc.runtime.Main",
. g* s. F! }; C Diags.ENTRY | Diags.EXIT | Diags.INFO,1 G: v. u4 M( g+ s
Diags.RUNTIME_ON
; A' O! k, N6 Y);. C1 `8 y/ M" Y+ U
9 L+ H' j7 q4 T$ x0 s0 C) Y: Avar Registry = xdc.useModule('xdc.runtime.Registry');9 q' n1 ?, b" }1 o
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* Q Y$ z6 e. r2 TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;% r, n2 c7 ?8 P% g0 ~9 W% N( M$ _
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;9 N ]7 S0 b* k c
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* r: |/ B: c$ y; [3 A9 F
- N- V. A8 H! T9 r& u/ N/* create a logger instance */! L7 D* f9 c" |3 W- F% E
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) h8 v* ]- T! P& E
var loggerBufP = new LoggerBuf.Params();8 `! {. z j( d* A$ I8 Y. w
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 N; U y) L* w# J( Q9 EloggerBufP.bufType = LoggerBuf.BufType_FIXED;6 D e; z: W# Q' B2 _# T
$ w# b- W2 r$ P h4 z
var appLogger = LoggerBuf.create(loggerBufP);& j9 G: m) _; U; ]% B+ {( D$ _) J) C
appLogger.instance.name = "AppLog_Core1";
' u8 G1 T( y4 k5 x7 uDefaults.common$.logger = appLogger;& c- Z2 s3 K- c# K& b
Memory.defaultHeapSize = 0x8192; + ] E( B& |! i
Idle.idleFxns[0] = "&LEDStatus";
# m+ a( `; r: FCache.initSize.l2Size = Cache.L2Size_32K;
4 R3 f; q* ]' y' f3 y
, Q) M; X; @% ?) ?) H |
|