|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! ^# F+ R% M8 R" l/ {$ R4 [
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下, _" z- R5 P% X. F" D( b+ t, Q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)4 J- Q7 {7 l; d3 u/ G: l* z" v
& D( P& O3 ?% V0 X是不是需要在DSP.CFG中进行配置" w6 y/ V, M) _/ O9 Y9 e# r( K
我现在的配置为
8 E7 T6 ^' y/ e" i
' S$ }7 V5 C2 l7 O- m* h/*$ B3 O k, v+ |% ]* C7 w
* ======== Operating System Configuration ========
! N" Q6 }' p3 \4 F */
$ y$ H7 x+ Q2 h2 V$ f# [# @ R; {3 [$ B8 w9 W
/* no rts heap */
2 P1 M, D# h7 t mProgram.heap = 0;5 L; j5 F8 k9 j* d) W, O! `
Program.argSize = 100; /* minimum size */ P! c& `3 k/ }- @6 T
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! ]& L! L8 C& ^7 a7 h- [
% t, M7 t2 G D9 x/* create a default heap */
' w! L& `% o0 \+ b4 m* u) K* N, Cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
) w5 B0 X8 o+ r+ W' Evar heapMemParams = new HeapMem.Params();
. [3 }0 w+ @) K( Y# c& P4 \- G, IheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ a% O6 R* q$ k. Y% G; f2 F: O
- {1 f1 E, T, L3 N8 M' v" svar Memory = xdc.useModule('xdc.runtime.Memory');9 X& K; p& l [3 G: H: v
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);' S) o* R$ `' n( W3 \+ \; n% m
0 q; k* P% h' u6 a0 j
/* configure System module */( ]9 z, U4 x& Y
var SysMin = xdc.useModule('xdc.runtime.SysMin');
F6 ^/ U) r8 [7 ASysMin.bufSize = 0x1000;( G: K* K: S X4 F5 a
SysMin.flushAtExit = false;
2 d; I; m/ s( t
8 g0 x$ n, f9 |$ mvar System = xdc.useModule('xdc.runtime.System');
% W# e5 I# u3 y- Y: Y! e% B( TSystem.SupportProxy = SysMin;- f: V/ |1 {% F+ h4 D
% z. @# t5 D+ A: z/* configure SysBios to use the lower half of Timer 1 */
; }$ O6 \+ Q: \4 pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 U! d# ~& o* i; N5 J
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) x" ~2 a2 @: g4 ~7 n1 H! n
Timer.timerSettings[1].master = true;' I" c# o4 E8 A; J
Timer.defaultHalf = Timer.Half_LOWER;9 r+ i8 ]* ^. {9 S" ^$ J/ K1 |
Clock.timerId = 1;! d; ]2 n3 _ e+ N2 M4 ^* s7 S
2 }/ H* }( o0 D6 a
7 X0 Q$ r+ x" K- U$ n0 W/*1 L" P0 x% m* H
* ======== Miscellaneous Configuration ========1 _3 N. V, b: Y$ Z) L7 \
*/
, O! P* u! M2 c0 c
& P ?6 R/ ?7 @+ k& y: X/ G: P/* set default diags mask */
. k0 p) l1 n+ L1 {/ hvar Diags = xdc.useModule('xdc.runtime.Diags');
/ I( p! v* k3 x& w8 k! Avar Defaults = xdc.useModule('xdc.runtime.Defaults');, }% g) G' T7 J, \7 A
$ I+ g7 ]0 o1 v, I! {: S# d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- ^4 j$ T* f! n) dDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# ]7 ^: J" @- {# I' ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* Q2 Z3 g" W1 O( r1 d
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ p% S# o+ `* A+ ~ GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* g8 l# f' F0 O" S* nDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* }- Z. z4 M( y: e# w2 U4 HDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
( x( s: E' d: r9 S9 F( h" yDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
y6 {: Q$ X' {6 J; HDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- j) G1 [; S v2 g$ J. U5 z% sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 C7 N$ L; N5 C6 l$ Y; m1 _$ Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" s5 \" b M6 u% b4 t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& J5 V/ T2 w& l+ R$ v3 @6 TDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;. {5 N! Y# K/ g1 d3 Q5 T
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 t/ a- q/ ~5 E" w
5 a3 y/ ~# D4 P' _3 V, R/* override diags mask for selected modules */
$ {8 ~/ d( @1 v0 |7 Jxdc.useModule('xdc.runtime.Main');
8 E' s( z- k- g- u# B! WDiags.setMaskMeta(! D1 Z0 _2 J# |! C, x
"xdc.runtime.Main",% [9 o3 U/ x. A( G# v) [; i
Diags.ENTRY | Diags.EXIT | Diags.INFO,# a& k" U0 l' Q* O' j2 W- H3 Y
Diags.RUNTIME_ON
0 ?- `+ I. n* L6 ]);* v( M" O w/ f& `! n
0 J; f2 o3 i2 z; y; T; a
var Registry = xdc.useModule('xdc.runtime.Registry');
) a4 _! {9 T; \- @+ dRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) d0 a9 V6 r- ~( RRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 |1 _" X7 u9 q; J4 @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: E% r) ]% Y( l: O# s
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 d b4 a+ @2 W1 _2 d: b4 b
) e& k8 ?" @# ?* [- D
/* create a logger instance */8 ~- A, h) K. m( ?) @$ R' O
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' E$ Q4 S8 E9 @# y
var loggerBufP = new LoggerBuf.Params();
7 g% N/ s) p4 iloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 V- u/ m U* r9 t2 t: IloggerBufP.bufType = LoggerBuf.BufType_FIXED;6 i$ w' i* `5 X0 k/ y1 M% {- O
4 b* l# F# n5 A6 r: L
var appLogger = LoggerBuf.create(loggerBufP);
0 Z$ n7 @. k: j6 R, }appLogger.instance.name = "AppLog_Core1";. C" a: e! y& ?1 |
Defaults.common$.logger = appLogger;7 \. ~( E9 c( Y5 e- c+ i
Memory.defaultHeapSize = 0x8192; 5 _2 h& A: v/ U. \7 X! T8 f
Idle.idleFxns[0] = "&LEDStatus";1 L# ^; F$ K0 P/ W- L7 h
Cache.initSize.l2Size = Cache.L2Size_32K;/ C6 `+ I, i" J) @1 [ b
- p' Y4 s. y2 v& u |
|