色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Bootloader技術在數(shù)字信號控制器中的應用

          Bootloader技術在數(shù)字信號控制器中的應用

          作者: 時間:2012-09-03 來源:網(wǎng)絡 收藏

          6 程序編寫

          6. 1 dsPIC30F系列器件存儲空間的分配

          在編寫程序之前, 我們必須首先了解芯片的程序存儲空間分配情況。dsPIC30F 系列芯片包含144K字節(jié)的FLASH 程序存儲空間, 尋址范圍為0x0000100~ 0x017FFE, 圖1 ( a)為dsPIC30F系列芯片的程序存儲器地址映射情況。

          0x00~ 0x03地址單元是復位向量; 0x04~ 0xFE地址單元是中斷向量表和后備中斷向量表( IVT /A IVT) ; 在其后的0x100~ 0x17FFE單元為48K指令字的用戶閃存程序存儲器。原則上, Boot loader程序可以放在整個程序空間中的任何位置, 但是為了簡單方便、具有通用性和盡量減少對用戶程序的影響,本設計使用了0x100 ~ 0x4FE 的一段程序存儲器( Boo tloader程序與用戶程序的代碼總量不能超過144KB)。程序后面便可存放用戶程序,但是受到FLASH 存儲器頁的限制, 用戶程序不可緊跟在Boo tloader程序之后, 它必須從下一個FLASH存儲器頁的開始處(如0x500) 存放, 如圖1 ( b) 所示。

          程序存儲器地址映射
          圖1 程序存儲器地址映射

          6. 2 . hex文件的解析

          當dsPIC30F系列的程序編寫完成之后, 利用開發(fā)平臺MPLAB IDE編譯后會生成一個. hex 文件, 將這個. hex 文件燒寫到FLASH 存儲器中系統(tǒng)才能運行, 因此要完成的任務就是將這個. hex 文件下載到目標系統(tǒng)中。如果直接從PC 端將. hex 文件中的全部內容發(fā)送給下位機, 就需要Boot loader程序來解析提取要寫入存儲器的數(shù)據(jù), 這樣做勢必加大Boo tloader程序代碼長度, 也會影響整個Boo tloader過程的時間, 因此本設計采用在PC機端程序解析. hex 文件的方法。為了正確地將這個. hex文件下載到下位機中必須對. hex 文件有一個比較深入的了解。. hex文件的格式如下:

          : BBAAAATTHHHH……HHCC

          BB: 二位16 進制值, 表示該幀數(shù)據(jù)的字節(jié)長度。

          AAAA: 四位16 進制值, 表示隨后數(shù)據(jù)的起始地址, 該地址為字節(jié)地址。

          TT: 二位16進制值, 表示數(shù)據(jù)幀類型( 00 : 數(shù)據(jù)幀; 01 : 結束幀; 04 : 擴展地址幀)。

          HH: 16進制值, 表示具體的數(shù)據(jù), 即具體程序代碼。

          CC: 二位16進制的校驗碼, 使該幀全部以二位16進制相加后總和為0。

          一個. hex 文件可分為5部分代碼: 復位向量代碼、程序代碼、中斷向量代碼、后備中斷向量代碼和結束代碼, 除結束代碼僅含結束幀外, 其余各部分代碼都由擴展地址幀和數(shù)據(jù)幀組成, 其中僅數(shù)據(jù)幀存儲了用戶程序信息。因此PC 機端程序僅保留擴展地址幀和數(shù)據(jù)幀的內容并按順序進行發(fā)送即可, 下位機接收數(shù)據(jù)后根據(jù)擴展地址幀可以直接將用戶代碼寫入FLASH 存儲器相應的地址單元中, 從而提高了整個Bootloader的效率。



          評論


          相關推薦

          技術專區(qū)

          關閉