91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

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

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

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

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

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

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

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


中斷偏移地址

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

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

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


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

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


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

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

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

聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 2
收藏 3
關(guān)注 856
成為作者 賺取收益
全部留言
0/200
  • 王超的小站 2020-11-23 12:04
    都是知識,學習了
    回復(fù)
主站蜘蛛池模板: 宝清县| 巫山县| 长顺县| 黄龙县| 广州市| 广汉市| 大余县| 仪征市| 宜宾市| 安宁市| 星子县| 资中县| 安远县| 黎川县| 芦山县| 正镶白旗| 长兴县| 新野县| 乌拉特后旗| 永福县| 江都市| 九台市| 衡阳县| 泾川县| 福建省| 龙里县| 青冈县| 独山县| 微山县| 建始县| 卓尼县| 琼中| 沙河市| 页游| 麻江县| 武陟县| 刚察县| 铁岭县| 芜湖县| 肃南| 房产|