请教各位如何用usbispusbtinyisp 烧写工具bootloader

CET8 的BLOG
用户名:CET8
文章数:14
访问量:4730
注册日期:
阅读量:5863
阅读量:12276
阅读量:359744
阅读量:1055734
51CTO推荐博文
注:以下流程均在Pro mini 328P上进行。1、在第一块板子上上传示例中的ArduinoISP程序,该板子成为板子A;2、等待烧录bootloader的板子成为板子B;3、板子A的引脚pin10 连接板子B的RST,然后板子A的引脚PIN11,12,13分别连接板子B的PIN11,12,13, 给板子B上电。4、Arduino IDE的菜单“工具”――&“程序员”――&“Arduino as ISP”,工具菜单中选择烧录引导程序,如果接线没有问题的话,十几秒的时间内就会烧录好引导程序。&注:具体引脚含义,视不同板而定。由于在pro mini 328P下,Arduino的bootloader不支持看门狗,看门狗重置后会一直卡在引导程序中,需断电才行,故需要使用看门狗再328P下的时候,需要使用ISP进行烧录程序。&以上的接线方法可以让板子A作为一个ISP下载器,给板子B以ISP下载器的方式烧录程序,使用Arduino IDE给没有bootloader的板子烧程序,通过选择菜单“文件”――》“以编程器上传”,即可。如不适用ArduinoIDE进行烧录,可以使用ISP下载器,给板子直接烧录*.hex文件,而不用再使用Arduino IDE进行串口烧写。烧录方法:&&&&&&&& 打开progisp软件“调入Flash”选择自己编译好的*.hex文件,点击"RD"进行验证ISP接线是否正确,如果有误的话,点击“自动”即开始烧录。&&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)(MADELINEMX)
(Miss chen )
(tian0cai)
第三方登录:21ic官方微信-->
后使用快捷导航没有帐号?
查看: 4337|回复: 3
单片机程序烧写:USB,ISP,串口有什么区别啊
&&未结帖(1)
主题帖子积分
初级技术员, 积分 60, 距离下一级还需 40 积分
初级技术员, 积分 60, 距离下一级还需 40 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
初级技术员, 积分 60, 距离下一级还需 40 积分
初级技术员, 积分 60, 距离下一级还需 40 积分
是不是USB口最终转成串口啊(比如采用PL2303)?
那ISP又是什么啊?
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
主题帖子积分
专家等级:结帖率:94%
主题帖子积分
中级技术员, 积分 246, 距离下一级还需 54 积分
中级技术员, 积分 246, 距离下一级还需 54 积分
本帖最后由 nightingale2003 于
08:53 编辑
我只知道ISP的是在线编程,STC和AT的单片机不一样。STC连的RXD TXD 。AT连的P1.6 P1.5还有其他两个口好像。
STC用的串口烧录,如果你电脑有串口接口,接个MAX232就能烧录。
没有的话就接PL2303 CH340之类的接到USB
本人菜鸟一只,有错的请LX大神指出
主题帖子积分
中级技术员, 积分 284, 距离下一级还需 16 积分
中级技术员, 积分 284, 距离下一级还需 16 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
中级技术员, 积分 284, 距离下一级还需 16 积分
中级技术员, 积分 284, 距离下一级还需 16 积分
如果仅指单片机程序烧写,USB 指的是此类单片机通过 USB 端口连接到上位机后,可以把自己枚举成一个 USB 设备,上位机软件通过与此特殊设备进行通讯,完成芯片查空、擦除、烧写、校验等工作。
ISP 指的是“在系统编程”,以前的单片机,都是在烧写器上烧写完成后,再装到板上测试(或完成生产),如果发现程序有问题,或者需要程序升级,就需要拆下来,重新烧写,支持 ISP 的单片机可以不用拆下来,用在线烧写器,直接在板上烧写。
串口烧写,这里的串口,一般指的是符合 RS232 规约的串口,如 STC 的单片机就支持此类串口烧写。再外延一点,SPI 接口也是串口的一种,AVR 的某些类型单片机就支持此类串口烧写。PIC 的大多数 FLASH 类型单片机支持两线串口烧写,而 ST 的许多单片机支持单线烧写。
支持串口烧写的单片机都可以被认为此单片机支持 ISP。
主题帖子积分
中级技术员, 积分 195, 距离下一级还需 105 积分
中级技术员, 积分 195, 距离下一级还需 105 积分
主题帖子积分
专家等级:结帖率:20%
主题帖子积分
中级技术员, 积分 195, 距离下一级还需 105 积分
中级技术员, 积分 195, 距离下一级还需 105 积分
这个跟单片机本身设计有关,目前很多在线编程的使用的SPI接口,STC用的是串口,STC之所以用串口是因为程序内部每次重启会先检测串口有没有ISP的数据流 有的话 就会接受并更新用户自己的AP。
技术新星奖章
人才类勋章
时间类勋章
技术奇才奖章
人才类勋章
时间类勋章
晶莹之水滴
发帖类勋章
时间类勋章
热门推荐 /5查看: 7298|回复: 7
求助自制arduino烧写bootloader有困难
自己用ATmega16A焊了一块板子,用了这位兄台的bootloader
(戳这里)
可能是因为我的usbasp里面的代码不是公版的,直接用ide烧bootloader会报错:
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
我确定板子焊接的没什么问题,我用progisp写个程序啊写个熔丝位啊都没问题。
之前没有接触过arduino,也没用过bootloader。用过atmel studio 直接用C写程序。
按我目前的理解,bootloader好像就是引导一下从串口进来的代码,完了往芯片上写。是这个意思吧?
那我能不能直接用progisp把bootloader的hex烧进去呢?
求大神帮助
本帖最后由 pathletboy 于
23:39 编辑
bootloader要通过烧写器写入,不能通过串口了。
另确认晶振,你外接16M晶振了么?片内的是8M。
pathletboy 发表于
bootloader要通过烧写器写入,不能通过串口了。
另确认晶振,你外接16M晶振了么?片内的是8M。
跟晶振没关系,我用的11.0592的
东华小虎 发表于
跟晶振没关系,我用的11.0592的
串口通讯和晶振有关,bootloader编译时候要在makefile里设置晶振,你用了人家编译的16M版本,完全可以用烧写器写入片内,但是你通过arduino写程序是通过bootloader里的串口通讯的,你波特率都不对,肯定无法正常写入。
pathletboy 发表于
串口通讯和晶振有关,bootloader编译时候要在makefile里设置晶振,你用了人家编译的16M版本,完全可以用烧 ...
嗯 是的。就是我现在连bootloader都没写进去呢。。。。。我就想知道直接用软件写行不行,好像还得自己把bootloader重新修改编译一下
东华小虎 发表于
嗯 是的。就是我现在连bootloader都没写进去呢。。。。。我就想知道直接用软件写行不行,好像还得自己把b ...
设置好熔丝位,烧写器写入BOOTLOADER,晶振设置正确的话没问题的。
pathletboy 发表于
串口通讯和晶振有关,bootloader编译时候要在makefile里设置晶振,你用了人家编译的16M版本,完全可以用烧 ...
而且吧,我很想知道这个bootloader到底是在什么时候编译的,用ide烧的时候编译的还是怎么样?还有那个boards配置文件里面的波特率又是给谁的?或者说是给ide的?所以在这里和bootloader统一么?
C:\Program Files\Arduino\hardware\arduino\bootloaders\atmega8
你看下这个目录下的makefile
DEFS& && & = -DF_CPU= -DBAUD_RATE=19200
这个就是用来设置bootloader串口通讯的波特率,他依据F_CPU的值产生19200的波特率。如果编译的16M的版本,而你的晶振不是16M,那么产生出的波特率将不会是19200。
这个是mega8的bootloader,在这个版本上修改下就能make出mega16的bootloader来。
Powered by

我要回帖

更多关于 串口烧写bootloader 的文章

 

随机推荐