RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

AVR的bootloader的設(shè)置步驟教程及注意事項(xiàng)

電子工程師 ? 作者:工程師a ? 2018-05-20 09:46 ? 次閱讀

一些注意事項(xiàng):

1.熔絲位的燒寫:BOOTRST要進(jìn)行編程,這樣單片機(jī)在復(fù)位后自動(dòng)跳轉(zhuǎn)到bootloader區(qū)執(zhí)行bootloader的代碼,然后要根據(jù)自己bootloader的大小設(shè)置boot區(qū)的的熔絲位:具體設(shè)置如下圖,這里我選擇的是1024大?。ㄗ⒁?代表為編程,0代表已編程):

AVR的bootloader的設(shè)置步驟教程及注意事項(xiàng)

2.設(shè)置引導(dǎo)區(qū)鎖定位:為了保護(hù)bootloader不被應(yīng)用程序修改或者擦除,所以要對(duì)其進(jìn)行保護(hù),Atmega提供了熔絲位的保護(hù)方式,具體設(shè)置如下圖(我設(shè)置的為BLB0為11,BLB1為00):

AVR的bootloader的設(shè)置步驟教程及注意事項(xiàng)

3.Flash頁(yè)的設(shè)定:因flash的擦除和寫入是按照頁(yè)來(lái)操作的,看手冊(cè)上說是1頁(yè)有128個(gè)字節(jié),但實(shí)際調(diào)試時(shí)候發(fā)現(xiàn)需要一次寫入256個(gè)字節(jié)才有效的,如果按照128來(lái)寫入,會(huì)將第二個(gè)128的內(nèi)容覆蓋掉第一個(gè)128字節(jié)的內(nèi)容,那就按照實(shí)際為準(zhǔn)了。

4.Xmodem協(xié)議的注意事項(xiàng):具體的xmodem不在本文敘述了,只說一下要注意的地方,校驗(yàn)和是可以選擇的,我使用的是checksum(就是單純的累加),也可以選擇16為的CRC,這個(gè)是根據(jù)單片機(jī)第一次返回的響應(yīng)字節(jié)來(lái)確定的,另外當(dāng)包的序列號(hào)超過255時(shí)會(huì)重新從0開始而不是從1開始,首次傳輸是從1開始編號(hào)的,這個(gè)要注意一下。

