99久久亚洲女同一区二区_国产成人亚洲欧美二区综_中国精品一级毛片免费播放_午夜福利深夜XX00视频无卡顿_动漫人物打扑克牌又疼又叫_中午字幕在线播放_深夜福利网站在线_国产成人免费福利网站_欧美成年黄网站色高清视频_欧美色黄禁片短视频

固話:0592-8011678 熱線:13306028255 客服 :
 

單片機

AVR的bootloader的設(shè)置

分類:單片機 發(fā)布:2019-03-20 10:47:16 瀏覽:417次 Tag:

一些注意事項:

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

  

 

 

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

 

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

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

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


相關(guān)文章
在線留言聯(lián)系我們
電話:0592-8011678
傳真:0592-8011678
聯(lián)系人:王女士
24H熱線:13306028255
聯(lián)系QQ: 656368133
郵箱:656368133@qq.com
網(wǎng)址:633100.cn
QQ在線咨詢
銷售電話:
13306028255
0592-8011678
656368133
掃碼添加微信