xiaobenyi 发表于 2010-12-2 12:13:23

发布一个自己写的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)

oufuqiang 发表于 2010-12-2 12:33:54

漂亮。。

xiaobenyi 发表于 2010-12-2 12:43:20

忘了源代码,呵呵

点击此处下载 ourdev_601732BVKY2M.rar(文件大小:4.00M) (原文件名:C8051F.rar)

另外还发现了Silabs官方提供的软件源代码中的一个错误,呵呵
在查找芯片型号的时候,有型号重复查找了,而漏掉了同系列的其他型号,估计是Ctrl+V以后没有修改,呵呵

damoplus 发表于 2010-12-2 12:50:36

mark顶

gallop020142 发表于 2010-12-2 13:04:17

谢谢楼主 ,现在机器里面装的软件够多的了,能省掉silibs IDE了。

zhangxun0712 发表于 2010-12-2 13:12:22

非常感谢。

exploer 发表于 2010-12-2 13:16:20

谢谢分享,正需要!

zhangxun0712 发表于 2010-12-2 13:18:34

非常好用,要是写入时有个进度条更好,程序大了时间有点长都不知道是不是死了。

aduc812 发表于 2010-12-2 13:19:17

我顶!

fly_817 发表于 2010-12-2 13:20:42

请问,如果EC3的编程器烧坏了,能再更换单片机后,用这个回复么?现在虽然能识别出编程器,但是识别MCU出错,330识别成000,930识别成120.固件恢复没用。

yangsen 发表于 2010-12-2 13:21:33

正需要,谢谢楼主分享

embeddev 发表于 2010-12-2 13:28:14

mark!学习!

orange2348 发表于 2010-12-2 13:43:11

mark,不错,好东西

411412 发表于 2010-12-2 13:47:01

下载试下,以前用英文版的不是很好用,搞的我都是通过keil下程序的.

xiaobenyi 发表于 2010-12-2 15:12:15

to fly_817
更换单片机以后不能恢复,因为里面是空的,没有引导代码

识别出错在新华龙那个软件上是很经常的事情,通常都不是硬件问题

xiaobenyi 发表于 2010-12-2 15:15:29

tozhangxun0712

进度条这个问题,我也想过,很想搞个上去,可是Silabs的dll没开放,在他们提供的源代码里面没申明的函数,都不知道,没法用
而下载又是一次性下进去的,非要搞个进度条上去,反而会减慢速度,我也在想值不值得

是把全部数据分段写进去,从而显示进度条,还是直接用代码数量来估计写入时间,估计的话不准确,但是看到进度条在走,是要踏实一些

canback 发表于 2010-12-2 15:20:34

可以考虑增加 批量编程,计数

zhangxun0712 发表于 2010-12-2 15:28:39

回复【15楼】xiaobenyi
-----------------------------------------------------------------------

不好意,之前我没看到楼主公布的源代码,以为通过下载的字节数与文件大小相比就可以得到下载进度。看了一下源码还是不好加,我也打算用时间估算来实现。毕竟程序大了要几十秒,几十秒没动静心里不踏实。呵呵。我把楼主的淘宝连接去掉了、标题也改了没意见吧(个人使用)?

xiaobenyi 发表于 2010-12-2 15:32:34

to canback
这点我也想到了,而且是实现了的(不过又删掉了),目的是想在批量编程的时候不用去点那个执行,他就一个接一个的编程,同时统计出数量来

实际测试的结果很不理想,写完一个等待芯片拔掉,然后又等待芯片连接上,看起来很顺利的事情,他的函数返回时间很长,有时候要等好几秒钟.比去点一下花的时间还长.
估计还是Silabs的函数不完全公开的问题,向大家打听一下,谁能搞到那个USBHID.dll,SiUtil.dll的完整版函数说明书,要是有这个的话,估计执行效率会高得多,其他的功能也能灵活实现.

xiaobenyi 发表于 2010-12-2 15:34:11

to zhangxun0712

呵呵,没意见,这个本来就是公开代码的
也希望你写好了贴出来让大家学习学习,呵呵

elecfun 发表于 2010-12-2 17:17:21

呵呵好东西

tomhe666 发表于 2010-12-2 17:24:44

