|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' o+ |0 n W9 `7 O" _( J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 y" u/ Q) B3 x4 L3 h- a
(不过疑惑的是,为何单独DSP仿真就没有问题呢?): V: s+ p) C! l0 O! V
* X, x0 `9 f1 F. n! C/ S5 E是不是需要在DSP.CFG中进行配置
& q$ y) q4 P7 u, v我现在的配置为
$ O2 H, J# J) j* x/ m; z4 i @: l7 U; f; v1 Q; x
/* B* z; v- }1 ?* h
* ======== Operating System Configuration ========, z" z& r5 {5 M% _. J5 e' F
*/
2 N; i* k. Y" N7 i F
3 X5 U, C7 d7 _0 s( g/* no rts heap */; ?" r& O5 [9 r
Program.heap = 0;& m3 P# @2 `8 q. d; U
Program.argSize = 100; /* minimum size */* H9 {' b0 Y d! r5 |! D
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
v! ^0 `: X. n4 b% f* q+ i- N4 u1 t9 |' O1 W- z4 ~8 o+ j
/* create a default heap */
/ {3 d& ~- r3 b* o1 K B* n% mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');$ d+ p: b# M( a& D
var heapMemParams = new HeapMem.Params();
Q4 m5 o" ^8 B& l, [( e3 R( dheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; Y9 n2 ]9 a, j' J( Z2 l
: _5 q, m& X: M! ^% Rvar Memory = xdc.useModule('xdc.runtime.Memory');
+ F3 j0 o; U$ F, c; R& ^( SMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ z% K0 |* H2 _
$ {) I8 G* b4 Y/* configure System module */% \! r/ Z7 @4 h4 U, i$ n
var SysMin = xdc.useModule('xdc.runtime.SysMin');
6 T1 M, r7 b+ J/ s6 ]4 nSysMin.bufSize = 0x1000;
$ w6 F1 z% E4 p$ h0 V! `SysMin.flushAtExit = false; s1 J& I9 ^( n& d
; U) U( M; }: v2 {
var System = xdc.useModule('xdc.runtime.System');6 A9 V8 t6 [1 d, t
System.SupportProxy = SysMin;8 j6 V a/ p: C( `( {1 M. Y
9 \1 k' _1 O3 d* l4 F8 [- D8 [& |1 ~
/* configure SysBios to use the lower half of Timer 1 */
7 i% V3 Z2 B7 I9 T% t. _var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. P# v! e4 ^6 V4 I# E5 S8 J) D9 l
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 ]9 C* t; a! l7 ]$ _6 ~/ o9 [# Z mTimer.timerSettings[1].master = true;3 J2 I; y- d* k5 k. X. n
Timer.defaultHalf = Timer.Half_LOWER;
# I: K. K. e+ O, S- l( z8 N# qClock.timerId = 1;7 k$ t0 u/ o, ^; w, G$ G) k' [
; K/ Y; M0 s* ^! F0 L
6 m& l" C- X- X! S/*
& D |, B% q3 R7 N: Q * ======== Miscellaneous Configuration ========
4 W8 i$ w5 ], [+ j! z9 [# _ T$ D( { */6 r0 ~1 a3 { J2 t0 v4 O
{3 X7 @) x* t) |& y5 ?! I! z/* set default diags mask */
# Z# r+ Q8 B. t2 `8 Bvar Diags = xdc.useModule('xdc.runtime.Diags');
% \( ]7 a! w) _$ Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');
% o& s6 [) D% l" ?0 `$ ]% o
; ]. S! E- _5 c% ~6 o6 T; sDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 b$ }% F( U) d/ u5 l; C, @Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- ^1 s0 z. v/ i2 l" @! j
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, F( ]0 T8 Y* ]. p- [4 h0 P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) a& D& O+ {* O8 V
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 }4 Z# c) X% |1 a6 h
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;" z9 L6 _9 R! P7 Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;4 T/ G# s2 q; z7 C
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
/ Q7 s z( k; p: i5 dDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ Z+ k T* d# G
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& T- C) P3 c6 l4 L0 r; w' A/ gDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 r# @8 w+ w1 _0 t) D) g" MDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 K( u0 H# H! o* j/ x/ BDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;! F. ~% ^1 o) i. X2 V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 Y5 U# Y6 y/ [0 B& V7 I! q1 s" W, R
2 K! N! w, _7 C5 U/* override diags mask for selected modules */2 W/ I/ p3 t" q0 B/ j2 u" y
xdc.useModule('xdc.runtime.Main');; c# A( l+ }+ [2 A: f% q
Diags.setMaskMeta(4 a" p# k" M$ b' Q# i. Y4 O
"xdc.runtime.Main",
" g# N4 [& Q2 V8 B+ c2 p5 }# |9 n Diags.ENTRY | Diags.EXIT | Diags.INFO,& I' y# ~ T: b% F
Diags.RUNTIME_ON7 K6 B; C+ _5 ~- D
);8 i" A7 n- Y. t, P s z
- H8 J( z5 C" T" S) \4 Uvar Registry = xdc.useModule('xdc.runtime.Registry');7 u' t) I A* ~$ E2 J4 w
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( G: N5 G3 j2 |* q; _
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# U4 q" x+ I9 @* h# S7 ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ r6 _1 d( n) {% S2 Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 m( g) n+ \/ B; g! P& [
' x6 p: [/ J2 p/* create a logger instance */
& o# K* X# ^. S4 o$ Avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! W; l" `& M9 K" Z) Z5 Y
var loggerBufP = new LoggerBuf.Params();9 C$ a$ C$ g# P6 Q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 n2 V( |0 L( b+ W
loggerBufP.bufType = LoggerBuf.BufType_FIXED;' |. s$ a. ?1 X) ^0 k
5 O+ Y9 [' c, V! w5 ~7 [
var appLogger = LoggerBuf.create(loggerBufP);
3 V, ]9 N2 L, U' WappLogger.instance.name = "AppLog_Core1";
7 H- _2 Z, i% P: M: ^Defaults.common$.logger = appLogger;6 r {# g% w9 d5 T: c3 X8 s" p) P
Memory.defaultHeapSize = 0x8192;
: f" z/ y/ X: a# N+ q: xIdle.idleFxns[0] = "&LEDStatus";
& u. f( y( y1 q! [/ U6 ~Cache.initSize.l2Size = Cache.L2Size_32K;2 D: @8 ~: J( f+ K% h- I' n* ?6 I" R
) X4 Q% a$ ]3 V5 N% O- z4 A
|
|