手把手教你写877卡IPHONE底层(icprog版)

qqidcom

普通会员
2008-03-01
121
0
0
手把手教你写877卡IPHONE底层(icprog版)手把手教你写877卡IPHONE底层(icprog版)
[font=宋体][/font]手把手教你写一张877卡[准备资料]
1.底层文件下载
http://www.weiphone.com/thread-60138-1-1.html
2.ICPROG软件下载
http://www.qqid.com/jk/down_view.asp?id=77
3.JDM编程器和PHOENIX编程器资料
----JDM编程器 http://www.qqid.com/jk/shop_view.asp?id=26
----PHOENIX编程器 http://www.qqid.com/jk/shop_view.asp?id=26
----USB手机卡读卡器 http://www.qqid.com/jk/shop_view.asp?id=37
4.877卡参考电路图 http://www.qqid.com/jk/shop_view.asp?id=17

底层软件包含了SIM_EMU_6.01_iphone_u1.HEX和SIM_EMU_6.01_iphone_u1_EP.HEX文件,分别写入877卡片里边的16F877和24C64,
写卡的过程就是将卡内集成的可以编程的集成电路都写上HEX文件或者BIN文件,一般的877卡,由于片内集成的24LC64或者24LC256的通信是与片内集成CPU(PIC16F877)直接进行的,故写卡的第一步是在CPU(只有CPU才有IO口与外界相连,卡内结构决定的)上写上文件,然后依靠LOADER 文件在CPU运行时起写卡器与24CXX通信的桥梁作用,这样写卡器就可以将需要写入24CXX的文件写入到其中。当然写好24CXX文件后,LOADER 文件就没有任何作用,最后写入的封卡文件(CPU的工作文件)会掩盖掉LOADER 文件。迅雷专用高速下载迅雷专用高速下载迅雷专用高速下载为方便写卡,SIM_EMU_6.01_iphone_u1.HEX文件本身含有LOADER功能,我们直接用两步就可以写好底层文件了。
 一般我们用的PIC智能卡里边的芯片都是877或许国外的卡有些是876做的,但程序一般通用。
简易步骤表
步骤作用硬件软件写入卡片的文件
第一步写FLASH文件JDMICPROG(器件选择16F877)SIM_EMU_6.01_iphone_u1.HEX
第二步写eeprom文件PHOENIXICPROG(器件选择24CXX)(84卡还可以用winphoenix)SIM_EMU_6.01_iphone_u1_EP.HEX
大部分USB手机卡读卡器具备PHOENIX一样的功能
一、写FLASH文件。
1.按图连接硬件(卡片金属片朝下插入卡槽,初烧注意)

2.下载运行ICPROG,可参照设置。
对于初次写卡的烧友,如果写卡不成功,强烈建议在安装windows98的台式机子下操作,等成功后可以换到新的操作系统。笔记本电脑因为节电设计,驱动能力有限,不建议使用。USB转串口的线也步适合在JDM下使用.
安装后,运行ICPROG再WINXP或者2000下会出现如下错误提示,等需要到下载IC-Prog NT/2000驱动 ,下载解压出的icprog.sys文件放到icprog.exe文件同一个目录下,并需要在settings--options---mic下启用,同时在SETING->OPTION下设置 Enable MCLR as Vcc 选项。见下面的介绍。迅雷专用高速下载
windows98下出现如下界面,在右边的下拉菜单中选择PIC16F877(84卡选择PIC16F84)。3.点击打开文件按纽,出现打开窗口,选择文件SIM_EMU_6.01_iphone_u1.HEX(下图中的文件名只是范例),后按打开,即将文件凋入软件缓冲区(buffer).
4.打开文件之后的界面如下,设置好下面的关键设置
关于关键设置2和3的说明:此设置的目的是控制写入的文件可以读出,用于卡片的成功校验.界面可能会因ICPROG的不同版本而不同,调入hex文件后各选项可能变化,但初学者可以在877卡的Code Protect下的CP OFF选上CPD别打沟即可,别的选项默认即可。关于关键设置4和5的说明:此设置的目的是写877卡内的24CXX用的,设置不对将导致PHOENIX编程器写877卡内的24CXX出现错误。
设置5的COM口必须和接计算机的COM口对应,经验判断如果写卡操作过程中写卡器上LED灯会变化表示COM口选择对.
设置5的频率有6M和3.579之分,一般的PHOENIX编程器上也会有频率6M和3.579的切换,只需要软硬件相符就OK了.
3.按F3出现下面菜单(首次使用ICPROG此菜单会自动跳出),一般计算机串口选COM1(COM2口的计算机要选com2),后按OK,COM口选择对后在读写卡的过程中写卡器的信号指示灯(一般用绿色的LED)会相应闪亮。JDM和PHOENIX的COM口的选择是在软件的不同部分,也就是你可以在一台计算机的2个COM口上分别接一个JDM和一个PHOENIX,这样它们分别设置不同COM口;也可以在使用一个COM口来分时段接JDM和PHOENIX.这样2处软件设置的COM口就一样了.
4.确认硬件已经接好的情况下,点击上面的command菜单的program写卡,按yes开始写卡,如下图所示。写卡会有进度提示,结束后会有校验成功的报告,写卡错误也会有相应的提示。
二、在写过正确的SIM_EMU_6.01_iphone_u1.HEX文件,将要写877卡内的24CXX用的SIM_EMU_6.01_iphone_u1_EP.HEX文件,此文件和第三步中的封卡文件决定了卡片的功能,比如IPHONE用途
JDM写卡器换成PHOENIX,同样的方法连接硬件,在ICPROG软件的右上角的下拉菜单上选24C64(如果你的卡是24C128,24C256就分别对应选择)
保证第一、2中的的关键设置4和5没有变化的情况下,调入SIM_EMU_6.01_iphone_u1_EP.HEX文件(下图中的文件名只是范例),调入文件之后就可以点击上面的command菜单的program项写卡内的24CXX的文件。




