progisp(1.4)下载,建议使用老板本的更新为此版本。
欢迎大家提出意见。更多信息可以访问我得网站。点击此处下载armok0194968.rar 对于提出好的建议的网友我会赠送注册号 公版usbasp最后一个包(usbasp.2005.11.14.tar.gz)修正mega128的程序有问题,大家可验证,main.c中
static unsigned int prog_address;
static unsigned int prog_nbytes = 0;
static unsigned int prog_pagesize; //TP: Mega128 fix
static uchar prog_blockflags;
static uchar prog_pagecounter;//此处应定义为static uint prog_pagecounter;
这样,就可以保证64K内的程序正常读写了,否则,只能够写小于32K读64K的程序。超过64K程序编程由于定义的变量是uint,所以也会出错。
由于usbasp通讯协议限制要实现>64K的编程比较困难,如果要实现编程〉64k的编程就需跟该协议了。 再次上传熔丝配置图
http://cache.amobbs.com/bbs_upload782111/files_5/armok0195026.jpg
-----此内容被zhifeng于2005-12-29,19:48:34编辑过 相关网站
USBasp .......................... http://www.fischl.de/usbasp/
Firmware-only AVR USB driver .... http://www.obdev.at/products/avrusb/
avrdude ......................... http://www.nongnu.org/avrdude/
libusb .......................... http://libusb.sourceforge.net/
libusb-win32 .................... http://libusb-win32.sourceforge.net/ 由于,原版的usbasp的端口直联目标版,建议添加一缓冲器,244,245,125之类的芯片。更改后工作比较稳定,用hc系列芯片可兼容3.3v目标板。
更改方法在isp.c中修改
void ispConnect() {
/* all ISP pins are inputs before */
/* now set output pins */
ISP_DDR |= (1 << ISP_RST) | (1 << ISP_SCK) | (1 << ISP_MOSI);
//此处添加打开缓冲器语句
/* reset device */
ISP_OUT &= ~(1 << ISP_RST); /* RST low */
ISP_OUT &= ~(1 << ISP_SCK); /* SCK low */
/* positive reset pulse > 2 SCK (target) */
ispDelay();
ISP_OUT |= (1 << ISP_RST); /* RST high */
ispDelay();
ISP_OUT &= ~(1 << ISP_RST); /* RST low */
if (ispTransmit == ispTransmit_hw) {
spiHWenable();
}
}
void ispDisconnect() {
/* set all ISP pins inputs */
ISP_DDR &= ~((1 << ISP_RST) | (1 << ISP_SCK) | (1 << ISP_MOSI));
/* switch pullups off */
ISP_OUT &= ~((1 << ISP_RST) | (1 << ISP_SCK) | (1 << ISP_MOSI));
//此处添加关闭缓冲器语句
/* disable hardware SPI */
spiHWdisable();
} 如何实现自动将速,免去插拔跳线的方法(progisp支持),
在isp.h的头部添加
#define ISP_FAST 2
#define ISP_SLOW 3
在main.c下面修改
uchar usbFunctionSetup(uchar data) {
uchar len = 0;
if(data == USBASP_FUNC_CONNECT){
/* set SCK speed */
if(data == ISP_FAST){
ispSetSCKOption(ISP_SCK_FAST);
} else {
ispSetSCKOption(ISP_SCK_SLOW);
}
ispConnect();
ledRedOn();
} else if (data == USBASP_FUNC_DISCONNECT) { 类似的软件好多地方都有,还要收费,好像不大好啊.
不过,要是能搞出STK500的Fuse设置方式,可能会好许多. 如何修改下载时钟sck?在isp.c中写改此处
void spiHWenable() {
/* enable SPI, master, 375kHz SCK */
//SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR1);
/* enable SPI, master, 187.5kHz SCK */
SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR1) | (1 << SPR0);
SPSR = (1 << SPI2X);
} 看了,非常好。
支持zhifeng,马上注册一个先。 zhifeng有无工行账号?因为这个我可以网上汇款,比较方便 zhifeng,你说我的建议非常好,那你会不会给我一个注册码啊?呵呵 我下载了,怎么不能在XP运行啊?少libusb0.dll,怎么办? to:iccavr 大鹏展翅,我给你发信吧!
to:sballbobo 波波,没问题,请给我发信
to:yjbin 请自行到官法网站下载驱动 从网上看到好多人在说usbasp的稳定性问题,下面讲讲我的经验,不妥的地方请包含。
我制作的第一块板子是万用板手公焊接的,采用的是avrdude,不是很稳定,读出正常的很少。我分析了原因估计是我焊接的水平问题,决定制作线路板和重写上位机程序,于是我的avrgccide就这样支持了它,再后来就产生了progisp. 下面我分析下原因,
1,由于avr模拟usb对时序的要求很高,对于精振包括谐振电容,走线就应有一定的要求,如果选择搞得不合理,就会造成工作起来不稳定,比如装不上驱动,装上驱动后,在通讯时少量数据不会出错,大量数据时就会出错。如果是连接正常后,在下载数据时出错就可能是这个原因。
2,由于usb电源标准是3.3v这样选择D+,D-上的三个电阻一定要合适否则可能也会出错。从原理上说只要遵循usb1.1协议的主机接口都可正常的与usbasp通讯,否则的情况其他的硬件实现的usb设备也不能通讯。
3,熔丝的配置一定要正确。 稳定性 还 和 D- 、D+串的电阻有关,我的 中间并4个150欧的电阻时不稳定,并3个150欧时可以加1.5米的usb延长线,还能稳定工作。
中间串多大电阻 不同的主板 是不同的,大家需要自己调试。我开始做着玩时领了1包10欧的电阻,一个一个加着测的 1,建议所有提意见的人,请跟此贴或直接给我发e-mail,节省网站资源。对于其他的方式的反馈意见我可能看不到,不能及时回复。
2,所有关于usbasp技术上的问题,请浏览此处,或给我发email探讨。对于其他方式我以后一概不回。
3,软件的第一种注册方式,我不提供任何关于usbasp的资料,所有资料请到其官方网站下载,所有版权归原作者所有,我提出的usbasp改进意见仅供参考。
4,使用progisp愿意注册的人,请先浏览完协议,对于使用中出现的问题,我仅提供progisp的技术支持;其他问题请自行解决,本人没有义务提供此类的技术支持。
-----此内容被zhifeng于2006-01-01,13:19:49编辑过 我也有一些单片机的书,c++builder的书卖废纸舍不得,比如单片机文集,sl avr的书。不只有没人要?我送与他。 to:kokoro 沈洁,注册程序已发与你。
虽然你违反了软件协议,但新年第一天,看到你这么关心我还是送你注册号
但有三点建议:
1,测试软件时请仔细些,不要把特点说成bug.
2,请遵循软件协议,不要进行反汇编,如果你真是研究请不要将研究结果公布于网上。
3,再次强调usbasp不是我技术支持的范围 to:sballbobo 波波
注册软件已发 我的USBprog将推出第二版,看看我的电路图
1,支持全系列atmel的avr(包括高压isp)与s5x芯片
2,usb转串口
3,pic系列芯片
http://cache.amobbs.com/bbs_upload782111/files_5/armok0195366.jpg
到此我计划的progisp要支持的编程器有如下几种,以后不会扩充了,也不会天天到此灌水了。一些人不用紧张了。
1,并口编程器(串行)(已完成)
2,并口编程器(并行)(已完成)
3,usb编程器(串行)(已完成)
4,usb转串口(已完成)
5,usb编程器(并行)(进行中)
6,支持pic编程(进行中) 好的,我过完春节如能在上海找到事做就方便了 我用这个软件校验总是卡住,是电脑问题还是BUG?? 多少版本?什么编程器?如果真的找到bug,我照样会赠送您注册号(限1.4版)。 zhifeng ,软件已经收到了,很好用,对公版的速度也比较快。
但稳定性觉得跟之前的版本差不多。
主要表现为:
1,高速下载时,有时会认为没有接上目标板芯片(机率很小)!
2,高速下载有时效验会出错(觉得比之前的版本出错的机率大了)。对同一芯片用同一个usbasp用1.0与1.4分别进行烧写200次测试(同一程序),1.4效验错误34次,成功率83%,1.0效验错误13次。成功率93.5%。
3,低速下载,对同一芯片用同一个usbasp用1.0与1.4分别进行烧写50次测试(同一程序),1.4与1.0都没有效验错误。
总结,用低速下载时稳定性很好,但用高速下载时,感觉上新版没有以前版本的稳定,不知是否与电脑的usb 也有点关系,还是程序问题。请zhifeng着手查一查。 建议你按14楼方法好好整整你的usbasp。我的这儿的实验到目前为止从没有出错。这样的问题iccavr向我反映过,我给了他一些建议,不知他的结果如何? 好的,谢谢先 zhifeng兄好,这两天有其他事未及时测试,明天我会全面测试一下,
谢谢你对我的信任。 我上传一按上面方法修改的程序工程包(avrgccide),用avrgccide可以直接打开工程编译
如不愿意编译可直接使用包中的hex烧写。
点击此处下载armok0195626.rar 如果愿意进行如下测试的可以赠送注册号(限10位)。
测试软件版本progisp1.4对应其它软件的最新版
测试内容
1,比较支持usbasp的稳定性与速度,采用avrdude包括调用avrdude的一些软件与progisp,分别读写芯片进行比较的
2,progisp的各种功能进行测试。
3,progisp与其它编程软件的比较(自己选定)
测试编程接口限并口stk200/300,usb口usbasp
要求:
1,测试的结果上传。
2,测试的芯片,方法上传
3,测试软件的名称及版本
如有愿意者请到我的网站下载可检测注册码的版本,将注册号用邮件发与我(一定是邮件)我收的邮件时间为准。
搞此项活动还望版主支持。
谢谢! 不好意思上面的包中程序忘了注释下面的语句,不能实现自动将速
#if 0
/* set SCK speed */
if ((PINC & (1 << PC2)) == 0) {
ispSetSCKOption(ISP_SCK_SLOW);
} else {
ispSetSCKOption(ISP_SCK_FAST);
}
#endif
可以实现自动减速的包(我测试通过了)
点击此处下载armok0195846.rar 1.2以后的版本都遇到了 【36楼】 350studio :
请讲详细些,你用的什么编程器,是STK200/300,还是usbasp?编程什么芯片,写flash还是eeprom(建议采用1.4版)如果是检验出错您是否调整了编程延时参数?否则我无法找到原因?谢谢! 我下载的主程序好象没有要求输入注册号 ??? 我发现个问题,在做芯片校验的时候,进度条走到最后了,程序内部似乎还在校验,
我选的芯片是m8,板上的工作灯还在亮,过了20秒之后灯才灭,如果在此20秒之内,
点击RD按扭,将显示个错误,并且程序进入死循环,如下图
是不是进度条的最大值取值时没有根据芯片的容量自动切换???
http://cache.amobbs.com/bbs_upload782111/files_5/armok0197708.jpg
-----此内容被whimsy于2006-01-13,22:22:41编辑过 楼上的问题我也遇到过,而且不单单是1.4,1.2开始的版本都是这样的。但1.4的注册版不存在这个问题。原因在哪里就问问zhifeng兄吧,我也不知道呢!
还有,我发觉1.4注册版的下载速度比未注册版和之前的版本下载速度快很多,但效验速度却比未注册版和之前的版本慢,1.4注册版与未注册版和之前的版本,下载和效验加起来的时间相差不多。 to:armok 阿莫
好的,我会在近期将最新的proisp整理发上来,此版本将改进校验算法,会提高校验的速度和可靠性。 to:armok 阿莫 我以将最新的版本上传到
http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=573880&bbs_page_no=1&bbs_id=1000
请收录,谢谢! 请教大侠progisp里的串口设置是支持哪种类型的?
我手头的USB2TTL 插上电脑后 progisp能检测到串口端口号,是不是这个USB2TTL还照样可以接板子(pro mini)上的RX、TX ?
在 progisp里需要怎么配置?
页:
[1]