|
板凳

楼主 |
发表于 2017-7-12 09:57:56
|
只看该作者
本帖最后由 newdsp 于 2017-7-12 10:00 编辑
}% z0 \9 ? i# t8 k2 Khuman 发表于 2017-7-12 09:18; a4 y$ p4 U; d
1.EMIFA的BA1/BA0和触摸屏管脚连接是没有冲突的,可能是软件配置问题或信号干扰。9 W6 M3 h6 B* o" ?7 [7 L) z/ m; f
2.可以, 修改方法:修改 ...
. t; A5 |- Y& Q+ x. c$ @6 ^1.对ARM端的内存分配,我们按照文档《6-2-U-Boot启动参数详解.pdf》中的说明,调整了Uboot中ARM的内存分配;
" F& I7 `& J; I$ a0 z, L" @ 将启动参数mem_args由原来的:mem=32M@0xc0000000 mem=192M@0xc4000000,调整为8 }. A. \0 M; ^9 a
mem=32M@0xc0000000 mem=64M@0xcc000000;
2 g- c P% o: g& J 这样做的目的,是给DSP预留足够的数据空间。
* |: W9 z2 H9 C; H 这样改完后,Uboot无法引导LINUX。
7 ?! h; e# \ U; a9 Y& y 然后再次断电重启后,启动参数mem_args又恢复为原来的mem=32M@0xc0000000 mem=192M@0xc4000000,我们做的修改丢失了。但这时可以UBOOT引导LINUX;& X$ \& e1 R' O& F4 S& w
- R& F/ |/ p% w( f2. 对DSP端的内存分配,由于我们没有用仿真器,而是用makefile进行程序编译,因此对我们而言内存分配是一个叫config.bld的文件,我们的内存分配方式如下:
" T0 G: Y3 P% _ * C000_0000 - CFFF_FFFF 1000_0000 ( 256 MB) External Memory
8 b- s+ _/ h4 ] * ------------------------------------------------------------------------
1 d9 \8 W! Y/ c9 Q5 ?: n * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
" y: W/ G4 e# ^8 A4 F; V * C200_0000 - C200_FFFF 2_0000 ( 128 KB) SR_0 (ipc)( O* i& u$ ^9 ?( ~, J6 G" h
* C201_0000 - C202_FFFF FE_0000 (15.875MB) SR_1 (data buffers)
& M$ z2 |! s5 o/ Z$ b8 Q1 K * C300_0000 - CBFF_FFFF 900_0000 ( 160 MB) DSP_PROG (code, data)
: p) O. f2 ?+ r+ l1 Y * CC00_0000 - CFFF_FFFF 400_0000 ( 64 MB) Linux
, l0 z8 q, a$ h: x; k' ~ 按照上述内存分配,DSP可以正常编译。
) e( t$ n! `2 R: L0 @: g 但由于ARM段在修改内存后不能启动(此时 mem=32M@0xc0000000 mem=64M@0xcc000000)
) E/ l2 d1 T$ C+ W+ U. ^) `6 Y 而能启动时(此时mem=32M@0xc0000000 mem=192M@0xc4000000),ARM与DSP在0xc4000000~0xCBFF_FFFF之间有冲突,因此无法加载DSP。
$ {( H% U$ r2 J3 L8 X6 Y 因此DSP最终也无法运行。$ N: t8 ?+ J# V6 }2 M2 Y( _
1 C- t2 B2 C* k$ P$ f. T3 ~4 C
! T' v" }- f+ z, I+ a" w. D
另:对于触摸屏失效的解答,没有指导意义。因为冲突就在哪里摆着。且电路都是原来开发板采用的电路。
2 h' A% v0 L! | |
|