记号

ndt2000 发表于 2010-12-3 00:00:21

mark

gale 发表于 2010-12-3 00:35:25

可以尝试用depends.exe查看一下dll的接口函数,看看有没有发现,或者直接上ida...

susuyu 发表于 2010-12-3 09:29:46

mark

xiaobenyi 发表于 2010-12-3 14:04:05

知道函数名字不知道参数也一样是没用的
ida的话,就太那个了,呵呵

cuikai12345 发表于 2010-12-3 19:32:17

MARK

ds444 发表于 2010-12-4 00:28:21

这东西太给力了,比原来那个好太多了
我每次下载要切换页下完了换回去再断开连接单片机才工作,累死了

提个小建议,完成一步操作的时候给个提示音会比较好(最好可屏蔽,有人不喜欢),选音量小点不吵人的音为好

xiaobenyi 发表于 2010-12-5 11:21:53

to ds444

这个建议不错,呵呵

zyanplus 发表于 2010-12-5 18:37:46

这个必须要赞一个.

ds444 发表于 2010-12-8 19:59:22

发现BUG
1。打开软件后要先点连接器件再选要刷的固件,否则不认芯片型号
2。不能自动纪录上次刷的固件目录
3。不能自动更新固件

byin 发表于 2010-12-8 21:10:34

谢了,备用

xiaobenyi 发表于 2010-12-11 11:28:14

回复【30楼】ds444
发现bug
1。打开软件后要先点连接器件再选要刷的固件,否则不认芯片型号
2。不能自动纪录上次刷的固件目录
3。不能自动更新固件
-----------------------------------------------------------------------

1。先点连接芯片,这时会从C8051F.info里面搜索芯片型号,加密地址,ROM大小之类的信息,如果不连接,就得不到这些信息
   不过还是可以改进,就是任何一个操作都可以加入这个部分
2。这个是由文件对话框记录的,如果你没有在别的软件里面打开文件对话框的话,应该是会临时记录的,如果要单独记录这个软件的文件目录的话,就要生成记录文件或者是写注_册表,这个相当于是产生垃圾文件或者垃圾注_册信息,有违绿色软件的精神,呵呵
3。自动更新固件是在后台进行的,所以看不到对话框.这个操作是SiUtil的函数里面进行的,想禁止自动更新都不行.

yufan 发表于 2010-12-11 22:28:55

不错,帮顶

zy0818 发表于 2010-12-12 18:27:24

记号

cnzhy88 发表于 2010-12-12 20:46:23

这东西好...早就想扔掉新华龙的软件了..贼变态

aahui 发表于 2010-12-12 20:53:22

好东西, 谢谢分享

www1519 发表于 2010-12-12 21:07:02

mark

cnzhy88 发表于 2010-12-12 21:29:34

这个软件能加个运行和停止就更好了.

fythsg 发表于 2010-12-12 21:48:43

如果顺便讲解一下VC++的源程序就更好了

flkflk 发表于 2010-12-12 22:34:42

感谢楼主,下载了

dmxfeng 发表于 2010-12-12 23:26:59

记好!!!!

xiaobenyi 发表于 2010-12-13 08:56:26

回复【38楼】cnzhy88
这个软件能加个运行和停止就更好了.
-----------------------------------------------------------------------

运行和停止,我想了很久也不知道有什么用,如果要调试,用软件单步都可以,如果只是下载的话,这功能根本没用,下载完了拔掉就OK了
他不会因为你在下载的时候没点运行,以后就不运行的

xiaobenyi 发表于 2010-12-13 08:57:28

回复【39楼】fythsg
如果顺便讲解一下vc++的源程序就更好了
-----------------------------------------------------------------------

那个实在是不好意思,我的VC水平那是 Level 0
哪敢讲解啊

jtag_ok 发表于 2010-12-13 17:57:45

很简洁!
去掉了老外的部分功能.

yelong98 发表于 2010-12-13 20:49:35

这个要强力顶起!

cnzhy88 发表于 2010-12-14 20:08:19

