|
这个贴子信息量挺大的,不过总的来说是围绕双核共享内存空间定义来说。
1 b4 d3 l( c" V1 r" C; [3 L- |
% `+ ]( R% b. P; [ 40 /* Memory Map for ti.platforms.evmOMAPL1380 b1 x6 i9 G' w- X4 i
41 *+ {8 P& x9 Q% ?( F: A& U
42 * C000_0000 - C7FF_FFFF 800_0000 ( 128 MB) External Memory
) k3 V+ ]8 P8 X' _! c# | 43 * ------------------------------------------------------------------------7 K1 _) J& M0 |- o# U5 [
44 * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
1 ~% @, ~+ o: U n 45 * C200_0000 - C200_FFFF 1_0000 ( 64 KB) SR_0 (ipc)
. Y" I8 \( \+ x6 L 46 * C201_0000 - C2FF_FFFF FF_0000 ( ~15 MB) SR_1 (ipc)
6 d1 G' a# ^) a8 A( j& P 47 * C300_0000 - C37F_FFFF 80_0000 ( 8 MB) DSP_PROG (code, data)
& I9 ]& h4 l2 |5 _# u 48 * C380_0000 - C3FF_FFFF 80_0000 ( 8 MB) SR_2 (ipc)8 g; }/ h' @' G- y0 \2 L3 V0 T
49 * C400_0000 - C7FF_FFFF 400_0000 ( 64 MB) Linux6 \ ?$ s5 ?! P; ? }, ]+ z! A
50 */
; S& U" l+ l9 }+ D* I2 k h8 T0 s. l1 X# m
如上图,SR_1~SR_2都可以给用户自己使用。SR_0是ipc的基础组件支持,一般不用自己拿来用。, m1 W, \6 h6 `% A
5 S# T8 a) J- a! ]一般dsp不需要20MB这么大的缓存,尽量程序里面使用动态内存分配来使用内存,而不用静态数组。可以减少内存的占用。
8 j4 z7 {# Y9 M. I/ p+ m, c4 ]- {' n& T" R* y& |2 o* y4 G% {4 K
如果需要分配大容量的内存空间:/ I9 O% y. P s3 z x9 R; H1 e k& r
1.改动mem_args参数(u-boot环境变量);
4 l2 U8 n3 b) E& H6 ]. I; f8 H! S2.改动双核通信工程里面的:shared/config.bld和dsp/Dsp.cfg文件。 |
|