这里介绍Siemens 6688i(外国称SL45i)的硬件资料,希望可以对有兴趣研究补丁的朋友有所帮助。
首先,我需要向Mamaich致谢,他不但向我提供资料,还耐心地解答我的提问。mamaich.fuckru.net是他的主页,我相信你看过他的主页会就会发现他是个反汇编的高手,无论是手机程序或者PC程序。 第二,希望懂俄语的朋友能帮忙翻译一下这篇文章:http://mamaich.fuckru.net/sl45i/sl45_re.htm,如果你访问不了,请看 这里 。
6688i上运行的是一嵌入式操作系统,因为我们没有该系统的源代码,所以只能在反汇编的基础上进行分析。 6688i的主芯片是Infineon PMB6850,内含C166的CPU Core,有关资料请见:1.C167CPU详细资料(4M) 2.C166指令手册。 IDA是个强大的反汇编软件,支持多种CPU(如80x86, Z80, C166等),点击这里下载C166专用版(2M)
由此我推测,6688关机后(当然电池是装上的),CPU停止运行,但有一RTC电路在计时并判断是否触发闹钟。当有闹钟触发或用户按下红键后,电源管理电路开始向CPU供电,此时CPU才执行内部ROM的程序(0x10000-0x107FF,但被映射到0地址),里面的程序判断串口是否有特定数据(连续的0x55,我们烧Flash入手机就是通过这方法),如果有则接收后续的数据并保存和运行。 如果没有,则初始化操作系统后判断是否由RTC触发,如果是,则显示闹钟,用户确认或超时后就关机;如果不是,则进入普通模式,判断SIM卡是否存在,如果存在则读入数据并开发登录网络。 一些愚见,如有错误,敬请指出,欢迎交流,我的E-Mail是konca@tom.com,QQ是14008831(请注明6688)。