新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用AVR Studio 設置熔絲位并燒寫程序

        使用AVR Studio 設置熔絲位并燒寫程序

        作者: 時間:2016-11-19 來源:網絡 收藏
        使用AVRStudio設置AVR熔絲位及燒寫程序

        AVR Studio是ATMEL指定用于開發AVR MCU的官方軟件,其編程功能最為強大。下面介紹使用AVRStudio燒寫程序及熔絲快速入門。
        ●使用AVRISP方式燒寫程序及配置熔絲位
        對軟硬件進行初始配置,并正確設備連接,就可使用AVRISP進行聯機了。
        打開AVRStudio,點擊主窗口中的圖標
        前面標有Con的那個圖標。出現如下圖畫面:
        正常聯機后,將彈出如下窗口:
        (1)程序編程面板:

        本文引用地址:http://www.104case.com/article/201611/318406.htm

        ● Device里面選擇好對應的芯片類型,后面的Erase Device可以擦除芯片。
        ● Programming mode編程模式:注意這里必須是ISP mod,表示用的ISP編程模式;Erase Device Before選項:編程前先擦除芯片,建議選上,如果不選芯片內部殘留的程序可能會對新的程序造成干擾。Verity Device AfterProgram:下載完畢后校驗程序內容,建議選上。
        ● Flash 下載區:Input HEXFile,找到要寫的hex文件格式為*.hex、*.e90。Program,編程點此按鈕,將會把Input HEXFile對應文件下載到芯片中去,如果路徑有錯誤或者文件格式不正確會有提示報警。Verify校驗命令,用于檢測芯片內程序是否和文件中的一致。Read讀命令,此命令可以讀出未加密芯片內的程序,自動彈出一個對話框提示保存。
        ● EEPROM下載區,和Flash 下載區類似,格式為.hex、.e90和.eep,此功能用于下載比較多的需要存在EEPROM中的內容時使用。Program、Verify、Read于Flash下載區有對應EEPROM的同樣的功能,不在贅述。
        ● 狀態指示區,這里顯示目前的操作狀態。

         ?。?)熔絲位設置面板:



        ● 配置熔絲位有一定的危險性,可能鎖死芯片,在不知道具體在做什么操作之前,請不要急于動手。
        ● 熔絲位狀態顯示框,顯示芯片的各個熔絲位的詳細狀況,AVR的熔絲位打勾表示0,表示啟用該選項;取消表示1,表示不啟用該選項,需要注意。
        ● Auto Verity 選項選中時,程序會自己進行校驗,建議選中。Smart Warning選項選中時,在對一些特殊的具有一定危險性的熔絲位進行編程時會彈出警告信息,建議選中。
        ● Program、Verify和Read分別對應編程、校驗和讀取,正確的配置熔絲的方法是先讀取,先后修改需要修改的地方,再編程寫回。在Auto Verity選項選中時無需再點Verify按鈕進行校驗。
        ● 為了安全起見,在ISP模式下,SPEEN熔絲是不允許編程的。
        ● 芯片鎖死的主要原因是設錯熔絲位,主要有兩種情況:
        (1)JTAGEN和SPIEN兩個熔絲位都為1(不打勾),不能再進行編程,此時只能用高壓并行編程或者有源晶振恢復。
        (2)將熔絲位選擇了外部晶振或外部RC振蕩,而沒有接外部晶振或外部RC振蕩,或者外接的振蕩頻率不匹配,導致芯片不能工作,這種情況,需要外掛相應晶體才能再次操作芯片,用戶應盡量記起當時設錯熔絲的情況,比如錯誤設置成了外部3-8M晶振,那么外掛一個3-8M晶振即可進行相應操作。
        當然還有其它方面的原因導致芯片鎖死,在此處不再一一贅述。
        下面以ATmega16為例,對其熔絲位進行簡單描述:

        (3)鎖定位設置面板:

        ● 通過編程鎖定位,允許用戶對AVR芯片內數據進行加密,不同的鎖定位對應不同的加密保護程度,加密位共有三位,每位的數越大加密程度越高,否則越低。
        ● 被加密后的芯片依然可以讀出熔絲位和加密位的情況,一旦試圖對加密位進行修改,芯片內的程序將會被修改或擦除,不能再使用。
        ● 加密位可以通過編程界面的芯片擦除功能擦除到初始狀態,使得芯片可以重復使用。
        ● 鎖定位編程界面有與熔絲位編程界面相同的選項和操作按鈕,功能類似,不再贅述。
        ● 鎖定位編程應該在熔絲位編程之后進行,通常編程鎖定位是生產過程中寫芯片環節的最后一步。
        下面以ATmega16為例,對其所定位進行簡單描述:

        (4)高級設置面板:

        ● SignatureBytes,芯片型號標識位,點右邊的Read讀按鈕可以讀出芯片內的ID。如果在編程面板里面選的芯片型號與讀出的芯片型號對應,下面會提示Signature matches selected device,如果不匹配會出現WARNING: Signature does notmatch selected device!
        ● Oscillator Calibrationbyte,內部RC振蕩校準。這里選擇不同的頻率,點Read Cal. Byte,可以讀出對應的頻率下的校準值,然后將這個值到Write區,選擇將校準值寫到Flash還是EEPROM,點擊Write toMemory寫按鈕,即可完成對應頻率下的內部RC振蕩校準。
        ● 寫入到flash區域的校準字芯片啟動時自動讀取并校準RC振蕩,如果寫到EEPROM中,需要程序中進行處理。
        ● Communication Settings串行通訊設定。

          (5)對目標板控制面板:

        ● Voltages 通過本面板可以查看目標板的電壓和寫參考電壓,參考電壓需要實際測得,再寫入,可以幫助仿真器準確讀取目標板電壓值以供參考。本功能在ISP編程模式下不可用,需要在JTAG模式下使用。
        ● Oscillator and ISP Clock 讀寫速率設定,這里可以讀寫仿真器內ISP編程的速率,ISP模式下STK500選項為灰色。注意速率一定要小于芯片時鐘頻率的1/4,否則無法正確下載。
        ● Revision 版本號及升級,這里顯示當前hex文件的版本號,如果AVR studio內的軟件版本高于仿真器的版本,右邊的Upgrade會可用,如果匹配則該按鈕為灰色。
        ● 當Upgrade按鈕為可用狀態時,可以點擊它進入自動升級,在此之前請確認仿真器是否支持自動升級,以免造成麻煩。

         ?。?)自動燒寫面板:

        ● 自動燒寫面板在生產的時候非常管用,程序會記錄上次進行批處理的各個選項,一旦設置好之后,可以連續進行燒寫。
        ● 請慎用本功能,在不知情的情況下使用本功能,鎖死芯片的幾率將大大增加。
        ● 自動處理:擦除芯片、檢測芯片ID號、寫flash、寫EEPROM、寫熔絲位、寫鎖定位以及他們對應的校驗,一次完成,狀態欄會顯示正在進行的操作。
        ● 所有的操作需要在前面對應的面板設置好,比如選擇好下載的HEX及EEPROM文件,選好熔絲位,選好鎖定位,寫好內部RC校正位等。請一定確保各個選項正確,特別是熔絲需要格外小心,可以先在每個面板里面進行操作確認沒有問題再進行批處理操作。
        ● 在進行批處理之前,請先在高級選項里面設置好通訊速率,確保速率小于晶振的四分之一,否則會出錯。
        ● 可以選中右邊的Log to file選項從而記錄操作日志。
        ● 使用JTAG方式燒寫程序及熔絲位
        對軟硬件進行初始配置,并正確設備連接,就可使用JTAG進行聯機了。

         打開AVRStudio,點擊主窗口中的圖標前面標有Con的那個圖標。出現如下圖畫面:

        在左邊,選擇“JTAG ICE”,在右邊,選擇“Auto”(或具體的COM口),點擊“Connect”進行聯機。 下面步驟基本與上面AVRISP方式相同。

        提示:由于AVRStudio會記憶用戶使用的設備是STK500或JTAG并且同時會記憶用戶使用的COM號,如果下次和上次使用的是相同的設備并且沒有更換COM口,那么下次使用的時候直接點擊右邊標有“AVR”的那個圖標即快速進入聯機狀態;
        在左邊,選擇“STK500 or AVRISP”,在右邊,選擇“Auto”(或具體的COM口),點擊“Connect”進行聯機。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 柳林县| 鸡东县| 巫山县| 阿拉善左旗| 察哈| 石首市| 新巴尔虎右旗| 江都市| 昌黎县| 建阳市| 龙门县| 汶川县| 定西市| 育儿| 辽宁省| 山东省| 徐州市| 梅河口市| 汪清县| 福海县| 安龙县| 佛冈县| 徐汇区| 泗洪县| 肥城市| 临西县| 闸北区| 治多县| 电白县| 四平市| 吴旗县| 霍山县| 尼勒克县| 安仁县| 新竹县| 古田县| 邹平县| 玉林市| 九寨沟县| 建德市| 淮南市|