|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
J* |8 b( [- O% o我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: u. J; K# E" |( z/ W" F1 H. l(不过疑惑的是,为何单独DSP仿真就没有问题呢?), A( E- M% e$ d9 | B
! @! n: Q" y9 H9 ] Q6 d9 z
是不是需要在DSP.CFG中进行配置
_) C( O1 Y$ Y* V我现在的配置为
. K Y* L/ [' E( a7 G
- u/ f9 B5 }# j" t0 R3 _1 e/*
( w* N5 L0 h9 D/ s * ======== Operating System Configuration ========% B$ }& t+ L: {# K
*/
+ u- L A, u4 s/ m+ ]. {
6 n# e8 M d) e8 Q$ w/* no rts heap */9 ~. J, K. t; L& f8 y
Program.heap = 0;
: ^* [- M4 C2 [/ h( T3 i: M0 OProgram.argSize = 100; /* minimum size */
% j0 c, k9 ~! mProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! _# s9 Y6 _/ A U/ Q* `- O
, Y5 P1 j3 f! G# j) ]& o/* create a default heap */
+ a: y6 Y2 w; }, W I! r2 f( k/ Qvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; c2 l4 [1 Y- D) r* N0 ~var heapMemParams = new HeapMem.Params();
- |# f# C) ] m$ yheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! J* D( t6 i# d* Z3 I8 r
$ I7 i0 m6 }$ @2 X/ F
var Memory = xdc.useModule('xdc.runtime.Memory');4 F# e6 I+ M: u- V/ i: k
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. Q3 u1 y1 C+ M1 o E8 v' @
2 Y0 n2 Z( `, N9 u% U$ X3 M" r/* configure System module */' K: ?0 [! H; h3 v
var SysMin = xdc.useModule('xdc.runtime.SysMin'); s8 W! y; y. @' r; m
SysMin.bufSize = 0x1000;0 {) i" W7 }$ |' k( z2 c+ h
SysMin.flushAtExit = false;3 ^7 |$ c4 w( u) F( u
1 \" m3 k7 d2 K/ rvar System = xdc.useModule('xdc.runtime.System');
3 s7 u7 T' d% c9 L' c$ B. F$ T/ HSystem.SupportProxy = SysMin;
/ K. {9 y' k9 L& Z+ k
7 j$ C' ?# y0 k" w$ R6 J/* configure SysBios to use the lower half of Timer 1 */+ E: u8 C" G N( h. a2 w: B5 U
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 Q9 T, i$ C) I) H: f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 ^ {! ^, b* x! w* c) C- n
Timer.timerSettings[1].master = true;
Q8 i6 w: d9 QTimer.defaultHalf = Timer.Half_LOWER;1 }; \ v! @+ w8 U
Clock.timerId = 1;
% D! m4 X' P8 A/ q! q( c' n) b- Y3 u0 s+ y! \3 ?
+ L9 x6 ^: D% {4 s/*3 N' A/ X& b. q# w1 P8 ^$ v. P4 Z
* ======== Miscellaneous Configuration ========
) T/ b3 C( J/ K$ w6 ` */
/ g+ l! a8 n& C) v( c8 e* E9 j4 b5 G7 X' k0 \/ Z
/* set default diags mask */
+ B0 A' V) k6 B1 w. @( W; Gvar Diags = xdc.useModule('xdc.runtime.Diags');; b+ ] V! I7 r' y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
! a: Q: r. Z7 q( B9 N. [
2 p; r2 l/ e( C: b1 g' h; f/ }- vDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 k5 S1 E5 i9 M$ d! Y, [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) O, ^+ K5 o3 M2 b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;) v7 q& U9 \. E
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 J! X, C* T8 zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 p9 K$ F) S: S
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; y. N; M$ {: o# d1 B$ bDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) d; _. \$ j, U. T5 w
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 S4 D5 Z' U/ ^2 d2 V; [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, l$ j' f; u# K4 c7 zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: s5 e% U( v1 V( _; m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ o4 k. C! x1 s7 [
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 H: y4 A( M; P/ E
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 a+ ~3 l: ^8 K4 XDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ t' S% p0 n+ \ `8 E9 Z1 p6 [% ]7 V0 `$ A5 e% ~- h* [3 w, ?
/* override diags mask for selected modules */& o# _9 a9 B0 \
xdc.useModule('xdc.runtime.Main');3 G! z& l3 Q3 [( @0 N
Diags.setMaskMeta(
' R1 r" \2 i9 I) u3 ^8 h, C) M "xdc.runtime.Main",
; u) L# f x6 ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,8 G2 W6 f3 A8 T% T- X0 q' [4 n
Diags.RUNTIME_ON
3 U" Y J d& f# o: B);
6 m9 ~8 B- x) e( S/ X p# K1 J ]7 _( T, o, u4 y7 s
var Registry = xdc.useModule('xdc.runtime.Registry');
0 O+ L {1 w: F) }, \% sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& i+ T; x' `! r* bRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! x# L( p( ^% n
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 U- P, k5 R3 J2 D8 \# B& P
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 e6 g+ M" y( I/ v# N# p& f
: T4 u+ e' a5 a/* create a logger instance */
9 a6 |* Q7 _: l, x# }6 ?# g# ]var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 i+ e- F. ]9 g3 D9 h- b# w/ |
var loggerBufP = new LoggerBuf.Params();
8 G5 Y, @% q5 q$ `loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 l, _: r2 l) n5 f) uloggerBufP.bufType = LoggerBuf.BufType_FIXED;
F! R% T; ]: h1 _8 j. L; ~! h) B2 D: y! {0 [
var appLogger = LoggerBuf.create(loggerBufP);- p. l8 j- j3 Q m' q
appLogger.instance.name = "AppLog_Core1";
3 c s- _& F: U. X- f; oDefaults.common$.logger = appLogger;/ d( t% W D# s4 U
Memory.defaultHeapSize = 0x8192; - N0 \1 R: s- A0 G+ D7 I8 M
Idle.idleFxns[0] = "&LEDStatus";! Y( F# W# V3 x8 ~) Q9 O
Cache.initSize.l2Size = Cache.L2Size_32K;. O' K2 d% T: T# ~5 G! x) _' U
8 f' F6 ^% g- {6 Z2 N
|
|