久久久国产精品视频袁燕,99re久久精品国产,亚洲欧美日韩国产综合v,天天躁夜夜躁狠狠久久,激情五月婷婷激情五月婷婷

Westbrook
認(rèn)證:VIP會(huì)員
所在專題目錄 查看專題
dsPIC33 BootLoader(1)-簡(jiǎn)介
dsPIC33 BootLoader(2)-Flash程序存儲(chǔ)空間
dsPIC33 BootLoader(3)-構(gòu)建中斷重映射表
dsPIC33 BootLoader(4)-基于MCC配置Boot區(qū)
dsPIC33 BootLoader(5)-基于MCC生成應(yīng)用程序
Bootloader演示
作者動(dòng)態(tài) 更多
10分鐘教你快速完成數(shù)字電源的閉環(huán)控制
2022-04-02 17:26
數(shù)字電源學(xué)習(xí)板演示
2022-02-19 13:36
手把手教你學(xué)數(shù)字電源系列視頻(22)- 數(shù)字控制的軟件流程
2022-02-19 13:28
手把手教你學(xué)數(shù)字電源系列視頻(21)- 設(shè)計(jì)數(shù)字補(bǔ)償器(LDE執(zhí)行)
2022-02-19 13:28
手把手教你學(xué)數(shù)字電源系列視頻(20)- 設(shè)計(jì)數(shù)字補(bǔ)償器(AB系數(shù)計(jì)算)
2022-02-19 13:27

dsPIC33 BootLoader(5)-基于MCC生成應(yīng)用程序

按照(4)的操做在MCC配置里面添加16-bit Bootloader:Application這個(gè)外設(shè)到Projects Resources里面,雙擊打開后Browse Boot的project,這一過程非常簡(jiǎn)單,如下:

以上信息說明Boot區(qū)的程序加載成功,包括Bootloader結(jié)束地址,Application地址范圍,中斷向量表重映射的起始地址。然后點(diǎn)擊"Generate",Application程序即可生成,如下。

對(duì)程序進(jìn)行編譯,編譯成功后觀察Program Memory,可以發(fā)現(xiàn)Application直接跳轉(zhuǎn)到0x1C60進(jìn)行執(zhí)行代碼了。

為什么是直接跳轉(zhuǎn)到0x1C60開始執(zhí)行代碼?

因?yàn)槲覀冎霸O(shè)定應(yīng)用程序的開始地址為0x1800,中斷偏移地址從0x1A00執(zhí)行,中斷向量有152個(gè)(包括不可屏蔽中斷6個(gè)),每條GOTO語(yǔ)句占用兩條指令(6個(gè)字節(jié)),PC指針每執(zhí)行+1,地址+2。所以0x1A00+0x260=0x1C60.


中斷偏移地址

我們選擇將中斷偏移地址從0x1A00開始,現(xiàn)在可以看一下是如何映射的。

比如振蕩器故障的IVT地址是0x000004,經(jīng)過重映射后的地址是0x1A04,如果發(fā)生該中斷,則會(huì)跳轉(zhuǎn)到0x1D5E的地址去執(zhí)行。地址錯(cuò)誤的IVT地址是0x000006,而經(jīng)過重映射后的地址是0x1A08,為什么?之前有提到,一個(gè)GOTO語(yǔ)句暫用兩條指令,故地址需要+4.同時(shí),看到IVT地址為0x00000E為保留中斷源,所以它對(duì)應(yīng)的地址為0x1A00.

比如我現(xiàn)在使能Timer1外設(shè)并進(jìn)入中斷,如下,Timer1中斷向量IVT地址為0x000016,重映射地址為0x1A20,發(fā)生中斷后會(huì)跳轉(zhuǎn)到0x1E5A地址去執(zhí)行。在沒有使能其他中斷源的情況下,均默認(rèn)跳轉(zhuǎn)至0x1A00地址。


添加Timer1外設(shè)并使能中斷,產(chǎn)生250ms的定時(shí)中斷作為L(zhǎng)ED的閃爍頻率。

在中斷中添加翻轉(zhuǎn)IO口的代碼。


利用上位機(jī)進(jìn)行應(yīng)用程序代碼的下載

在Microchip官網(wǎng)下載Unified Bootloader Host Application (Version 1.15.1)上位機(jī),下載地址為https://www.microchip.com/16-bit-Bootloader,打開之后進(jìn)行參數(shù)配置,點(diǎn)擊“File->open/load file”打開應(yīng)用程序的.hex文件。打開“setting”進(jìn)行串口波特率的設(shè)置,之前配置的UART波特率為38400,所以這里的設(shè)置要和前面的波特率一致。Device 選擇PIC24/dsPIC33這一欄.Application Start 里面填寫0x1800,Application End里面填寫0x2B7FE,點(diǎn)擊“Program Device”即可進(jìn)行應(yīng)用程序的下載。界面如下:

下載成功可以發(fā)現(xiàn)LED的閃爍頻率發(fā)生變化,說明下載成功??梢园聪略u(píng)估板的Reset按鍵讓MCU復(fù)位,在松開復(fù)位按鍵的之前按住SW按鍵,等松開復(fù)位按鍵后,根據(jù)LED閃爍頻率可以判斷程序進(jìn)入Boot區(qū)工作,后面我上傳一個(gè)視頻做一下演示。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯(cuò)的朋友,別忘了一鍵三連哦!
贊 2
收藏 3
關(guān)注 856
成為作者 賺取收益
全部留言
0/200
  • 王超的小站 2020-11-23 12:04
    都是知識(shí),學(xué)習(xí)了
    回復(fù)