回复【42楼】xiaobenyi
回复【38楼】cnzhy88
这个软件能加个运行和停止就更好了.
-----------------------------------------------------------------------
运行和停止,我想了很久也不知道有什么用,如果要调试,用软件单步都可以,如果只是下载的话,这功能根本没用,下载完了拔掉就ok了
他不会因为你在下载的时候没点运行,以后就不运行的
-----------------------------------------------------------------------

运行停止也是在维修或调试的时候用的,这样就知道你板子修好了没,这样就不用在电源上搞来搞去了.直接软件控制,要是用keil的话又要写下程序,麻烦了点..

cnzhy88 发表于 2010-12-14 20:19:46

楼主能吧官方的源代码发上来让我们瞧瞧外国人写的程序哦........

yl0859 发表于 2010-12-14 21:16:27

有可能用VB搞吗?楼主想下办法啊!!!

xiaobenyi 发表于 2010-12-14 22:23:39

回复【47楼】cnzhy88
楼主能吧官方的源代码发上来让我们瞧瞧外国人写的程序哦........
-----------------------------------------------------------------------

这个到 www.silabs.com 去下最新版的吧

点击此处下载 ourdev_604698GPFUHJ.zip(文件大小:431K) (原文件名:MCUProductionProgrammer.zip)
点击此处下载 ourdev_604699OV9Q1E.rar(文件大小:598K) (原文件名:Windows Console.rar)

xiaobenyi 发表于 2010-12-14 22:24:29

回复【48楼】yl0859
有可能用vb搞吗?楼主想下办法啊!!!
-----------------------------------------------------------------------

VC可以,VB当然也可以啊,想什么办法?
不过为啥要用VB来写?

cnzhy88 发表于 2010-12-15 03:06:09

谢谢xiaobenyi 我现在都是用你这个软件来下载程序了,这个软件比英文的好用多了.不用连接檫除再连接下载这样搞了..在WIN7下使用也很正常,在使用中有发现查不到芯片的型号是问题,要把仿真器拔掉重新连接就正常了.还有进度条的问题,前面有人讲了..感觉没进度条用起来没感觉一样,不知道他是死了没..呵呵.这个如果要加个运行要用什么命令啊,麻烦说下这个命令吧,我找人在你的代码那加下吧.十分感谢你搞的这个程序..谢谢....

xiaobenyi 发表于 2010-12-15 22:52:08

SetTargetGo();   //运行
SetTargetHalt(); //停止

cnzhy88 发表于 2010-12-16 03:04:10

OK修改好了..谢谢xiaobenyi ....HO..HO..

n0831 发表于 2010-12-16 08:47:25

记号

pynueve 发表于 2010-12-20 00:25:32

非常感谢。

alexliu0915 发表于 2010-12-20 18:39:08

mark

ndt2000 发表于 2010-12-20 23:59:45

mark

xiaobenyi 发表于 2011-1-7 21:15:54

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

pygh 发表于 2011-1-7 21:22:48

MARK

xiaobenyi 发表于 2011-1-17 10:59:57

源代码和发布软件 ourdev_611626X9RSRO.rar(文件大小:5.72M) (原文件名:C8051F.rar)

之前的有点小bug,按page写的时候,少了一页

tonyone 发表于 2011-1-17 11:12:41

mark

phone 发表于 2011-1-17 11:33:03

支持楼主。

sunnyhook 发表于 2011-1-18 08:39:23

感觉速度奇慢,是不是什么没设置好啊?

tuanghun 发表于 2011-1-18 08:50:11

搞手们的心血,不能白下载,一定要先顶!

pang7 发表于 2011-1-18 09:36:13

马克 编程器

hshl2010 发表于 2011-1-18 13:08:49

mark

xiaobenyi 发表于 2011-1-21 10:11:40

回复【64楼】sunnyhook
-----------------------------------------------------------------------

速度奇慢?不会吧,我自己用笔官方的还快一些啊
加了进度条确实比不加进度条的时候要慢一些,不过也不至于“奇慢”,呵呵

showgu 发表于 2011-1-22 11:29:32

比官方那个好在芯片可以连续的下载,速度上呢,的确还是官方的快点。还是挺不错的,我顶一下。

sunnyhook 发表于 2011-1-22 14:53:21

