小M最大的乐趣无疑就是可以打各种各样的补丁,但是在打补丁过程中有很多朋友遇到过强刷问题,就是补丁的之间相互冲突,大家都知道小M的补丁分基本三种:功能补丁、图片补丁、功能图片都需要的补丁(比如数字时钟)。
对于功能补丁,各位大侠做补丁时大都会注意以前的补丁用过哪些地址,从而避免冲突,但是对于图片补丁就不好避免了,另外图由于图片补丁都很长,也没人会仔细查看有没有冲突,事实上多数的补丁冲突都是图片补丁间的冲突
下面就说一下怎么修改图片补丁间的冲突,讲到图片补丁,当然离不开spc (siemens pictures changer),看一下面的图
对于每张图片都会有pit-address和real-address两个信息,pit-adr指的是图片地址(或者叫图片索引)在整个fullFlash里,这个地址就像图片的编号一样唯一确定一张图片;而后面的real-adr就是图片在fullflash里的实际地址,就是从0x000000到0xE00000的某一地址;二者的关系就像逻辑地址和物理地址的关系一样。好了,明白了这两个东东,后面就是说为什么修改的图片之间会产生冲突了
我们要替换某一张图片,当原图片所占的空间小于要替换的图片的空间时,spc就会自动查找fullflash里的空闲空间(内容为0xFFFFFF的空间),然后把图片放到空闲空间里,然后自动建立图片的real-address和pit-address之间的映射关系,就是Picture Table Index。如果网上某个人做的图片补丁所用的real-address在你的fullflash里已补其它的图片(以前打过补丁)占用了,就会产生冲突,提示所用空间内容与补丁不符合。
解决的方法:可以找到补丁的作者,要来源图片,自己用spc做这个补丁,当然要拿你自己的fullflash来做,这时spc就会在你的fullflash中没用过的空间,存放图片资源问题就解决了。
对于功能补丁需要和图片补丁结合的,做功能补丁时,用的是图片的pit-address(如采用的是real-adr那这个补丁的可移植和可修改性就太差了),如发现图片补丁有冲突完全可以照上面的方法改,因为功能补丁和图片补丁是相互独立的,图片的pit-adr是永远不会变的,real-adr会因为不同的fullflash的使用不同而不同
最后给大家看一下最新的数字时钟补丁(不是屏保下的,这个是待机锁键盘后显示的)