• 招生咨詢熱線:4008-569-579 
  • 手機(jī)版
    用手機(jī)掃描二維碼直達(dá)商品手機(jī)版
招生咨詢熱線
4008-569-579
機(jī)構(gòu)主頁 > 培訓(xùn)資料 > 嵌入式開發(fā):如何為PIC?或AVR?MCU編寫裸機(jī)代碼
機(jī)構(gòu)主頁 > 培訓(xùn)資料>嵌入式開發(fā):如何為PIC?或AVR?MCU編寫裸機(jī)代碼

嵌入式開發(fā):如何為PIC?或AVR?MCU編寫裸機(jī)代碼

來源:廣州達(dá)內(nèi)教育        時(shí)間:2023-05-30        熱度:28℃        返回列表

  微芯片結(jié)合了令人印象深刻的PIC和AVR微控制器(MCU)系列,擁有市場領(lǐng)先的8位MCU系列。作為一名嵌入式開發(fā)人員,理想情況下,為給定項(xiàng)目選擇MCU是基于哪個(gè)設(shè)備(外圍設(shè)備)最適合實(shí)現(xiàn)應(yīng)用程序的功能。


  通常,這取決于MCU上不同外設(shè)的組合。例如,你可能有嚴(yán)格的模擬測量應(yīng)用要求,要求仔細(xì)檢查MCU的模數(shù)轉(zhuǎn)換器(ADC)。在一種應(yīng)用中,PIC

MCU的10位模擬數(shù)字轉(zhuǎn)換器(ADCC)外圍設(shè)備(視頻)可能具有優(yōu)勢,因?yàn)橹С指鞣N類型的獨(dú)立于核心的后采樣計(jì)算。對于另一個(gè)應(yīng)用,AVR

MCU的12位差分ADC可能由于其分辨率或與AVR

MCU的事件系統(tǒng)一起操作而具有優(yōu)勢。這兩種ADC都提供相對專門的功能,根據(jù)應(yīng)用要求提供某些優(yōu)勢。


  熟悉生態(tài)系統(tǒng)的支持對MCU選擇有重大影響。為了將重點(diǎn)放在為其設(shè)計(jì)選擇最佳的MCU和外圍設(shè)備上,在過去的幾年中,已經(jīng)做出了巨大的努力來調(diào)整PIC和AVR

MCU產(chǎn)品系列的工具支持。Microchip仍致力于支持Atmel Studio 7和Atmel START生態(tài)系統(tǒng)中的新AVR設(shè)備。此外,AVR

MCU已添加到MPLAB

X集成開發(fā)環(huán)境(IDE)和MPLAB代碼配置器(MCC),統(tǒng)一了這些MCU系列之間的開發(fā)經(jīng)驗(yàn)。通用工具生態(tài)系統(tǒng)的支持旨在讓你快速使用新的MCU系列,顯著降低探索障礙。然而,對于嵌入式開發(fā)人員來說,使用MCU進(jìn)行舒適的開發(fā)比工具生態(tài)系統(tǒng)更深入,一直到寄存器級(jí)或裸機(jī)編碼。


  理解項(xiàng)目中的所有代碼


  MPLAB代碼配置器(MCC)或Atmel

START等代碼生成工具是在設(shè)計(jì)中節(jié)省大量時(shí)間的絕佳方法。但是,如果你不理解這些工具生成的代碼,你可能永遠(yuǎn)不會(huì)對它們感到完全滿意。具有諷刺意味的是,你可能只在不再需要該工具時(shí)才信任它。作為一名嵌入式開發(fā)人員,你還知道,如果不自己至少修改一些寄存器級(jí)代碼,就不可能進(jìn)入生產(chǎn)環(huán)境。




  裸機(jī)編碼:使用設(shè)備數(shù)據(jù)表和頭文件作為主要編程參考


  MCU由幾個(gè)構(gòu)建塊或模塊組成:CPU、SRAM、閃存、EEPROM和外圍設(shè)備(如ADC)。其中每一項(xiàng)都在設(shè)備數(shù)據(jù)表中定義,并可通過寄存器進(jìn)行配置。“裸機(jī)編碼”中的“金屬”指的是設(shè)備寄存器,因此它指的是寫入配置MCU模塊所需的寄存器級(jí)代碼的實(shí)踐。該寄存器級(jí)代碼的形式受設(shè)備頭文件的影響,而設(shè)備頭文件又受MCU外圍模塊(數(shù)據(jù)表)的結(jié)構(gòu)的影響。所以,高效地編寫裸機(jī)代碼需要數(shù)據(jù)表模塊結(jié)構(gòu)以及頭文件定義的工作知識(shí)。除代碼示例外,在該級(jí)別開發(fā)的主要編程參考通常是MCU數(shù)據(jù)表和設(shè)備頭文件。


  裸機(jī)編碼是一種嵌入式開發(fā)技能,往往需要在同一MCU系列上的多個(gè)項(xiàng)目中掌握。對于特定的MCU,工程師熟悉MCU系列的數(shù)據(jù)表模塊和頭文件的組織方式的隱式模式。對這些模式的了解有助于該MCU系列的快速開發(fā),但也會(huì)造成選擇不同MCU的阻力,即使它可能更適合新項(xiàng)目。隨著時(shí)間的推移,能夠快速使用與頭文件定義相關(guān)的命名約定,使工程師能夠利用現(xiàn)代IDE的代碼完成功能,如MPLAB

X IDE(或Atmel Studio)。


  MCC生成的項(xiàng)目的編碼樣式和項(xiàng)目結(jié)構(gòu)可能與你自己實(shí)現(xiàn)的不同。然而,在寄存器級(jí)別,MCC生成的代碼與手動(dòng)編寫的代碼非常相似。因此,使用MCC生成的代碼作為示例上下文,通過我們可以從PIC1000和AVR1000b應(yīng)用說明中了解的內(nèi)容,探索PIC和AVR

MCU寄存器級(jí)代碼之間的差異。在此過程中,我們還將指出一些你可能不知道的有趣的MPLAB X IDE編輯器特性。

電話咨詢

電話咨詢

咨詢電話:
4008-569-579
回到頂部

回到頂部