发布一个自己写的C8051F编程软件,简单好用,支持Hex/bin写入和读出,集成EC3固件修复
用C8051F的单片机,编程软件始终是个问题Silabs的软件都是英文版的,而且操作起来不太方便,不太直观
而新华龙电子出的那个中文版的软件,经常把器件识别为C8051F000
或者直接就说已加密,无法识别(到现在我还没搞懂,因为官方说加密后仍然是可以识别的,只要擦除了还是可以用的,不知道用过的高手能不能给个答案)
而且还经常把下载器的固件写死,老是要恢复固件
还有一点就是所有的下载软件都只支持Hex文件,遇到bin文件,就得转换
于是乎,我产生了这个想法,反正要练习VC,就顺便写一个下载软件
针对其他编程软件的问题,我写的这个有以下特点:
1.首先这是个中文版的软件,新华龙那个不再是独一无二的了
2.支持Hex/Bin文件写入和读出,再也不用去转换了
3.支持USB下载线固件恢复,不用去装Silabs IDE,也能有这个恢复工具了
4.完全免费,绿色发布
5.下载接口的类型可以指定,也可以不指定,指定了连接速度更快,不指定的话,也能自己搜索出来
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_601725J86GWK.jpg
(原文件名:HYE.jpg)
欢迎大家拍砖,并指出其中的缺点,我会不断改进的!
目前的缺点是:
只支持USB下载线,不支持EC2串口下载线.如果串口下载线用的人还很多的话,咱就加上去
下面是下载链接:
点击此处下载 ourdev_601724DKK0MX.rar(文件大小:455K) (原文件名:鸿翼电子C8051F编程器V1.1.rar) 漂亮。。 忘了源代码,呵呵
点击此处下载 ourdev_601732BVKY2M.rar(文件大小:4.00M) (原文件名:C8051F.rar)
另外还发现了Silabs官方提供的软件源代码中的一个错误,呵呵
在查找芯片型号的时候,有型号重复查找了,而漏掉了同系列的其他型号,估计是Ctrl+V以后没有修改,呵呵 mark顶 谢谢楼主 ,现在机器里面装的软件够多的了,能省掉silibs IDE了。 非常感谢。 谢谢分享,正需要! 非常好用,要是写入时有个进度条更好,程序大了时间有点长都不知道是不是死了。 我顶! 请问,如果EC3的编程器烧坏了,能再更换单片机后,用这个回复么?现在虽然能识别出编程器,但是识别MCU出错,330识别成000,930识别成120.固件恢复没用。 正需要,谢谢楼主分享 mark!学习! mark,不错,好东西 下载试下,以前用英文版的不是很好用,搞的我都是通过keil下程序的. to fly_817
更换单片机以后不能恢复,因为里面是空的,没有引导代码
识别出错在新华龙那个软件上是很经常的事情,通常都不是硬件问题 tozhangxun0712
进度条这个问题,我也想过,很想搞个上去,可是Silabs的dll没开放,在他们提供的源代码里面没申明的函数,都不知道,没法用
而下载又是一次性下进去的,非要搞个进度条上去,反而会减慢速度,我也在想值不值得
是把全部数据分段写进去,从而显示进度条,还是直接用代码数量来估计写入时间,估计的话不准确,但是看到进度条在走,是要踏实一些 可以考虑增加 批量编程,计数 回复【15楼】xiaobenyi
-----------------------------------------------------------------------
不好意,之前我没看到楼主公布的源代码,以为通过下载的字节数与文件大小相比就可以得到下载进度。看了一下源码还是不好加,我也打算用时间估算来实现。毕竟程序大了要几十秒,几十秒没动静心里不踏实。呵呵。我把楼主的淘宝连接去掉了、标题也改了没意见吧(个人使用)? to canback
这点我也想到了,而且是实现了的(不过又删掉了),目的是想在批量编程的时候不用去点那个执行,他就一个接一个的编程,同时统计出数量来
实际测试的结果很不理想,写完一个等待芯片拔掉,然后又等待芯片连接上,看起来很顺利的事情,他的函数返回时间很长,有时候要等好几秒钟.比去点一下花的时间还长.
估计还是Silabs的函数不完全公开的问题,向大家打听一下,谁能搞到那个USBHID.dll,SiUtil.dll的完整版函数说明书,要是有这个的话,估计执行效率会高得多,其他的功能也能灵活实现. to zhangxun0712
呵呵,没意见,这个本来就是公开代码的
也希望你写好了贴出来让大家学习学习,呵呵 呵呵好东西 记号 mark 可以尝试用depends.exe查看一下dll的接口函数,看看有没有发现,或者直接上ida... mark 知道函数名字不知道参数也一样是没用的
ida的话,就太那个了,呵呵 MARK 这东西太给力了,比原来那个好太多了
我每次下载要切换页下完了换回去再断开连接单片机才工作,累死了
提个小建议,完成一步操作的时候给个提示音会比较好(最好可屏蔽,有人不喜欢),选音量小点不吵人的音为好 to ds444
这个建议不错,呵呵 这个必须要赞一个. 发现BUG
1。打开软件后要先点连接器件再选要刷的固件,否则不认芯片型号
2。不能自动纪录上次刷的固件目录
3。不能自动更新固件 谢了,备用 回复【30楼】ds444
发现bug
1。打开软件后要先点连接器件再选要刷的固件,否则不认芯片型号
2。不能自动纪录上次刷的固件目录
3。不能自动更新固件
-----------------------------------------------------------------------
1。先点连接芯片,这时会从C8051F.info里面搜索芯片型号,加密地址,ROM大小之类的信息,如果不连接,就得不到这些信息
不过还是可以改进,就是任何一个操作都可以加入这个部分
2。这个是由文件对话框记录的,如果你没有在别的软件里面打开文件对话框的话,应该是会临时记录的,如果要单独记录这个软件的文件目录的话,就要生成记录文件或者是写注_册表,这个相当于是产生垃圾文件或者垃圾注_册信息,有违绿色软件的精神,呵呵
3。自动更新固件是在后台进行的,所以看不到对话框.这个操作是SiUtil的函数里面进行的,想禁止自动更新都不行. 不错,帮顶 记号 这东西好...早就想扔掉新华龙的软件了..贼变态 好东西, 谢谢分享 mark 这个软件能加个运行和停止就更好了. 如果顺便讲解一下VC++的源程序就更好了 感谢楼主,下载了 记好!!!! 回复【38楼】cnzhy88
这个软件能加个运行和停止就更好了.
-----------------------------------------------------------------------
运行和停止,我想了很久也不知道有什么用,如果要调试,用软件单步都可以,如果只是下载的话,这功能根本没用,下载完了拔掉就OK了
他不会因为你在下载的时候没点运行,以后就不运行的 回复【39楼】fythsg
如果顺便讲解一下vc++的源程序就更好了
-----------------------------------------------------------------------
那个实在是不好意思,我的VC水平那是 Level 0
哪敢讲解啊 很简洁!
去掉了老外的部分功能. 这个要强力顶起! 回复【42楼】xiaobenyi
回复【38楼】cnzhy88
这个软件能加个运行和停止就更好了.
-----------------------------------------------------------------------
运行和停止,我想了很久也不知道有什么用,如果要调试,用软件单步都可以,如果只是下载的话,这功能根本没用,下载完了拔掉就ok了
他不会因为你在下载的时候没点运行,以后就不运行的
-----------------------------------------------------------------------
运行停止也是在维修或调试的时候用的,这样就知道你板子修好了没,这样就不用在电源上搞来搞去了.直接软件控制,要是用keil的话又要写下程序,麻烦了点.. 楼主能吧官方的源代码发上来让我们瞧瞧外国人写的程序哦........ 有可能用VB搞吗?楼主想下办法啊!!! 回复【47楼】cnzhy88
楼主能吧官方的源代码发上来让我们瞧瞧外国人写的程序哦........
-----------------------------------------------------------------------
这个到 www.silabs.com 去下最新版的吧
点击此处下载 ourdev_604698GPFUHJ.zip(文件大小:431K) (原文件名:MCUProductionProgrammer.zip)
点击此处下载 ourdev_604699OV9Q1E.rar(文件大小:598K) (原文件名:Windows Console.rar) 回复【48楼】yl0859
有可能用vb搞吗?楼主想下办法啊!!!
-----------------------------------------------------------------------
VC可以,VB当然也可以啊,想什么办法?
不过为啥要用VB来写? 谢谢xiaobenyi 我现在都是用你这个软件来下载程序了,这个软件比英文的好用多了.不用连接檫除再连接下载这样搞了..在WIN7下使用也很正常,在使用中有发现查不到芯片的型号是问题,要把仿真器拔掉重新连接就正常了.还有进度条的问题,前面有人讲了..感觉没进度条用起来没感觉一样,不知道他是死了没..呵呵.这个如果要加个运行要用什么命令啊,麻烦说下这个命令吧,我找人在你的代码那加下吧.十分感谢你搞的这个程序..谢谢.... SetTargetGo(); //运行
SetTargetHalt(); //停止 OK修改好了..谢谢xiaobenyi ....HO..HO.. 记号 非常感谢。 mark mark http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_609778CZH2BZ.gif
(原文件名:V2.gif)
2.0版出炉,下面是下载地址:
V2.0出炉ourdev_609777RL9ABF.rar(文件大小:520K) (原文件名:鸿翼电子C8051F编程软件V2.0.rar)
主要有以下几个改进的地方:
1.增加了最小化按钮
2.增加了运行/停止按钮
3.增加了进度条,并有百分比显示当前进度,除了连接芯片和擦除,其他都是真实的进度
4.修正了FileDlg修改当前目录后,因为C8051F.info文件找不到而引起的"器件不在支持列表"的错误
5.增加完成后播放提示音的选项,提示音以wav文件方式,可以换自己喜欢的声音
6.写入时改为按page写入,忽略空白页(全0xFF)以提高小程序的写入速度
7.打开文件时只记录文件地址,写入或者校验执行的时候再载入文件,避免每次修改了代码都要重新打开文件
8.增加了空片查询和加密查询的功能,有时候对擦除是否成功不太放心,尤其是加密是否成功,更不放心.加入这个功能后可以放心了
9.改掉了一些依赖操作顺序的bug MARK 源代码和发布软件 ourdev_611626X9RSRO.rar(文件大小:5.72M) (原文件名:C8051F.rar)
之前的有点小bug,按page写的时候,少了一页 mark 支持楼主。 感觉速度奇慢,是不是什么没设置好啊? 搞手们的心血,不能白下载,一定要先顶! 马克 编程器 mark 回复【64楼】sunnyhook
-----------------------------------------------------------------------
速度奇慢?不会吧,我自己用笔官方的还快一些啊
加了进度条确实比不加进度条的时候要慢一些,不过也不至于“奇慢”,呵呵 比官方那个好在芯片可以连续的下载,速度上呢,的确还是官方的快点。还是挺不错的,我顶一下。 我用的是xhl的U-EC6,目标芯片是C8051F120,代码量30K,确实慢的很厉害,尤其是擦除完后就停顿在“读取……”步骤了,有时候得等几分钟才能完成余下的步骤。 回复【70楼】sunnyhook
-----------------------------------------------------------------------
那是因为软件默认擦除后要全部读出来检查是否为空(FF)
你把擦除后检查芯片为空那个选项去掉,就不会再读出来检查了
比官方的慢点,原因是加了进度条,本来一次性写入的东西,变成了按页写入 楼主真给力 不错 支持呀 强烈支持一下,搂住无私高风亮节 我用的是xhl的U-EC5,目标芯片是C8051F120,代码量30K,确实慢的很厉害,尤其是擦除完后就停顿在“读取……”步骤了,有时候得等几分钟才能完成余下的步骤。 好 DING mark 怎么才能把最新版的始终在楼主位呢?
以免有问题的东西被下载去耽误大家时间,呵呵 回复【80楼】xiaobenyi
怎么才能把最新版的始终在楼主位呢?
以免有问题的东西被下载去耽误大家时间,呵呵
-----------------------------------------------------------------------
通知斑竹~~~~ 斑竹~~~~
你系边度啊? 楼主有没有感觉有bug?
for(DWORD i=0;i<dwCount;i+=0x20)
{
strData += ":20"; //line start
str.Format("%.*X",4,i); //2 bytes start address
strData += str;
strData += "00"; //record type
VerifyCode = 0x20 + (BYTE)(i>>8) + (BYTE)(i);
for(BYTE j=0;j<0x20;j++)
{
Code=(BYTE)*(DataRead+i+j);
str.Format("%.*X",2,Code);
strData += str;
VerifyCode += Code;
}
这样是不是没有考虑小于32字节的hex或者最后一段程序小于32字节的情况? 收藏了,好东西,顺便到你的shop逛下! 回复【83楼】embeddev
-----------------------------------------------------------------------
考虑了的,软件默认全部填充0xFF,所以不管你最后的程序是多大,都是这么写的
Keil产生的hex文件经常是东一段西一段,就按源代码来的,而实际下载的时候是按页写的
所以在读入hex文件之前是预先全部填充0xFF的,用到的地址上就填上了code,没用到的保持0xFF
读出的时候也是一样,读出时总是会把所有空间全部读出的,所以不存在不足32字节的情况 顶楼主。好资料。谢谢分享。 马克 太牛X了
见识了 版主上哪去了?呼唤了这么久都没出现?!
再说了,我这个首创的并且完全原创完全开源的软件,怎么也得穿个裤子吧 make 不错的工具 酷子来了 ,不过我说了没有 ,帮你呼叫一下 ,
老莫出来置酷了,呵呵 这个不错,我一直在用的 给力的主,顶你! 高手啊太牛了!用用试试哈 mark,多谢楼主 mark下 围观一下 有没有人知道,为什么用新华龙的软件加密之后,连型号也识别不了?必须先擦除 M
页:
[1]
2