|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# s/ A1 [4 \1 ]
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 w$ H- H* m* ~1 N8 F' q, h8 G(不过疑惑的是,为何单独DSP仿真就没有问题呢?): X3 Z: R0 i8 }% u3 Z- q I
2 N& E j# `3 A: a9 i9 L是不是需要在DSP.CFG中进行配置
9 ~ ~3 |3 V2 O0 |我现在的配置为- d! f6 [: s$ J
3 m. Z& Y- ?$ n& ?% f1 t' {9 m/*/ h2 n" V: A0 I5 x) Q# I9 [
* ======== Operating System Configuration ========( R0 n& P) U' E' j( D+ R
*/
. N# X) p0 ^1 H" d, u! [3 _' |3 H% v; z) A* D0 c' N' y
/* no rts heap */# c+ j, i+ X7 L' t3 d1 ~. f0 C
Program.heap = 0;4 M2 M/ T' C: b2 S0 q L7 a0 j9 c e
Program.argSize = 100; /* minimum size */
% [8 Z' |1 t$ o" G" d- fProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- Q' U# \7 A4 W% h( t, q; M+ g# L: r; g! g# R
/* create a default heap */
' H/ L- x+ k5 Y" F/ v/ q& Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 `& Q6 p8 K' q* W5 B/ o
var heapMemParams = new HeapMem.Params();
( Z& f3 F' M! c! z; L8 {heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 ]& Z- d" l, a/ R R5 `; O
0 x. r% z' }( [var Memory = xdc.useModule('xdc.runtime.Memory');
% q, u, x* U% h7 X' ]Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& d5 D1 }2 X/ U4 E
3 ?& {# G$ l- I) E/* configure System module */6 x1 d$ D' v" R" h% k3 `( W1 f" ~
var SysMin = xdc.useModule('xdc.runtime.SysMin');
4 G/ i6 n; O6 N. O* tSysMin.bufSize = 0x1000;
- m. n# [3 |7 ~SysMin.flushAtExit = false;
& t$ x+ p7 Q6 Y: O
i' r& C/ _3 h; E1 ivar System = xdc.useModule('xdc.runtime.System');
/ D$ {: {4 B; ?; E( ?4 E; C6 \System.SupportProxy = SysMin;
; z% _1 f& O2 c* v+ M4 n+ R3 j
: E h6 F9 D4 O4 y4 ~) o8 b1 J/* configure SysBios to use the lower half of Timer 1 */4 ]% e1 O5 c7 F
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');* W/ G9 v' w; \4 p1 n) p
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) @$ \8 h8 V( o( J5 w( D
Timer.timerSettings[1].master = true;
& W5 t# s- n) R0 W0 {Timer.defaultHalf = Timer.Half_LOWER;: R; l d# j/ s" U
Clock.timerId = 1;
" I. k0 T* D8 t$ B/ M( L2 [& ~7 w, c9 |$ ]6 U
7 E2 p4 y0 I3 ^$ s5 Q
/*
& ~! K; R& }6 M0 i# q0 i1 n' V! A * ======== Miscellaneous Configuration ========* M, m+ I+ _/ Y: i: t
*/ W6 V/ C& f$ o" j! T& t0 L* h" c
' o* `% K* n# K' B7 R/* set default diags mask */
) L4 [7 a# B/ mvar Diags = xdc.useModule('xdc.runtime.Diags');$ A1 Q' R' x, j7 a" U# ^2 d3 ^
var Defaults = xdc.useModule('xdc.runtime.Defaults');
/ \) u1 h( \* U* D! N3 {! \7 o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ u" H' e2 D; S$ h+ t ?2 n( ]8 l) ?/ DDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 k" n8 c8 [7 H% A
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 }9 f. y P; X( Q( z; }Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 ?& n/ c' g* x3 N; dDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- [/ y2 d* V+ g' CDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;' Y5 t6 Q+ Z1 ~# A! x" y* z; I: A
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) ?$ X! T i9 t9 P h9 N* b
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% U9 c: g) L4 H0 }- x/ K. i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! Y* T8 ]( ?" u- I9 @Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% {" \8 A% z6 G( G# I7 o) eDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 d# C$ G/ g. d: @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& Y4 s3 ]: {; w$ NDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 L" e3 J( r% c. Q6 s, x0 i
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" Q4 F1 |1 Z: G- A
( ?( L! g- N l* t1 A
/* override diags mask for selected modules */+ R" h3 b9 _% N
xdc.useModule('xdc.runtime.Main');" \) l. [' Z5 M! |# h: C
Diags.setMaskMeta(! y; ?* D+ k) P) @7 Q
"xdc.runtime.Main",
1 x$ Y, Q$ K" l# p& [ Diags.ENTRY | Diags.EXIT | Diags.INFO,
! k x, i' E7 [" q Diags.RUNTIME_ON
) g2 w3 O# N! P8 k9 F8 E% v1 I' y);6 U, P, ~' }8 Y' ?* W" \
. z5 G! C: ^. |var Registry = xdc.useModule('xdc.runtime.Registry');/ d5 T- J! K% g" i; U8 ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ p9 Q- f$ n7 q% V9 u3 T% K6 yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;* {+ G6 p/ [: z: F
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; p# L& ~7 S& [9 c) R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! i# ^, N3 G7 a8 S( f9 p! W- P; ^! z) c% u) U; T) o. U
/* create a logger instance */: R# j8 @ r9 h% h
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# J7 }4 C1 k* j; A! @# Vvar loggerBufP = new LoggerBuf.Params();8 {/ z" o8 D, J" |
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- s0 Q6 E. ^/ Y9 Z8 i7 m
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 S5 |. c; M5 m3 f( g$ s( t( x- g$ P; }, J# x! S1 _. w7 s
var appLogger = LoggerBuf.create(loggerBufP);# N; a) a% J6 s$ l
appLogger.instance.name = "AppLog_Core1";% H' W3 u+ T7 ^$ O$ L9 ]0 z
Defaults.common$.logger = appLogger;
5 I8 t0 _6 u; G) U) _& E' _+ o0 fMemory.defaultHeapSize = 0x8192;
/ g0 I$ ~# v. y% nIdle.idleFxns[0] = "&LEDStatus";
4 c# F6 i; i% T) ]! W9 RCache.initSize.l2Size = Cache.L2Size_32K;: X5 |4 K( `2 b! p4 M1 r) n
$ }- z r0 S1 s6 y0 N( d |
|