|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 V& D7 _" ^. X5 T5 t7 `
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ p5 A- J, j4 p. Y& b; b4 E(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
]1 \- s8 G; h) y' `2 r; M8 @, w+ h) {6 z0 Q
是不是需要在DSP.CFG中进行配置
3 M7 P8 u- T4 _# F我现在的配置为8 B" J4 Y7 F' F, ^
$ s4 \1 [1 F: i
/*
! I# |7 E) B, n3 k1 x * ======== Operating System Configuration ========4 V. X' p5 t7 m6 @
*/
/ R. Q) {/ t/ J# |' k$ ]" |5 x0 v3 e+ {' l7 f
/* no rts heap */5 L2 w- D) G- K$ v ]' ?
Program.heap = 0;
0 R6 `: _/ ]5 N5 T L. ]Program.argSize = 100; /* minimum size */
8 `. k6 b2 k t8 u) G% _+ {Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& ^4 I2 ~" L* ` V F
, U, I/ j( q0 f" Y+ A- j/* create a default heap */
7 F: }7 ^# B/ f9 h! U6 S; n. F1 gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
) e2 [+ m9 [6 `9 r( J% u9 f) jvar heapMemParams = new HeapMem.Params();5 \+ u& A' ~, I; q7 @- ?% m6 Z# _
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ Q7 {; X4 w) N2 y1 [( O) q
6 U! O+ g' ^; I [. a Z7 D/ \var Memory = xdc.useModule('xdc.runtime.Memory');& Y4 W G; l, c% Y8 P
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 i! ?% h$ [$ o
& s/ i: k( \( b3 A) D/* configure System module */6 C9 f7 V1 t6 @, d7 c- [; t
var SysMin = xdc.useModule('xdc.runtime.SysMin');/ S6 O0 m. V U Y' b8 U- [
SysMin.bufSize = 0x1000;
4 E2 Y9 ]$ ~& j7 H, K% {SysMin.flushAtExit = false;
/ b5 F, e9 C# W8 y4 J% Z2 c1 P) _) X
var System = xdc.useModule('xdc.runtime.System');
# P3 s F& a xSystem.SupportProxy = SysMin;' k9 T) B7 g( h
5 O1 `4 m- j. N- k
/* configure SysBios to use the lower half of Timer 1 */
# `$ R" w3 k3 v( i: \, ~3 f. Z2 e# x. Ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ g; |+ @1 {% @2 t4 ]var Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 c0 ?2 q% w: H9 @Timer.timerSettings[1].master = true;' ~2 N' G6 q3 i) k/ h; N
Timer.defaultHalf = Timer.Half_LOWER;
% j6 N% n/ P& H0 w8 @Clock.timerId = 1; g9 ]7 A5 K8 D
; E! _, b" w8 z( y3 P$ j- w" M6 N% f5 C8 B8 q
/*
, e- L- C' V7 D ?8 w * ======== Miscellaneous Configuration ========
; X& ?0 W( i Y. g+ _0 s */
, V7 y3 v0 ~+ }" [, g/ ?( b3 _" k& w
/* set default diags mask */ m2 u# d W6 b) d# M1 T2 ?
var Diags = xdc.useModule('xdc.runtime.Diags');
, e; p" }1 l9 t* evar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 _# i7 v. u" v& h! e1 O8 w/ _) j8 x0 w" M1 ? h
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' y/ n6 b/ A2 ~+ j2 IDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% L0 z0 u( ?3 U4 O8 ?+ ?8 dDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 N+ w( w9 @; sDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* Z+ a1 J" v' X1 l# ~
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 B4 C) p& F7 XDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ k7 K! x" P) T; L$ a+ \% s5 j) v
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; p* V7 z8 S4 N3 m9 b) j1 x3 |) Y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 o. F3 a+ D3 b+ k# I, j
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 n, t6 _5 e M6 F1 I- @! u
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: r& }$ n0 U- c6 v8 ^1 F
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* |4 P: L. d/ C. s) `: q8 x
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 K) y1 `4 N/ Q( L2 EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 t; _( B6 w& ?' `; D, H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; c0 [& j) g u" ] l
8 Y. y; D( N4 D
/* override diags mask for selected modules */# f1 K! I2 y8 Q9 Y! O. C5 e2 y5 K2 X
xdc.useModule('xdc.runtime.Main');
2 q3 U3 a5 @/ g- v: @Diags.setMaskMeta(
' S8 `# J5 u7 i9 J$ s* @+ g "xdc.runtime.Main",5 N. S: ^" X6 W$ Q3 b% j3 t1 Z4 x# W
Diags.ENTRY | Diags.EXIT | Diags.INFO,
( D" e! g: k3 ^2 u0 k" {% L Diags.RUNTIME_ON
. |8 Z- ^5 @3 _9 R& ^% D5 w1 ?+ f);5 O* h; O: f c1 T& m7 S, c1 w
: ~& F- Y1 ]6 Gvar Registry = xdc.useModule('xdc.runtime.Registry');2 E/ ^3 a) |, \/ K: S8 [
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" r7 F; G" y" q5 V5 f0 f* NRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;. Q) S( D1 d4 r( J2 z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; }& J: @' A" F6 m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# y' v6 Q- R, f& f7 x4 R8 q- M6 b8 b1 z3 x
/* create a logger instance */( {& [; y7 ~: {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: |8 e1 B9 ]* r4 S R0 h
var loggerBufP = new LoggerBuf.Params();# h! E; t+ i3 l. x, Y ]( U
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& O+ z! q- b; S* c4 h% X9 \ LloggerBufP.bufType = LoggerBuf.BufType_FIXED;; `+ i3 u: c4 W! G
9 ^% p2 M8 H& l; f7 R: J
var appLogger = LoggerBuf.create(loggerBufP);
8 o) W0 G& R- v6 C7 z( E2 ZappLogger.instance.name = "AppLog_Core1";
w/ d( ]- k$ A( O: i. GDefaults.common$.logger = appLogger;
' G) `6 }6 L, X. l3 L5 k1 x" G% hMemory.defaultHeapSize = 0x8192;
2 @5 d( f/ V: u: n- uIdle.idleFxns[0] = "&LEDStatus";# t( D' n% O$ M8 V0 q9 P5 W) _
Cache.initSize.l2Size = Cache.L2Size_32K;7 t) n- \ X/ T- ]
& ]+ q5 I5 c; O5 M1 h& H |
|