|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 X) d/ S' D4 q' ]: z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# h% t0 u% x4 |, L9 {2 O3 ^/ l
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 ~ D4 K0 X4 u5 ^: P- V' `6 k& O1 }2 b$ o: T' Y5 N( s' m
是不是需要在DSP.CFG中进行配置
; ], ]* n/ Y# I9 k8 G8 Y我现在的配置为8 E$ `# n& _1 M
8 I9 R; M) [ R/*$ z& t) g1 y5 b2 g9 G- _" e; P
* ======== Operating System Configuration ========1 Q" G! Z) u7 Y3 {3 ?
*/, v- \, A R7 Y$ c
2 K4 j2 H5 R' ^7 Q6 I! o
/* no rts heap */2 |0 V) {8 U* o9 q" P
Program.heap = 0;7 c5 I- o" n3 K3 B5 b" d
Program.argSize = 100; /* minimum size */# ?0 I. U, E4 r: _9 U% i# V* R9 |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* P6 m6 I7 c3 u: ?% m' a9 [% a7 M, F! `7 s5 F3 u
/* create a default heap */
" }/ \# Y% R/ q: K8 i( F2 fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
! X1 r7 R- d: c, h% ]var heapMemParams = new HeapMem.Params();. f8 t. _2 x- ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
/ T- o' B* [5 A; [3 J! A* f# h% v% ?) R; j7 Q/ P8 X
var Memory = xdc.useModule('xdc.runtime.Memory');
6 i5 C* L( v$ J3 c7 H2 r8 {Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ h/ n9 u, K f: l' k4 |' `9 v1 @6 D$ ^4 F
/* configure System module */1 D( j, o7 [1 C: o% Z/ _
var SysMin = xdc.useModule('xdc.runtime.SysMin');& x( V( k+ k ]# H
SysMin.bufSize = 0x1000;
/ @8 p# z1 w X: pSysMin.flushAtExit = false;& I& b6 S4 t% `
7 n- a8 \, ~$ B: ]$ l/ yvar System = xdc.useModule('xdc.runtime.System');
; f; j6 Z$ F" U/ o% `System.SupportProxy = SysMin;1 C6 @ Q7 t, w( c* Q
3 c4 q* F* H" n, v/* configure SysBios to use the lower half of Timer 1 */
. O1 a' e1 l9 m0 @/ ]9 {: s/ T) U5 qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 s- z& O& C. P2 P$ M/ bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 l0 E$ D9 E+ n5 _8 N7 P: G- @
Timer.timerSettings[1].master = true;% f8 ~" E: [8 b- g& }. ]# S2 t
Timer.defaultHalf = Timer.Half_LOWER;. \3 Z8 F$ U: q' ^& {+ A) j2 }
Clock.timerId = 1;2 s K( I* ?9 t0 [
* e: b' r; q9 ~
& f7 K- B1 O: n3 A& F, H4 i/*! m. g# R5 o; S! ? P: d& V
* ======== Miscellaneous Configuration ========* ^+ @, ]' ]) w d x& Q/ r
*/
j ?8 B( `1 ?# x; n& u+ y
4 |7 \0 ?. W6 [ a M/* set default diags mask */
, f" u# E# n7 g( c' G9 Q) _var Diags = xdc.useModule('xdc.runtime.Diags');, [7 \) k2 s3 w2 F
var Defaults = xdc.useModule('xdc.runtime.Defaults');4 A! X- e! }# y! r4 r' y" f
( ^% K1 F O" P4 g `3 O' ^
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, ^1 ?8 P, R8 NDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" v6 ^5 [6 | K- {5 WDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 ]7 J4 Q8 E; A0 p$ i- VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! @( t! q0 D. w8 E" gDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 N3 [6 b. T1 t) y G; ^+ r6 g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 z* @ a# J0 e: u* B% fDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. _# e) M+ I s0 M' ~
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% Z3 C6 v+ K, O5 p% x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 x$ u2 q. b* m2 j7 x
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 M/ h! L- U( w! N. e; A
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ }) l- h* P: E9 a5 _- H
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% w& B: F* G8 V+ V6 X: ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 z, d% h2 K) l% E8 y* [* U
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;. B+ A4 H- v& H0 p# ^; W
) `6 r) _% J( A/* override diags mask for selected modules */
; R- a( |& E0 |; l6 I" mxdc.useModule('xdc.runtime.Main');0 Z, b! x! L. U, u' j0 X$ j! q
Diags.setMaskMeta(
4 q B6 M2 @) ] _8 b* L+ Q! d "xdc.runtime.Main",
& @, V' v' j, Y' X5 E0 L Diags.ENTRY | Diags.EXIT | Diags.INFO,: `2 ?3 o! N4 D- x1 r6 V
Diags.RUNTIME_ON
3 e6 D; a/ X i7 Y* @);4 B& ?3 `; z. u
) O5 n& q/ B, n6 Vvar Registry = xdc.useModule('xdc.runtime.Registry');
: _- |9 N- e% i8 c& Q) yRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' J; ^8 h. q. K; ]1 }% w3 LRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# {, m$ G8 V! g3 J. _Registry.common$.diags_INFO = Diags.RUNTIME_OFF;+ B* u( l( g8 l+ h2 l
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( w% m3 r- w2 _/ k$ d
3 f! ^4 w% o+ m2 }! v+ K, T/* create a logger instance */& q) K- D: y! a! d2 K
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 T8 u$ N0 L E! w# }, Y+ U7 G
var loggerBufP = new LoggerBuf.Params();: u$ D) r7 H `
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. s" f4 o6 j6 X1 L2 BloggerBufP.bufType = LoggerBuf.BufType_FIXED;
9 C+ r5 b8 t4 N: b7 P! Y4 T
- B* c" ^0 R0 D- A! k- B* S3 Uvar appLogger = LoggerBuf.create(loggerBufP);
# A; g8 s& o+ V/ [' v5 YappLogger.instance.name = "AppLog_Core1";
: t0 W& u3 v, G' Q, r( nDefaults.common$.logger = appLogger;5 V8 ~& w& A3 _) c8 W( A
Memory.defaultHeapSize = 0x8192; 5 u8 W0 P) g2 i- F2 {3 ~
Idle.idleFxns[0] = "&LEDStatus";0 G1 X+ ]' G8 B3 u
Cache.initSize.l2Size = Cache.L2Size_32K;# V/ q8 o0 C1 w( S8 R( b, K
! U) P Y) _8 @; s, m |
|