[关于0000H错误]
ICPROG软件写877卡最常见的错误是0000H处校验错误,经常有人问这个错误是怎么回事。其实写卡过程中无论是硬件(如卡片、编程器、电脑串口)还是软件(如windows系统、ICPROG等)甚至有人自己做的线线序不对产生的错误最常见都是这个。所以不能一概而论。这个错误的意思是软件在0000H地址(也就是卡片CPU的起始位置读出来的数据和事先写入的不同,也就是校验失败

参考一下下面的内容:
1、什么版本软件,最好将你下载的软件的连接告知
2、什么硬件,单个的PHOENIX,还是合1的

3、如何连的,232线是否正常
4、如何确认COM口正常,是否能确定自己的COM口
5、读写卡过程中写卡器上灯有什么反映?
6、使用PHOENIX功能时频率一定要和软件上保持一致
7、出于简单方便考虑,渔歌的单个phoenix以前是串口直接取电,确认可以用于写877 84卡,或者读取SIM卡的电话薄及短信信息。
8、2合1和3合1的需要接USB取电,证实可以用于读红卡,读取的过程中红灯会变绿,另外一个绿灯会闪烁。读取完毕变绿的红灯会恢复变红。
9、大家不是都有SIM卡吗?通过读它的短信或者电话本内容来验证我们使用的PHOENIX功能是否正常不失是一个好办法。
10、死马当活马,软件重新下载,电脑重新启动。


[经验]
1.JDM写卡的时候,如果不行,可以先将卡片删除后再写。
2.ICPROG的有些提示不一定准确,比如它基本不判断卡片是否存在,不放卡片的时候会也可以读卡、写卡。
3.phoenix如果怀疑它有硬件故障,可以先用它读读普通SIM卡的信息,如能读取一般没有大的问题,排除硬件错误会对你查找故障有利。
4.千万不能在JDM写卡的时候,见0000H错误就大惊小怪,我说过任何错误都是这个结果。
5.自己做连接线的,一定要搞清楚是1对1的线,搞错了会坏硬件和电脑的,不鼓励自己做线,如果实在买不到线,可以先直接将写卡器插到电脑。
6.如果实在不成功,找别的写卡软件试试,写卡的软件应该还是有那么5种常用的,只要它要求的写卡器类型和你的一样。
7.卡片在读写过程中都不要动硬件,以防损坏卡片。卡片可以正常读写万次,但非正常操作就完了,比如220V高压线头落写卡器上,哈哈我想你不会这么大意的。
8.软件可以重新下载安装。9.判断某一硬件坏的准确方法一般需要有一好的同时存在,初烧一般只有一份东西,所以初次写卡如果失败,最好不要随便怀疑哪个东西有问题,而要从方法上下手,多试是最好的方法
10.第一次运行这个软件,会弹出一个窗口,对于NT内核的操作系统(2000、XP)你需要把它设置为windows API(否则会出错), 对于98内核,则设置为Direct I/O,延迟量可以不管,但如果读写不稳定,需要增加延迟量。再选择你使用的COM端口,这一步是必需的。以后要改变这些初始设置,需要在软件菜单中有一项“初始化”,也可调出这个窗口。
11.进入软件后,就可以应用了,软件界面简单,主要有从芯片读出、擦除、编程等。首先选择你的芯片类型,再将你的文件打开,读入缓冲区,就可以编程了。在编程之前你也可以对芯片进行芯片擦除(这一步不是必须的,在软件在对芯片进行编程之间,有一个擦除动作)。完成后,软件会自动校验,(也就是将已经编入芯片的数据读出后与缓冲区的数据进行比较),如果校验通过,会得到“programe success!”提示。
12.软件中还有一些高级设置,有些还是很有用的,像快捷键、校验方式等。所以看一下helpfile是很有用的。比如选项设置里边的校验方式有2种,一种是编程中校验,一种是编程后校验,一般选择编程中校验比较牢靠,而且不耽误时间,它的含义是写一个字节就马上校验一个字节。

[关于icprog软件windows2000/NT/XP驱动的若干问题]
尽管我们不提倡在非98环境下写卡,但是很多烧友仍然坚持要在2000或者XP下尝试,所以渔歌收集整理了下列资料,希望对大家有帮助。
Icprog软件安装驱动的方法:
1.Settings-Hardware 左边选择JDM 右边选择Windows API
2.Settings-Options-Misc 选中Enable NT/2000/XP Driver

特别提请在安装驱动之前有两点需要注意的地方:
1.windows 2000/XP/NT在开机的时候有用户登陆方式的一定要选择管理员登陆,如果选择一般的用户登陆Windows可能因为权限不够而无法成功安装驱动。
2.关闭防火墙/病毒监控/3721等时刻监视系统和文件变化的软件,因为他们可能阻止驱动安装。
3.其他如果您能帮渔歌补充就好了。。

查看驱动是否已经安装好的办法:
1.控制面板--系统--硬件--设备管理器--查看--显示隐藏的设备
然后点开“非即插即用驱动程序”
2.在一大堆驱动驱动里找找下面名字的驱动:
IC-Prog Driver 写877/84卡XP并口驱动
以上驱动程序应该和其他所列的驱动一样没有任何错误标志,如果有说明没有装好或者没有启动。这样均会导致不能写响应的卡。


[参考]
手把手教你写一张PIC卡(877卡、84卡)

http://www.qqid.com/jk/article_view.asp?id=2