使用AVR Studio 設(shè)置熔絲位并燒寫程序
AVR Studio是ATMEL指定用于開發(fā)AVR MCU的官方軟件,其編程功能最為強(qiáng)大。下面介紹使用AVRStudio燒寫程序及熔絲快速入門。
●使用AVRISP方式燒寫程序及配置熔絲位
對軟硬件進(jìn)行初始配置,并正確設(shè)備連接,就可使用AVRISP進(jìn)行聯(lián)機(jī)了。
打開AVRStudio,點(diǎn)擊主窗口中的圖標(biāo)
前面標(biāo)有Con的那個圖標(biāo)。出現(xiàn)如下圖畫面:
正常聯(lián)機(jī)后,將彈出如下窗口:
(1)程序編程面板:
● Device里面選擇好對應(yīng)的芯片類型,后面的Erase Device可以擦除芯片。
● Programming mode編程模式:注意這里必須是ISP mod,表示用的ISP編程模式;Erase Device Before選項:編程前先擦除芯片,建議選上,如果不選芯片內(nèi)部殘留的程序可能會對新的程序造成干擾。Verity Device AfterProgram:下載完畢后校驗程序內(nèi)容,建議選上。
● Flash 下載區(qū):Input HEXFile,找到要寫的hex文件格式為*.hex、*.e90。Program,編程點(diǎn)此按鈕,將會把Input HEXFile對應(yīng)文件下載到芯片中去,如果路徑有錯誤或者文件格式不正確會有提示報警。Verify校驗命令,用于檢測芯片內(nèi)程序是否和文件中的一致。Read讀命令,此命令可以讀出未加密芯片內(nèi)的程序,自動彈出一個對話框提示保存。
● EEPROM下載區(qū),和Flash 下載區(qū)類似,格式為.hex、.e90和.eep,此功能用于下載比較多的需要存在EEPROM中的內(nèi)容時使用。Program、Verify、Read于Flash下載區(qū)有對應(yīng)EEPROM的同樣的功能,不在贅述。
● 狀態(tài)指示區(qū),這里顯示目前的操作狀態(tài)。
(2)熔絲位設(shè)置面板:
● 配置熔絲位有一定的危險性,可能鎖死芯片,在不知道具體在做什么操作之前,請不要急于動手。
● 熔絲位狀態(tài)顯示框,顯示芯片的各個熔絲位的詳細(xì)狀況,AVR的熔絲位打勾表示0,表示啟用該選項;取消表示1,表示不啟用該選項,需要注意。
● Auto Verity 選項選中時,程序會自己進(jìn)行校驗,建議選中。Smart Warning選項選中時,在對一些特殊的具有一定危險性的熔絲位進(jìn)行編程時會彈出警告信息,建議選中。
● Program、Verify和Read分別對應(yīng)編程、校驗和讀取,正確的配置熔絲的方法是先讀取,先后修改需要修改的地方,再編程寫回。在Auto Verity選項選中時無需再點(diǎn)Verify按鈕進(jìn)行校驗。
● 為了安全起見,在ISP模式下,SPEEN熔絲是不允許編程的。
● 芯片鎖死的主要原因是設(shè)錯熔絲位,主要有兩種情況:
(1)JTAGEN和SPIEN兩個熔絲位都為1(不打勾),不能再進(jìn)行編程,此時只能用高壓并行編程或者有源晶振恢復(fù)。
(2)將熔絲位選擇了外部晶振或外部RC振蕩,而沒有接外部晶振或外部RC振蕩,或者外接的振蕩頻率不匹配,導(dǎo)致芯片不能工作,這種情況,需要外掛相應(yīng)晶體才能再次操作芯片,用戶應(yīng)盡量記起當(dāng)時設(shè)錯熔絲的情況,比如錯誤設(shè)置成了外部3-8M晶振,那么外掛一個3-8M晶振即可進(jìn)行相應(yīng)操作。
當(dāng)然還有其它方面的原因?qū)е滦酒i死,在此處不再一一贅述。
下面以ATmega16為例,對其熔絲位進(jìn)行簡單描述:
(3)鎖定位設(shè)置面板:
● 通過編程鎖定位,允許用戶對AVR芯片內(nèi)數(shù)據(jù)進(jìn)行加密,不同的鎖定位對應(yīng)不同的加密保護(hù)程度,加密位共有三位,每位的數(shù)越大加密程度越高,否則越低。
● 被加密后的芯片依然可以讀出熔絲位和加密位的情況,一旦試圖對加密位進(jìn)行修改,芯片內(nèi)的程序?qū)恍薷幕虿脸?,不能再使用?br />● 加密位可以通過編程界面的芯片擦除功能擦除到初始狀態(tài),使得芯片可以重復(fù)使用。
● 鎖定位編程界面有與熔絲位編程界面相同的選項和操作按鈕,功能類似,不再贅述。
● 鎖定位編程應(yīng)該在熔絲位編程之后進(jìn)行,通常編程鎖定位是生產(chǎn)過程中寫芯片環(huán)節(jié)的最后一步。
下面以ATmega16為例,對其所定位進(jìn)行簡單描述:
(4)高級設(shè)置面板:
● SignatureBytes,芯片型號標(biāo)識位,點(diǎn)右邊的Read讀按鈕可以讀出芯片內(nèi)的ID。如果在編程面板里面選的芯片型號與讀出的芯片型號對應(yīng),下面會提示Signature matches selected device,如果不匹配會出現(xiàn)WARNING: Signature does notmatch selected device!
● Oscillator Calibrationbyte,內(nèi)部RC振蕩校準(zhǔn)。這里選擇不同的頻率,點(diǎn)Read Cal. Byte,可以讀出對應(yīng)的頻率下的校準(zhǔn)值,然后將這個值到Write區(qū),選擇將校準(zhǔn)值寫到Flash還是EEPROM,點(diǎn)擊Write toMemory寫按鈕,即可完成對應(yīng)頻率下的內(nèi)部RC振蕩校準(zhǔn)。
● 寫入到flash區(qū)域的校準(zhǔn)字芯片啟動時自動讀取并校準(zhǔn)RC振蕩,如果寫到EEPROM中,需要程序中進(jìn)行處理。
● Communication Settings串行通訊設(shè)定。
?。?)對目標(biāo)板控制面板:
● Voltages 通過本面板可以查看目標(biāo)板的電壓和寫參考電壓,參考電壓需要實際測得,再寫入,可以幫助仿真器準(zhǔn)確讀取目標(biāo)板電壓值以供參考。本功能在ISP編程模式下不可用,需要在JTAG模式下使用。
● Oscillator and ISP Clock 讀寫速率設(shè)定,這里可以讀寫仿真器內(nèi)ISP編程的速率,ISP模式下STK500選項為灰色。注意速率一定要小于芯片時鐘頻率的1/4,否則無法正確下載。
● Revision 版本號及升級,這里顯示當(dāng)前hex文件的版本號,如果AVR studio內(nèi)的軟件版本高于仿真器的版本,右邊的Upgrade會可用,如果匹配則該按鈕為灰色。
● 當(dāng)Upgrade按鈕為可用狀態(tài)時,可以點(diǎn)擊它進(jìn)入自動升級,在此之前請確認(rèn)仿真器是否支持自動升級,以免造成麻煩。
?。?)自動燒寫面板:
● 自動燒寫面板在生產(chǎn)的時候非常管用,程序會記錄上次進(jìn)行批處理的各個選項,一旦設(shè)置好之后,可以連續(xù)進(jìn)行燒寫。
● 請慎用本功能,在不知情的情況下使用本功能,鎖死芯片的幾率將大大增加。
● 自動處理:擦除芯片、檢測芯片ID號、寫flash、寫EEPROM、寫熔絲位、寫鎖定位以及他們對應(yīng)的校驗,一次完成,狀態(tài)欄會顯示正在進(jìn)行的操作。
● 所有的操作需要在前面對應(yīng)的面板設(shè)置好,比如選擇好下載的HEX及EEPROM文件,選好熔絲位,選好鎖定位,寫好內(nèi)部RC校正位等。請一定確保各個選項正確,特別是熔絲需要格外小心,可以先在每個面板里面進(jìn)行操作確認(rèn)沒有問題再進(jìn)行批處理操作。
● 在進(jìn)行批處理之前,請先在高級選項里面設(shè)置好通訊速率,確保速率小于晶振的四分之一,否則會出錯。
● 可以選中右邊的Log to file選項從而記錄操作日志。
● 使用JTAG方式燒寫程序及熔絲位
對軟硬件進(jìn)行初始配置,并正確設(shè)備連接,就可使用JTAG進(jìn)行聯(lián)機(jī)了。
打開AVRStudio,點(diǎn)擊主窗口中的圖標(biāo)前面標(biāo)有Con的那個圖標(biāo)。出現(xiàn)如下圖畫面:
在左邊,選擇“JTAG ICE”,在右邊,選擇“Auto”(或具體的COM口),點(diǎn)擊“Connect”進(jìn)行聯(lián)機(jī)。 下面步驟基本與上面AVRISP方式相同。
提示:由于AVRStudio會記憶用戶使用的設(shè)備是STK500或JTAG并且同時會記憶用戶使用的COM號,如果下次和上次使用的是相同的設(shè)備并且沒有更換COM口,那么下次使用的時候直接點(diǎn)擊右邊標(biāo)有“AVR”的那個圖標(biāo)即快速進(jìn)入聯(lián)機(jī)狀態(tài);
在左邊,選擇“STK500 or AVRISP”,在右邊,選擇“Auto”(或具體的COM口),點(diǎn)擊“Connect”進(jìn)行聯(lián)機(jī)。
評論