imx515 apad复活记

最近运气比较差,诸事不宜。在我担心我唯一可以测试用的android真机会不会出现问题的时候,它挂了。在我看着电车为了通过缓缓逆向行驶而为它连接电线的支撑杆会不会脱掉而担心当初设计时是否考虑到这一点的时候,它也倒下了。然后就只好想办法修复自己的apad了。

我说的挂掉表现几乎是彻底的挂掉,开机仅能听到滋滋的电流声,剩下就是板砖了。拆机,dd copy,开机,还是一样。拔卡重插,无任何表现。我甚至都在考虑是不是显示屏挂掉了,要不要重新挑选了。抱着试一试的态度,看能不能进recovery模式,其实不用想也知道的,因为显示屏都没有任何反应,几乎意味着recovery模式无法启动的,老天眷顾,我只是想做最后一次的尝试,失败的话就当垃圾了。在我估计足够长的时间之后,确保正常的话已经停在了recovery模式的菜单之后,默认情况下,会停在reboot这个选项上,然后,按下确定键(机器正面的圆按钮),奇迹就这样发生了,它居然复活了。至于什么原因我也不清楚,这样的话,对于我之前做的android 2.3.1的研究出现的没有显示或者最后出现正常显示的总结出现怀疑了。然后查看了编译脚本,发现对于内核的配置几乎没有改变,还是按照默认的来,只是修改了u-boot的boot的参数,孰是孰非,我也不清楚了。

另外,推荐dd copy的时候按照这样的顺序来,先umount所有的分区,然后再dd copy,因为ubuntu默认会挂载所有的分区,如果在这样的情况下dd copy的话,很容易出现copy完之后,分区不认的情况。

imx515 android 2.3.1总结

首先说明下,这个总结不是弄出一个完美的甚至稍微正确些的rom,写出来主要是由于我个人的原因,不论是时间还是设备,都不足以让我这样折腾下去了。这里仅仅是一些自己的见解。

关于启动部分的黑屏(u-boot),从官方拿到的代码,默认的配置,似乎是没有包含驱动显示的部分,并且,默认的启动首先不是从SD卡上启动的,而是可能从网络还是什么启动的,我修改了启动的参数,将其SD卡部分提前了。代码中也强制修改了一些,主要是强制从SD卡启动。但至于有没有效果,则不清楚,因为这部分显示还是黑屏。

关于内核的配置,官方的配置和2.2中的配置有很大的不同,大概有227处(记忆中是这个数字,也可能是277),这其中,有些是2.3.1升级来的,而有些则可能是关于驱动什么的配置的,总之,我的按照最简单的方法:

调用adb pull /proc/config.gz获取设备中2.2的配置,然后复制到kernel-imx中,修改为.config(我建议做备份),然后运行make uImage,由于多出来好多新的配置,会一个一个问是否需要选择,一般情况下,我都是选择no的,而有些是需要填一些内容的,就参照官方默认的配置文件。

然后,按照官方的编译方法(这里有些不太准确,见下段),编译出来升级需要的那几个文件,关于boot,无论是boot.bin还是boot-no-padding.bin,我都建议放到SD卡中,我也不清楚到底用的是哪一个,当然还有md5文件,然后,在2.2中的3E屏幕升级所有的,重启完之后就变成2.3.1得了。由于u-boot部分无法驱动起来,因此在该部分会黑屏,然后会出现小企鹅,android的图片,然后进入系统。

在上段的不准确部分,是由于嫌编译命令太长,因此,写了一个脚本,然后自动执行,但由于android系统会在kernel编译之后再编译,是否会重新生成uImage不是很清楚,但这样的确实可以成功了。

这样做需要很大的风险,因为弄完之后就没有recovery模式了(无法进入3E屏),按键也是错误的,电池电量检查也是错误的(满电才能支持1分钟,而apad又不支持边充电边用接usb键盘),所以接下来的修正什么的都只能拆机弄了。我建议那些有能力将内置的SD卡槽移到机器旁边的人弄,像我这种电子的外行只能不断的拆机了。目前内部的那个卡可能已经部分出现了坏块之类的,而用来转换到记忆棒的转换卡片几乎要完全罢工了(我手边没有读卡器,因此用psp来做读卡器的)。

