|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 y- } Z$ z9 Y/ K/ q* K A0 A9 ~
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下% f3 X. ?1 r. F. ?3 R& G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); R& x1 ]" j3 W
3 a6 z- \) E3 K* a% U$ ], m是不是需要在DSP.CFG中进行配置! `2 P. n3 z# K9 G: ~
我现在的配置为7 I2 n' Q, z' x- e, k8 A( ?2 d
6 b! l! l/ Z* f: H0 R0 n
/*
" r$ p, W, h3 S4 Q. y! \ * ======== Operating System Configuration ========
$ k+ B& }; R1 i- C( Q Z: e2 X */
5 L! D7 N3 ?8 r) e @7 C% ^8 \5 H& p5 b2 C) `! B
/* no rts heap */! {; |7 c; T6 x3 @
Program.heap = 0;
: o/ P3 i" C" q9 g" UProgram.argSize = 100; /* minimum size */. K8 y( a# R! ^
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 g7 g3 e6 l! X% B4 A$ E# a9 b/ a+ Z; D+ e3 E( g2 t) K" t6 s& h
/* create a default heap */ m$ P7 M e6 {
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& o p) Q7 s2 _: E% U
var heapMemParams = new HeapMem.Params();% `6 J" E* e! r5 q9 q0 r& Y0 t' o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& J' j: V G% [6 C1 f2 x2 \
( b( q7 b6 q b# A7 K: o) |3 H! bvar Memory = xdc.useModule('xdc.runtime.Memory');
# @, _) v4 H5 H* EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);2 S9 A2 P% P) ?# O7 }
7 e4 u0 ~2 M4 s$ G! U9 |/* configure System module *// ^$ U/ B6 E5 [7 ?+ a1 T7 G
var SysMin = xdc.useModule('xdc.runtime.SysMin');
$ v1 Y- O6 l* P, L3 a8 xSysMin.bufSize = 0x1000;* Y2 r4 i' `1 x
SysMin.flushAtExit = false;
) V4 [3 _+ ~5 f0 m' Z' @5 E" A; H3 Z1 r; y6 q) a
var System = xdc.useModule('xdc.runtime.System');. w" o8 C- L0 W9 K7 r
System.SupportProxy = SysMin;
1 ]3 U. s; i2 F/ k0 s+ J! V- [- [9 ?3 }6 k; P3 [( D2 G
/* configure SysBios to use the lower half of Timer 1 */: z/ H. |; ], V0 |0 _$ {- f
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 d4 ^; ?3 P! Y; D* @7 G: Ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 I* t7 ?2 s* _: l6 H) RTimer.timerSettings[1].master = true;* Q" d: j. \# k; p" M! _
Timer.defaultHalf = Timer.Half_LOWER;
- I* a a6 v- P! qClock.timerId = 1;( ?, J6 f# P4 ]8 a' z) y7 U5 X8 ?
7 h; v# W5 R6 z$ B9 u# p
* m5 e2 j! Z2 k- `- ^% i% {. a
/*
7 M) ~3 G0 d+ T8 A+ | * ======== Miscellaneous Configuration ========
- |( T7 W( \( F1 x7 n */) @2 A2 |' o+ L
- q4 ?" U# p: u/ S3 j
/* set default diags mask */7 q% F, P# E9 I) {. X( P" E
var Diags = xdc.useModule('xdc.runtime.Diags');
4 O* R5 F! j6 Q! nvar Defaults = xdc.useModule('xdc.runtime.Defaults'); F2 c- z }1 x
]8 @7 V7 X& y* ?( i) Q6 [( o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& m7 Q, a" E2 ?* V- t+ i
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: D1 Y' d3 M. _/ [4 g0 ^Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, w+ p- _- o7 K2 @% {) J! l7 _6 P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 i7 l3 N1 k' l* E/ \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& p x3 J! y" L' H5 l
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 h7 o. B! o; K- F
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 W9 t1 X; F5 Q5 }Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% L$ C: O, f6 r/ l _. y
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! Q; C( B5 g4 Y: o5 F7 r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ `: @ P! Q0 N. ?; {4 DDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 c, }, X. `' C5 iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ v8 I N( c `
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 d5 r# e3 |% a4 y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. F9 c3 ^' _ A& ~5 q
$ Y0 z6 [- A! D. m9 V% z/* override diags mask for selected modules */7 T& g2 k+ H8 x. J* Y
xdc.useModule('xdc.runtime.Main');3 I/ P r" [% Q7 X' W3 g
Diags.setMaskMeta(
y- ]: y2 b; t) O1 h+ B0 t "xdc.runtime.Main",
1 a- u! ~7 t* t. W6 p2 u+ _) @ Diags.ENTRY | Diags.EXIT | Diags.INFO,, K$ E" s" W6 R' I7 `/ l
Diags.RUNTIME_ON
0 F, O" n$ n: D1 Y/ }% V$ y);0 G0 K2 v* E5 F7 C' r a
* ]9 ?5 F9 G4 e( H. }* v. ?8 X; W
var Registry = xdc.useModule('xdc.runtime.Registry');
6 I& e6 C& y5 s2 P) M0 B" eRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% n. o( @8 l0 f" P- aRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# E/ P$ N, {! | n, s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* `1 [9 ^9 P* c" ARegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
1 A, T# F# u: i8 D, P# G( A+ x+ X
/* create a logger instance */$ M4 y z- U9 V5 b v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 q, _+ m f; j/ X: uvar loggerBufP = new LoggerBuf.Params();8 H2 \% ~& a1 {( D1 ?5 n) o. y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// n& C4 n9 G5 t. O
loggerBufP.bufType = LoggerBuf.BufType_FIXED;* ?4 `. w2 G V7 D( n7 M! U+ R
$ v# v; c8 C) Lvar appLogger = LoggerBuf.create(loggerBufP);
G" |7 u- ]! Q7 @% Q; l1 sappLogger.instance.name = "AppLog_Core1";
$ ~# N3 L* T0 a1 P# u4 A; j4 ADefaults.common$.logger = appLogger;+ `; v- `% v2 L! B! a6 @
Memory.defaultHeapSize = 0x8192;
4 a1 T4 S; X. Q* a) gIdle.idleFxns[0] = "&LEDStatus";
4 R& q/ e3 t% p7 j$ h, z, T" kCache.initSize.l2Size = Cache.L2Size_32K;
: R% G9 V: Z4 }0 K; F' [5 r+ ]
, ?* L; h& G# S$ ^0 X$ y% O/ \2 P |
|