AVR单片机内部有多组与器件配置和运行环境相关的的熔丝位,这些熔丝位非常重要,用户可以通过设定和配置熔丝位使AVR单片机局部不同的特性,以更加适合实际应用。但是由于需要对熔丝位进行配置,给初学者带来一些不太好理解的地方,对于单片机解密以后,在烧录程序的时候,也要对熔丝位配置,如果配置不对了,可能不工作或功能发生变化。所有在烧录解密后的文件的时候一定要对熔丝位进行配置,由于支持AVR的工具非常多,而不同的工具的软件的界面不同,所以在做AVR单片机解密前最好告诉解密公司自己使用的是什么工具,让芯片解密公司按照自己的工具的界面做配置图,这样就方便了解密以后去烧写程序,不过自己也可以用解密公司提供的样片去读熔丝位配置,有的工具直接读芯片就可以,有的是读配置等等,然后将读出的配置保存。
如果是刚出厂的单片机,默认的是使用内部1MHZ的RC振荡作为系统时钟,而且JTAG口处于允许方式。对于AVR熔丝位要起码要明确以下几点。
AVR熔丝可以多次编程,不是一次性的OTP熔丝。
熔丝位的配置可以通过并行方式、ISP方式和JTAG串行方式实现。
AVR芯片加密锁定后(LB2/LB1=1/0,0/0)不能通过任何方式读取芯片内部FLASH和EEPROM中的数据,但熔丝位的状态任然可以读取,只是不能修改配置。
芯片擦除命令是将FLASH和EEPROM中的数据清除,并同时将两位锁定位状态配置成无锁定状态(LB2/LB1=1/1),但芯片擦除命令并不改变其他熔丝位的状态。
下载编程的正确步骤是:在芯片无锁定状态下对芯片下载运行代码和数据,配置相关熔丝位,最后配置芯片的加密位置。
芯片被加密锁定后,如果发现熔丝位及配置不对,则必须使用芯片擦除命令,清除芯片中的数据,解密加密锁定,然后重新下载运行代码和数据,修改配置相关的熔丝位,最后再次配置芯片的加密锁定位。
需要非常明确的指出一点的是SPIEN位,很多客户曾经电话咨询过,说是我们提供的单片机用ISP连接不上,而自己买来的可以,熔丝为的SPIEN就是配置ISP的,如果SPIEN为1,ISP是允许状态,如果是0则为禁止状态,如果是禁止状态当然是无法ISP连接口芯片的。
另外比较重要的是BOOTRST位,这一位的设置关系到芯片上电后程序从0X0000开始执行还是从 BOOT区开始执行。而系统时钟源的选择也非常重要,解密后的程序客户烧写的时候经常不好用,打部分是由于时钟源没有设置对的原因,所以系统时钟一定按照原来的设置。
关键字:AVR单片机 熔丝配置
引用地址:
AVR单片机解密后的熔丝配置
推荐阅读最新更新时间:2024-03-16 12:48
AVR单片机-nRF24L01发送接收程序
#include iom16v.h #include macros.h #include 12864.h //------------------------------------------------------------------------------ //spi标志 #define DDR_SPI DDRB #define DD_MOSI 5 #define DD_MISO 6 #define DD_SCK 7 #define DD_SS 4 #define CE PB3 #define IRQ PB2 //--------------------------------NRF24L01接口定义-------
[单片机]
AVR单片机中断模式的串口发送与接收
#include avr/interrupt.h #include util/delay.h int k=0,i=0,j=0; char s ; void usart0_init() { UCSR0A=0X00; UCSR0B = 0x00; UCSR0C=0X00; UCSR0C=(1 UCSZ01)|(1 UCSZ00);//八位数据位 无校验位 UBRR0L=51;//波特率 8MHZ下9600 UBRR0H=0; UCSR0B=(1 TXCIE0)|(1 RXCIE0)|(1 RXEN0)|(1 TXEN0);//接受发送及其中断使能 } /* *程序的作用是将电脑端发送过来
[单片机]
基于AVR单片机的I SP1362OTG设计
简介: 本文设计的USB 0TG主从机系统性能稳定,数据传输效率高。测试表明,此设计能够正确地实现USB 0TG主从机间的数据交换,性能可以满足设备间的数据传输要求,同时又能很好地控制成本,具有一定的实用价值。 0 引言 随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照
[单片机]
AVR单片机驱动24c02的C51程序
*******************************************************************/ //24c02-- SCL接PD4 , SDA接PD5 。单片机PA口接8路指示灯,开始时 72个花样灯 //表示将程序写入24c02,过10秒后, 再从24c02中读出,显示在指示灯上 #include iom16v.h #define _BV(k) (1 k) #define uchar unsigned char #define uint unsigned int #define SCL PD4 //I2总线时钟线 #define SDA PD5 /
[单片机]
AVR单片机开发工具介绍
AVR 开发工具介绍 要开发AVR系统,编写AVR程序,你需要有软 件环境 【ICC+AVRstudio环境配置】,也需要有硬件环境,本文介绍硬件环境的选择与入门芯片的配备。 硬件环境:主要是有基本系统『最小系统』,编程器,仿真器,下面就这三方面做一些介绍。 推荐的工具: JTAG 仿真器 使用 AVR Studio 打开 *.cof 或 *.elf 仿真文件后,就能进行仿真操作。方便开发时测试与调试。 支持仿真的芯片:ATmega16、ATmega32、ATmega64、ATmega128、ATmega323、ATmega162 、ATmega165,但是这款官方的MKii 价格不菲,2380元每台。 兼容产
[单片机]
一个基于AVR单片机的串口通讯例程
此程序是应用了ATMega128芯片,是以查询方式发送,中断方式接受数据,有问题可以交流!希望对大家有帮助! //ICC-AVR application builder : 2007-6-10 // Target : M128 // Crystal: 7.3728Mhz //作者:Caterpillar #include iom128v.h #include macros.h //UART0 initialize // desired baud rate: 9600 // actual: baud rate:9600 (0.0%) // char size: 8 bit // parity: Disabled //******
[单片机]
基于AVR单片机的ISP1362OTG设计
0 引言 随着PDA、移动电话、数码相机、打印机等消费类产品的普及,用于这些设备与电脑、或设备与设备之间的高速数据传输技术越来越受到人们的关注。以往以计算机为核心的数据传输结构,非常不利于USB,总线在嵌入式行业的应用,也不适用于野外作业,而OTG技术的推出则可实现在没有PC的情况下,设备与设备之间的数据传输,它拓展了USB技术的应用范围。本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。 1 ISP1362芯片的内部结构 Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有3个USB控制
[单片机]
AVR单片机外部RAM访问
最近的一个项目中,体会了一下AVR单片机的外部RAM扩展,发文记录于此。 本文以ATMEGA64单片机为测试平台,外扩74HC573(资料上讲用AHC系列,但是我用HC系列在16M晶振下配置成最快速度访问并没有发现什么不妥,当然这是个不严谨的设计)以及62256芯片。 我采用的是GCC编译器,并且在项目中采用C++来编写程序,根据理论上来讲,只要外部存储器使能了并且配置完成,那么变量的地址分配完全可以交给编译器来做,但是前提是存储器使能及配置代码要在上电复位后最先得到执行,而采用C或者C++来编写程序,上电复位之后最先得到执行的代码是由编译器自动增加的启动代码以及构造函数代码。我不清楚如何让存储器使能及配置代码在上电复位后最先得到
[单片机]