我更建议大家将自己的研究都放出来供参考,这样没必要每个感兴趣的人都要走重复的道路,不过从padbbs.net上的一些讨论来看,似乎是有限制的。

imx515的android 2.3.1终于初次编译出来了

昨天晚上终于将apad的imx515的android 2.3.1编译完成,并放上去运行了一下。刚开始自然有很多问题。

之前问题的解决和猜测的一样,解决的方法和思路都正确了。

内核的配置前两天都已经合并好了,并且编译了,本来前天晚上想弄上去试试,结果有事没时间弄。昨天晚上一看编译时间,不对,原来我编译成了53的了。只好重新编译一遍。然后烧上去,可以运行的。但有些问题。

主要有以下问题:

1、屏幕分辨率不对,800X400的,这个应该比较好弄,之前看到别人问过

2、按键映射不对,apad的那个返回键被弄成了上或下方向键,没有返回键了,这个也不是很难的事情,只要知道对应的按键。

3、重力感应,不知道是设置关闭了还是驱动不对,总之,没有反应,这个关系到配置,有个大致方向。

4、电量显示不正确,上去就说还剩1分钟,然后不知道自动休眠了还是关机了,反正得reset。可能将电量显示纠正对就可以了。

5、启动的时候没有显示开机的logo,应该是u-boot部分没有启动显示。还没有看过u-boot的这个地方,需要时间。

6、官方编译出来的没有recovery模式,原始版本的recovery模式中似乎也没有recovery.img的更新,昨天晚上默认按照官方的编译,也没做recovery模式,于是就又得拆机了。

或许还有很多其他的问题,昨天晚上只看了十几分钟的样子。慢慢修改吧,会一点一点变好的。昨天本来也只指望能把屏幕驱动起来,显示点内容就可以了,总之,超过预料了。

imx515的android 2.3.1的一些想法

上周弄的时候总是搞不定,后来周六决定改改启动参数试试,然后只烧录boot文件,结果发现可以看到老的内核启动的画面了(最后自然挂掉的)。这样一来,说明了boot的问题了,然后引导2.6.35的内核,发现还是不行。不管如何,boot算是大致解决了,这下应该是内核的问题了。

内核的问题在论坛上有人提到使用2.6.31的内核配置可以,但我没有找到可以公开的相关说明,由于屏幕没有显示,我猜测可能是显示驱动相关的问题。当时脑筋也真是一根筋,没想过是否可以在可运行的系统中提取。弄得筋疲力尽的,最后只好烧录老的内核等等,恢复原状了。至少让机器可以运行吧,先基于2.2研究吧。今天突然想到了,就看了一下,果然可以啊。然后提取出来大致看了一下,发现里面有关于AMD-GPU等配置,记忆中,官方的似乎没有,而从boot启动的时候也没有激活屏幕显示那个可爱的机器人图像来看,可能是这个问题。

回家准备再次的拆机器,希望这周可以搞定,如果搞不定的话,只好暂时放弃。或许过段时间就会想出更好的办法来。

谁会编译imx515的android系统?

我正在搞imx515的android 2.3.1的系统,没有开发板,只有白牌的apad。按照官方编译出来的rom文件,放上去连屏幕启动都未执行到。这里有介绍如何做RS232接口线来辅助运行的,我不会做这个,也不是很乐意这样搞。由于屏幕无任何反应,现在几乎完全弄不下去了。

现在的问题,估计是uboot的问题,按照官方的内容,uboot编译出来运行的时候是需要设置一堆环境变量的,这些内容可以通过RS232数据线来搞,但现在的情况我无法这么做。

还有一种情况是编译出来的内核的问题,这个可能和内核的配置有关。我无法确定问题在什么地方。

如果有谁搞过这方面的内容或有经历,还请指教。同时,欢迎讨论