我用的是xhl的U-EC6,目标芯片是C8051F120,代码量30K,确实慢的很厉害,尤其是擦除完后就停顿在“读取……”步骤了,有时候得等几分钟才能完成余下的步骤。

xiaobenyi 发表于 2011-1-22 15:43:31

回复【70楼】sunnyhook
-----------------------------------------------------------------------

那是因为软件默认擦除后要全部读出来检查是否为空(FF)
你把擦除后检查芯片为空那个选项去掉,就不会再读出来检查了

比官方的慢点,原因是加了进度条,本来一次性写入的东西,变成了按页写入

byin 发表于 2011-1-23 01:25:30

楼主真给力

afenge 发表于 2011-1-23 10:49:54

不错

laoerge 发表于 2011-1-23 11:13:50

支持呀

xue110592 发表于 2011-3-4 10:40:19

强烈支持一下,搂住无私高风亮节

some9009 发表于 2011-3-4 15:31:44

我用的是xhl的U-EC5,目标芯片是C8051F120,代码量30K,确实慢的很厉害,尤其是擦除完后就停顿在“读取……”步骤了,有时候得等几分钟才能完成余下的步骤。

wnstony 发表于 2011-3-6 12:54:02

af00 发表于 2011-3-6 14:02:09

DING

brightsm 发表于 2011-3-6 16:26:14

mark

xiaobenyi 发表于 2011-3-10 11:29:37

怎么才能把最新版的始终在楼主位呢?
以免有问题的东西被下载去耽误大家时间,呵呵

90999 发表于 2011-3-10 11:57:19

回复【80楼】xiaobenyi
怎么才能把最新版的始终在楼主位呢?
以免有问题的东西被下载去耽误大家时间,呵呵
-----------------------------------------------------------------------

通知斑竹~~~~

xiaobenyi 发表于 2011-3-10 12:01:57

斑竹~~~~
你系边度啊?

embeddev 发表于 2011-3-15 16:46:54

楼主有没有感觉有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字节的情况?

final9 发表于 2011-3-15 17:06:32

收藏了,好东西,顺便到你的shop逛下!

xiaobenyi 发表于 2011-3-16 08:56:12

回复【83楼】embeddev
-----------------------------------------------------------------------

考虑了的,软件默认全部填充0xFF,所以不管你最后的程序是多大,都是这么写的
Keil产生的hex文件经常是东一段西一段,就按源代码来的,而实际下载的时候是按页写的
所以在读入hex文件之前是预先全部填充0xFF的,用到的地址上就填上了code,没用到的保持0xFF
读出的时候也是一样,读出时总是会把所有空间全部读出的,所以不存在不足32字节的情况

lovelywwei 发表于 2011-3-16 13:46:52

顶楼主。好资料。谢谢分享。

qdhd_hai 发表于 2011-3-16 15:31:15

马克

yinglively 发表于 2011-3-16 17:11:22

太牛X了
见识了

xiaobenyi 发表于 2011-3-29 13:51:02

版主上哪去了?呼唤了这么久都没出现?!
再说了,我这个首创的并且完全原创完全开源的软件,怎么也得穿个裤子吧

john_8 发表于 2011-3-31 22:57:37

make

mydust 发表于 2011-3-31 23:18:31

不错的工具

huxiaoping 发表于 2011-4-1 00:56:56

酷子来了 ,不过我说了没有 ,帮你呼叫一下 ,

老莫出来置酷了,呵呵

aahui 发表于 2011-4-8 16:23:26

这个不错,我一直在用的

johnwjl 发表于 2011-4-8 17:05:12

给力的主,顶你!

8023 发表于 2011-4-13 21:32:18

高手啊太牛了!用用试试哈

fbp117 发表于 2011-5-3 23:35:10

mark,多谢楼主

qwand4il 发表于 2011-5-5 11:10:43

mark下

lantian0099 发表于 2011-6-5 04:06:52

围观一下

xiaobenyi 发表于 2011-6-7 15:14:00

有没有人知道,为什么用新华龙的软件加密之后,连型号也识别不了?必须先擦除

zjth1 发表于 2011-6-7 15:30:52

M
页: [1] 2
查看完整版本: 发布一个自己写的C8051F编程软件,简单好用,支持Hex/bin写入和读出,集成EC3固件修复