|
|
板凳

楼主 |
发表于 2017-7-12 09:57:56
|
只看该作者
本帖最后由 newdsp 于 2017-7-12 10:00 编辑
( Q' d5 M+ M6 X. J5 f/ Jhuman 发表于 2017-7-12 09:18! i3 g- Q- l- ~( W5 x
1.EMIFA的BA1/BA0和触摸屏管脚连接是没有冲突的,可能是软件配置问题或信号干扰。
0 u+ W. k9 N0 J. s! C3 b2.可以, 修改方法:修改 ... " ?' Y; {$ [9 h1 o
1.对ARM端的内存分配,我们按照文档《6-2-U-Boot启动参数详解.pdf》中的说明,调整了Uboot中ARM的内存分配;4 L- b4 {; A! u1 {1 w/ {# f
将启动参数mem_args由原来的:mem=32M@0xc0000000 mem=192M@0xc4000000,调整为; ~( ?% f4 F+ O2 `% C
mem=32M@0xc0000000 mem=64M@0xcc000000;
) n/ H3 ~2 I1 o 这样做的目的,是给DSP预留足够的数据空间。7 b6 E, t9 P: W+ ]
这样改完后,Uboot无法引导LINUX。# B( L+ Z# ?) D
然后再次断电重启后,启动参数mem_args又恢复为原来的mem=32M@0xc0000000 mem=192M@0xc4000000,我们做的修改丢失了。但这时可以UBOOT引导LINUX;( f8 T8 t4 e& {6 i; W% n$ n e
+ {. D, S$ R E! q3 C$ O7 @4 i2. 对DSP端的内存分配,由于我们没有用仿真器,而是用makefile进行程序编译,因此对我们而言内存分配是一个叫config.bld的文件,我们的内存分配方式如下:& \& ]4 o2 @% m# t( P" Q! M
* C000_0000 - CFFF_FFFF 1000_0000 ( 256 MB) External Memory. p" C2 ]6 O% \0 M
* ------------------------------------------------------------------------
+ s5 N' w8 u3 o( E$ l * C000_0000 - C1FF_FFFF 200_0000 ( 32 MB) Linux
- ^1 [$ V9 B% W4 P * C200_0000 - C200_FFFF 2_0000 ( 128 KB) SR_0 (ipc)
" D. x9 W. ^$ J * C201_0000 - C202_FFFF FE_0000 (15.875MB) SR_1 (data buffers)2 g( d( R3 L7 Q/ i' h7 K
* C300_0000 - CBFF_FFFF 900_0000 ( 160 MB) DSP_PROG (code, data)$ X/ U5 I/ i/ a7 @; g/ ?
* CC00_0000 - CFFF_FFFF 400_0000 ( 64 MB) Linux
5 N8 n$ z' N8 o2 T! y 按照上述内存分配,DSP可以正常编译。+ ^2 l w1 L2 c( `- }5 M) u
但由于ARM段在修改内存后不能启动(此时 mem=32M@0xc0000000 mem=64M@0xcc000000)+ t- b1 e! v. I4 Z
而能启动时(此时mem=32M@0xc0000000 mem=192M@0xc4000000),ARM与DSP在0xc4000000~0xCBFF_FFFF之间有冲突,因此无法加载DSP。
2 C% t7 Y+ g* y& z' i( ]) _5 ] 因此DSP最终也无法运行。% }# k. C! F# H3 i* k! I5 O& [
7 X5 v: S' z: v, {0 C7 X
X$ K8 p, e6 G& z另:对于触摸屏失效的解答,没有指导意义。因为冲突就在哪里摆着。且电路都是原来开发板采用的电路。
* T9 j' r+ Z" v! r' o |
|