(1)串行编程(即ISP编程)
ISP是In System Program的缩写,意思是在系统编程。目前的AVR芯片基本上都具备ISP接口,可通过ISP接口进行编程。它一共使用了两条电源线:VCC、GND,三条信号线:SCK、MOSI、MISO,以及复位线:RESET。由于仅仅使用了几条数据线,所以我们亦常将其称为串行编程。值得注意的是,虽然下载器端使用的信号线名为SCK、MOSI、MISO,但毁答AVR MCU的信号端不一定是名为SCK、MOSI、MISO。
AVR的串行编程方式有很多种,如:
(1)STK200/STK300:并口下载器多采用该烧喊余顷写方式,最早期的一种烧写方式,支持型号少,烧写速度低,不支持AVR Studio。
(2)STK500:ATMEL最推荐的编程方式,由于采用ATMEL官方的STK500固件,使得它可烧写全系列AVR(若对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVR Studio。
(3)AVRISP(准STK500):由于采用ATMEL官方的STK500固件,使得它可烧写大部分AVR(若对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVR Studio。
(4)AVRISPmkII:由于采用ATMEL官方的AVRISPmkII固件,使得它可烧写大部分AVR(若对固件进行升级亦可支持未来的AVR型号),烧写速度非常快,支持AVR Studio。
(5)当然还有其它的ISP方式,但已经那些均不是最为常见的串行编程方式,在此不在作一一介绍。
(2)(2)高压/并行编程
AVR的高压编程/并行编程,实际上是更早出现的编程方法,它功能强大,但需要:
1)连接较多的引脚(故称“并行编程”)
2)使用12V电压(故称“高压编程”)
(3)JTAG编程
JTAG烧写方式仅适用于带JTAG接口的AVR,另外,JTAG对比ISP烧写方式主要有个缺点:必须占用JTAG对应的IO端口。例如,ATMEGA16必须占用PC2-PC5这几个端口。然而,有时候,缺点也是优点,因为对于IO够用的AVR来说,在产品开发过程,可以用JTAG接口来仿真调试,产品量产后,产品板预留的JTAG接口还可以用来烧写程序。
(4)IAP编程郑陆
AVR MCU的ISP功能和debugWIRE功能是互斥的,也就是说,使能了AVR MCU的 debugWIRE 功能后ISP功能就无法使用,使能了ISP功能后debugWIRE功能就无法使用。
最后说明下 AVR烧写需要配置熔丝位的 也可以使用语句声明。这个和51不一样
这里图毁斗片中:
左边是选择仿真器的类型,我一般用JTAGICE mkII
右边是选择对应的单片机的型号呀,根据具体情况选择;
在AvR studio直接在“文件”菜单下亏余禅打开找销尘到.cof文件。
还不清楚的话看看这张图吧!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)