5.文件格式文件:和網(wǎng)上好多人一樣,遇到同樣的文件,在bootloader將應(yīng)用程序燒寫到flash中后,發(fā)現(xiàn)沒有執(zhí)行應(yīng)用程序,開始我也以為是跳轉(zhuǎn)不成成功的問題,上網(wǎng)查了半天都沒找到答案,都是問問題的L。沒辦法,靠自己了,一致納悶,燒寫到Flash中的程序和原始文件內(nèi)容一模一樣怎么就不能執(zhí)行啊,后來(lái)偶然用燒寫軟件打開要燒寫的固件,發(fā)現(xiàn)內(nèi)容和我用16進(jìn)制工具打開的并不一樣,Oh my god,豁然想到了問題的關(guān)鍵,原來(lái)用ICC生成的hex文件是intel hex形式,Intel HEX文件是由一行行符合Intel HEX文件格式的文本所構(gòu)成的ASCII文本文件。在Intel HEX文件中,每一行包含一個(gè)HEX記錄。這些記錄由對(duì)應(yīng)機(jī)器語(yǔ)言碼和/或常量數(shù)據(jù)的十六進(jìn)制編碼數(shù)字組成。Intel HEX文件通常用于傳輸將被存于ROM或者EPROM中的程序和數(shù)據(jù)。大多數(shù)EPROM編程器或模擬器使用Intel HEX文件。而實(shí)際存儲(chǔ)到Flash中的數(shù)據(jù)是要從這個(gè)HEX文件中提取出來(lái),然后在通過xmodem發(fā)送到單片機(jī),不要直接發(fā)送ICC生成的HEX文件,轉(zhuǎn)換的話可以自己寫一個(gè)小工具或者上網(wǎng)搜類似功能的工具,為了省事,我找了一個(gè)叫hex2bin的工具做的轉(zhuǎn)換。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AVR
    AVR
    +關(guān)注

    關(guān)注

    11

    文章

    1123

    瀏覽量

    78644
  • bootloader
    +關(guān)注

    關(guān)注

    2

    文章

    235

    瀏覽量

    45612
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AVR單片機(jī)設(shè)計(jì)I/O口使用注意事項(xiàng)

    重點(diǎn)記錄了AVR單片機(jī)設(shè)計(jì)I/O口使用注意事項(xiàng)
    發(fā)表于 01-21 15:33 ?1641次閱讀

    AVR ISP編程注意事項(xiàng)

    AVR ISP編程注意事項(xiàng)
    發(fā)表于 04-06 11:47

    轉(zhuǎn):Kboot內(nèi)的bootloader工程應(yīng)用注意事項(xiàng)總結(jié)

    了基于各種MCU的bootloader工程(圖1所示),每種芯片都提供了IAR、KDS兩類IDE工程,在本篇中,以K64F120的IAR工程為例(圖2所示),介紹各個(gè)bootloader工程使用步驟,及
    發(fā)表于 08-19 14:17

    AVR單片機(jī)IO使用注意事項(xiàng)有哪些?

    AVR單片機(jī)IO使用注意事項(xiàng)有哪些?
    發(fā)表于 10-29 07:22

    Stm32的bootloader和App的編寫注意事項(xiàng)有哪些?

    Stm32的bootloader和App的編寫注意事項(xiàng)有哪些?如何使用STM32F4的BootLoader和APP程序?
    發(fā)表于 10-29 07:35

    如何對(duì)AVRbootloader進(jìn)行設(shè)置?有什么注意事項(xiàng)

    如何對(duì)AVRbootloader進(jìn)行設(shè)置?有什么注意事項(xiàng)?
    發(fā)表于 11-01 07:01

    實(shí)現(xiàn)AVRBOOTLOADER工作需要注意那些事項(xiàng)?

    AVR自編程是如何實(shí)現(xiàn)的?能否在進(jìn)行自編過程中,修改復(fù)位中斷向量的位置?如何將一個(gè)函數(shù)定義在BOOT區(qū)呢?如何將整個(gè)工程連接編譯的起始地址定義在BOOT區(qū)首地址?實(shí)現(xiàn)AVRBOOTLOADER工作需要
    發(fā)表于 11-02 07:22

    TCL各機(jī)芯軟件升級(jí)操作步驟注意事項(xiàng)

    TCL各機(jī)芯軟件升級(jí)操作步驟注意事項(xiàng)
    發(fā)表于 09-06 15:02 ?18次下載

    PowerPCB到Allegro的轉(zhuǎn)換步驟注意事項(xiàng)

    PowerPCB到Allegro的轉(zhuǎn)換步驟注意事項(xiàng)
    發(fā)表于 02-15 15:17 ?0次下載

    avr單片機(jī)熔絲位設(shè)置方法及步驟設(shè)置注意事項(xiàng)

    對(duì)AVR熔絲位的配置是比較細(xì)致的工作,用戶往往忽視其重要性,或感到不易掌握。下面給出對(duì)AVR熔絲位的配置操作時(shí)的一些要點(diǎn)和需要注意的相關(guān)事項(xiàng)。
    發(fā)表于 11-22 15:02 ?2.5w次閱讀
    <b class='flag-5'>avr</b>單片機(jī)熔絲位<b class='flag-5'>設(shè)置</b>方法及<b class='flag-5'>步驟</b>及<b class='flag-5'>設(shè)置</b><b class='flag-5'>注意事項(xiàng)</b>

    全自動(dòng)端子機(jī)操作步驟_注意事項(xiàng)及保養(yǎng)

    本文主要介紹了全自動(dòng)端子機(jī)操作步驟注意事項(xiàng)及保養(yǎng)。
    發(fā)表于 06-05 08:00 ?0次下載

    虛擬內(nèi)存的設(shè)置步驟及其注意事項(xiàng)

    虛擬內(nèi)存是用來(lái)輔助電腦內(nèi)存更加流暢的存儲(chǔ)臨時(shí)文件的設(shè)置。虛擬內(nèi)存設(shè)置合理就能在很大程度上緩解運(yùn)行內(nèi)存的壓力,讓整個(gè)電腦的操作更加流暢,避免運(yùn)行大的軟件時(shí)由于內(nèi)存不足而產(chǎn)生的閃退或卡死現(xiàn)象。那么虛擬內(nèi)存怎么設(shè)置最好呢?下面,我就為
    發(fā)表于 06-13 10:35 ?2334次閱讀

    示波器接電流探頭時(shí)的設(shè)置方法及注意事項(xiàng)

    示波器接電流探頭時(shí)的設(shè)置方法及注意事項(xiàng)? 示波器是一種用于觀測(cè)電子信號(hào)波形的重要儀器。在實(shí)際應(yīng)用中,經(jīng)常需要接入電流探頭以觀測(cè)電路中的電流波形。正確的設(shè)置方法和注意事項(xiàng)對(duì)于獲取準(zhǔn)確的波
    的頭像 發(fā)表于 01-08 16:36 ?3619次閱讀

    profinet網(wǎng)關(guān)的接線步驟注意事項(xiàng)

    Profinet網(wǎng)關(guān)的接線過程可以根據(jù)具體的應(yīng)用場(chǎng)景和設(shè)備型號(hào)有所不同,但一般可以按照以下步驟進(jìn)行,以下是一個(gè)典型的接線步驟注意事項(xiàng)。
    的頭像 發(fā)表于 09-18 11:53 ?592次閱讀

    如何為住宅配置靜態(tài)IP:步驟注意事項(xiàng)

    為住宅配置靜態(tài)IP地址,通常涉及以下步驟注意事項(xiàng)。
    的頭像 發(fā)表于 10-24 08:02 ?221次閱讀
    RM新时代网站-首页