使用AVRStudio设置AVR熔丝位及烧写程序docxWord格式.docx
《使用AVRStudio设置AVR熔丝位及烧写程序docxWord格式.docx》由会员分享,可在线阅读,更多相关《使用AVRStudio设置AVR熔丝位及烧写程序docxWord格式.docx(15页珍藏版)》请在冰豆网上搜索。
ra•d#wh£
r«
rCtoki^v*ithnt心•*轟口'
•边HTEIC«
rr«
et
0^«
t.hCrh11h«
1
^<
a<
uwt«
dif■dcnin^rifi|?
vfo-iwv1
正常联机后,将弹岀如下窗口:
(1)程序编程面板:
AVRISP
FusesiLockBitsAdvancedBoard
Detectingon'
Aykto;
...
AlVEISFwithV2firmw^re£
&
uxvdonCOM4:
Gettingrevisiore..冊:
OxOfSWMajor:
0x02^StfMinor:
0x0aOK
•Device里面选择好对应的芯片类型,后面的EraseDevice可以擦除芯片。
•Programmingmode编程模式:
注意这里必须是ISPmod,表示用的ISP编程模式;
EraseDeviceBefore
选项:
编程前先擦除芯片,建议选上,如果不选芯片内部残留的程序可能会对新的程序造成干扰。
Verity
DeviceAfterProgram:
下载完毕后校验程序内容,建议选上。
•Flash下载区:
InputHEXFile,找到要写的hex文件格式为*.hex、*.e90。
Program,编程点此按钮,
将会把InputHEXFile对应文件下载到芯片中去,如果路径有错误或者文件格式不正确会有提示报警。
Verify校验命令,用于检测芯片内程序是否和文件中的一致。
Read读命令,此命令可以读出未加密芯片
内的程序,自动弹岀一个对话框提示保存。
•EEPRO下载区,和Flash下载区类似,格式为.hex、.e90和.eep,此功能用于下载比较多的需要存
在EEPROM中的内容时使用。
Program、Verify、Read于Flash下载区有对应EEPRO的同样的功能,不在
赘述。
•状态指示区,这里显示目前的操作状态。
(2)熔丝位设置面板:
下面对AVRSTUDIO具体配置信息进行简单说明:
On-ChipDebugEnabled
允许芯片调试
JTAGInterfaceEnabled
允许JTAG接口,允许JTAG接口期间,JTAG所对应的接口不能作为I/O口使用。
Serialprogramdownloading(SPI)enabled
允许ISP下载,此模式在AVRSTUDIO里不可以修改。
PreserveEEPROMmemorythroughtheChipErasecycle;
芯片擦除时保护EEPROM内的数据。
BootFlashsectionsize=xxxxwordsBootstartaddress=$yyyy;
设置引导(Boot)区的大小xxxx个字(两个字节),后面是对应的引导区启始地址。
引导区与程序区共用芯片空间,引导区大的话,程序区就变小。
BootResetvectorEnabled
从引导区启动,选中此项后芯片将从引导区启动运行。
Brown-outdetectionlevelatVCC=xxV;
BOD掉电检测电平VCC=xx伏,可
跟据工作电压选择。
选中后当系统电压低这个值时将CPU复位让其运行。
Brown-outdetectionenabled;
允许掉电检测功能,作为正式产品时建议允许此功能。
系统时钟设置启动复位时间=时钟周期+毫秒;
Ext.Clock;
Start-uptime:
6CK+0ms;
此处设置了两个信息,系统时钟方式、上电复位时间。
Start-uptime:
xxCK+yyms
启动时间=xx个时钟周期+yy毫秒,就是芯片在上电后多长时间开始运行程序。
下面是AVR单片机系统时钟的几种方式
外部时钟,使用外部时钟源。
Int.RCOsc.
内部RC(阻容)振荡器,默认选项,初学者建议使用这个。
Ext.RCOsc.
外部RC(阻容)振荡器。
Ext.Low-Freq.Crystal;
外部低频晶体
Ext.Crystal/ResonatorLowFreq
外部晶体/陶瓷振荡器低频
Ext.Crystal/ResonatorMediumFreq
外部晶体/陶瓷振荡器中频
Ext.Crystal/ResonatorHighFreq
外部晶体/陶瓷振荡器高频
•配置熔丝位有一定的危险性,可能锁死芯片,在不知道具体在做什么操作之前,请不要急于动手。
•熔丝位状态显示框,显示芯片的各个熔丝位的详细状况,AVR的熔丝位打勾表示0,表示启用该选项;
取消表示1,表示不启用该选项,需要注意。
•AutoVerity选项选中时,程序会自己进行校验,建议选中。
SmartWarning选项选中时,在对一些特殊的具有一定危险性的熔丝位进行编程时会弹出警告信息,建议选中。
•Program、Verify和Read分别对应编程、校验和读取,正确的配置熔丝的方法是先读取,先后修改需要修改的地方,再编程写回。
在AutoVerity选项选中时无需再点Verify按钮进行校验。
•为了安全起见,在ISP模式下,SPEEN熔丝是不允许编程的。
•芯片锁死的主要原因是设错熔丝位,主要有两种情况:
(1)JTAGEN和SPIEN两个熔丝位都为1(不打勾),不能再进行编程,此时只能用高压并行编程或者有源晶振恢复。
(2)将熔丝位选择了外部晶振或外部RC振荡,而没有接外部晶振或外部RC振荡,或者外接的振荡频率不
匹配,导致芯片不能工作,这种情况,需要外挂相应晶体才能再次操作芯片,用户应尽量记起当时设错熔
丝的情况,比如错误设置成了外部3-8M晶振,那么外挂一个3-8M晶振即可进行相应操作。
当然还有其它方面的原因导致芯片锁死,在此处不再一一赘述。
下面以ATmega16为例,对其熔丝位进行简单描述:
熔冬高字节
位号
描述
狀认值
OCDEN
7
fl!
能OCD
1(未编程・OCD禁用)
JTAGEN
6
锲能JTAG
0(编程.JTAG便能)
SPISN
5
慣能申存程序和下找
0(發編程.SPI编召忡血
CKOPT
4
1(未编程)
EESAVE
3
执行芯片挖除时EPRQU
的内容保制
1(未被編程)
BEPROI内容不保留
BOOTSZi
2
选杼Boot区大小
0「盛编程}
BOOTSZ0
I
选择Boot区大小
0(喪編段)
BOOTRST
°
.wv
w.v/av^sharejiet
1(未被#1程)
熔建位低位字节
默认值
BODLEVEL
t
BOD触发足半
1(未被编程)
BODEN
BOD便磋
1(未满程・EOD用}
SUT1
选样启动时间
1(未被编樫)
SUTO
选择启动时间
0(艘编程)
CKSEL3
选择时钟源
0(被編程)
CKSEL2
选择时坤源
tKSELl
选择时坤浙
(H被编程》
CKSGLO
选择礦钟源
巩来被編程)
(3)锁定位设置面板:
ProgramFu5esLcckBitsIkdvMkCfidBoard
Auto
PModeI:
JI**memorylockfeaturesenabled厂Mode2:
Further厂Node3:
Further
PApplication
厂Applicatian
I-Application
厂Applieati
Loader
Loid?
r
WBoot厂Boot厂Boot厂Boot
pro詳如eingprogrimming
Mode
Mode
Mods
M&
deNode
Modt
Frot$ctionProtectionProtectionProtect!
ProtectionProtection
dis^bled
andvarific&
tiondiE^bl&
d
I:
K&
lockonSFMudLPMinAf
2:
SPN1prohibitedinApplidtic
3:
LFMandSPMprohibitedmAj4:
L?
Mprohibit屛inApplicatic1:
lblockonSPMzdLFM
2SPMprohibiinBoot
:
划啊滞;
询你覇陆;
Tf黄響d
Loa丄已lii'
-jts-ctionMud<
11LtMpx'
ohi111-^dulcoot
inBe
Load«
Verify
2AutoVeril
!
"
SmartW&
j-niikgj
Enteringmode,OK1
lockbits..OxFr..OK!
Leavingproprammingmode..OK1
下面以ATmega16为例,对其所定位进行简单描述:
锁定位字节
—
BLB12
Boot锁定位
BLBil
4V
W
BLB02
1(未编程)
BLB01
Boot锁疋位
1(未编程》
LB2
锁定位
LB1
(4)高级设置面板:
Pr&
gram:
IsAdvanc&
d坯世dAuto
Simature!
Bytes
(QxlE血gq0x03
Signaturematchesselecteddevice
OscillatorCalibrationbyte
Calibfat»
e
pelectfrequency
ValueWrite
1vfeshare,net(
CommimicaticnSettings
Baud
Baudratechangee;
areactiveirrmnediately.
•SignatureBytes,芯片型号标识位,点右边的Read读按钮可以读出芯片内的ID。
如果在编程面板里
面选的芯片型号与读出的芯片型号对应,下面会提示Signaturematchesselecteddevice,如果不匹配
会出现WARNING:
Signaturedoesnotmatchselecteddevice!
•OscillatorCalibrationbyte,内部RC振荡校准。
这里选择不同的频率,点ReadCal.Byte,可
以读出对应的频率下的校准值,然后将这个值复制到Write区,选择将校准值写到Flash还是EEPROM点
击WritetoMemory写按钮,即可完成对应频率下的内部RC振荡校准。
•写入到flash区域的校准字芯片启动时自动读取并校准RC振荡,如果写到EEPROI中,需要程序中进
行处理。
•CommunicationSettings串行通讯设定。
(5)对目标板控制面板:
•Voltages通过本面板可以查看目标板的电压和写参考电压,参考电压需要实际测得,再写入,可以帮
助仿真器准确读取目标板电压值以供参考。
本功能在ISP编程模式下不可用,需要在JTAG模式下使用。
•OscillatorandISPClock读写速率设定,这里可以读写仿真器内ISP编程的速率,ISP模式下STK500
选项为灰色。
注意速率一定要小于芯片时钟频率的1/4,否则无法正确下载。
•Revision版本号及升级,这里显示当前hex文件的版本号,如果AVRstudio内的软件版本高于仿真
器的版本,右边的Upgrade会可用,如果匹配则该按钮为灰色。
•当Upgrade按钮为可用状态时,可以点击它进入自动升级,在此之前请确认仿真器是否支持自动升级,
以免造成麻烦。
(5)自动烧写面板:
•自动烧写面板在生产的时候非常管用,程序会记录上次进行批处理的各个选项,一旦设置好之后,可以连续进行烧写。
•请慎用本功能,在不知情的情况下使用本功能,锁死芯片的几率将大大增加。
•自动处理:
擦除芯片、检测芯片ID号、写flash、写EEPROM写熔丝位、写锁定位以及他们对应的校
验,一次完成,状态栏会显示正在进行的操作。
•所有的操作需要在前面对应的面板设置好,比如选择好下载的HEX及EEPROI文件,选好熔丝位,选好
锁定位,写好内部RC校正位等。
请一定确保各个选项正确,特别是熔丝需要格外小心,可以先在每个面板里面进行操作确认没有问题再进行批处理操作。
•在进行批处理之前,请先在高级选项里面设置好通讯速率,确保速率小于晶振的四分之一,否则会岀错。
•可以选中右边的Logtofile选项从而记录操作日志。
•使用JTAG方式烧写程序及熔丝位
对软硬件进行初始配置,并正确设备连接,就可使用JTAG进行联机了。
打开AVRStudio,点击主窗口中的图标|ProgramAVR*j:
S3Connect...前面标有
Con的那个图标。
SelectAVRPrograuer
JTAGICE
JTAGICEmkll
AVRISPmkllAVRDragon
WWW.
Platform:
rSIKSOGorAVPlSP
■C0M1
COM2
^veshar
e.ne^
Port:
Connect..
Cancel
Tip:
Toconnedtotheprogr^rmieiused【胡time,ptg㈱the'
Programmer'
buttononthmtoolbar.
NotetheJTAGICEcannotbeusedtorprogrammingaslong石皐itisconnectedinadebuggingsession.Inthdtcase,select'
SlapD亡bugging'
fir?
t.
Di^cflnnecteciMode.
在左边,选择“JTAGICE”,在右边,选择“Auto”(或具体的COM口),点击“Connect”进行联机。
详细的烧写介绍请参考:
“使用AVRISP方式烧写程序及熔丝”。
•使用JTAGICEmk2方式烧写程序及熔丝位
对软硬件进行初始配置,并正确设备连接,就可使用JTAGICEmk2进行联机了。
打开AVRStudio,点击主窗口中的图标I|c=ProgramAVRH:
S3"
Connect-前面标有
在左边,选择“JTAGICEmkll"
,在右边,选择“Auto"
(或具体的COM口),点击“Connect”进
行联机。
详细的烧写介绍请参考:
提示:
由于AVRStudio会记忆用户使用的设备是STK500或JTAG并且同时会记忆用户使用的COM号,
如果下次和上次使用的是相同的设备并且没有更换COM口,那么下次使用的时候直接点击
右边标有“AVR的那个图标即快速进入联机状态;
•通过编程锁定位,允许用户对AVR芯片内数据进行加密,不同的锁定位对应不同的加密保护程度,加密位共有三位,每位的数越大加密程度越高,否则越低。
•被加密后的芯片依然可以读岀熔丝位和加密位的情况,一旦试图对加密位进行修改,芯片内的程序将会被修改或擦除,不能再使用。
•加密位可以通过编程界面的芯片擦除功能擦除到初始状态,使得芯片可以重复使用。
•锁定位编程界面有与熔丝位编程界面相同的选项和操作按钮,功能类似,不再赘述。
•锁定位编程应该在熔丝位编程之后进行,通常编程锁定位是生产过程中写芯片环节的最后一步。
Enteringprogrammingmode..OK!
Readingsignature…OxlE^0x94p.0k03…OK!
Leavingprograinmingmode..OK!