<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 單片機的編程語(yǔ)言和開(kāi)發(fā)環(huán)境

單片機的編程語(yǔ)言和開(kāi)發(fā)環(huán)境

作者: 時(shí)間:2017-10-14 來(lái)源:網(wǎng)絡(luò ) 收藏

  在《嵌入式編程之的基本構成、工作原理》《嵌入式編程之的外圍功能電路》我們介紹了硬件方面的知識。本文將介紹單片機的開(kāi)發(fā)環(huán)境和。

本文引用地址:http://dyxdggzs.com/article/201710/366334.htm

  CPU懂的機器語(yǔ)言

  單片機的CPU從存儲器讀取程序,但是一次只能讀取一條指令,然后解釋每條指令,并執行。存儲器中保存的內容,不管是程序還是數據,都是二進(jìn)制代碼“0”和“1”組成的字符串。指令二進(jìn)制代碼告訴CPU要做什么,而數據二進(jìn)制代碼則是CPU操作或處理指令時(shí)要使用的值。CPU的操作包含加、減運算等指令。這些像密碼一樣排列的“0”和“1”字符串就是機器語(yǔ)言。比如圖1左邊顯示的就是一個(gè)機器語(yǔ)言指令,意思是“將2放入寄存器A(寄存器是CPU內部的儲存區域)。

  CPU總是按存儲器地址的順序讀取指令代碼,除非遇到跳躍指令。例如,如果復位后的地址是0000,則從0000開(kāi)始按0001、0002、0003的順序讀取并執行指令。也可以說(shuō),一個(gè)程序就是按處理要求排列一系列的機器語(yǔ)言。

  CPU只能理解如上所述的機器語(yǔ)言。因此,為了使CPU運行,就必須使用機器語(yǔ)言的程序。但是,機器語(yǔ)言不易為人們識別和讀寫(xiě)。因此,人們用了更簡(jiǎn)單易懂的字符串來(lái)代替機器語(yǔ)言,這就是。例如,在“給寄存器A賦值2”這樣的處理時(shí),如果用來(lái)表示,就很簡(jiǎn)單,請看圖1的右邊部分。中,用MOV字符串表示賦值,所以“給寄存器A賦值2”的處理就可用“MOV A,#02”表示。

  圖1:機器語(yǔ)言和匯編語(yǔ)言的比較

  雖然匯編語(yǔ)言比機器語(yǔ)言更加簡(jiǎn)單易懂了,但是人們讀起來(lái)還是挺難理解的。而且,匯編語(yǔ)言還存在另一個(gè)問(wèn)題,就是不同的CPU,機器語(yǔ)言的描述方式也不同。因此,如果更換了CPU,就必須改寫(xiě)與機器語(yǔ)言有著(zhù)密不可分關(guān)系的匯編語(yǔ)言,工作量比較大。(以上例子中的機器語(yǔ)言和匯編語(yǔ)言均為瑞薩的RL78族單片機中的語(yǔ)言。)

  如上所述,每更換一次CPU都必須對程序進(jìn)行改編,不但造成生產(chǎn)性低下,還加重了編程人員的負擔。

  人性化的

  能夠解決上述問(wèn)題的就是。具有不依存于特定的CPU,又具有程序移植性高等的特點(diǎn)。另外,由于編程時(shí)可使用人們熟悉的英文單詞,所以對編程人員來(lái)說(shuō)C語(yǔ)言是最容易使用的。下面我們將C語(yǔ)言和匯編語(yǔ)言做一個(gè)簡(jiǎn)單地比較。(圖2)

  

  圖2: 匯編語(yǔ)言和C語(yǔ)言的比較

  雖然C語(yǔ)言不依存于CPU而且還是人們最容易使用的編程語(yǔ)言,但對于CPU來(lái)說(shuō),C語(yǔ)言卻是一種完全無(wú)法理解的語(yǔ)言。因此,就需要一種可以將C語(yǔ)言翻譯為機器語(yǔ)言的軟件,這就是被稱(chēng)為編譯器 (編譯程序) 的軟件。 經(jīng)過(guò)編譯器翻譯的程序的文件格式被稱(chēng)為目標文件格式。如果目標文件格式最終沒(méi)有被配置到存儲器中,CPU就無(wú)法執行該程序。

  另外,近來(lái)由于程序越來(lái)越趨于復雜化,所以幾乎都采取了將一個(gè)程序分割為多個(gè)C語(yǔ)言程序文件的結構。所以,還需要一個(gè)工具將多個(gè)目標文件格式匯總成一個(gè)機器語(yǔ)言并配置到存儲器上,能夠擔當起此重任的就是連接編輯程序(linkage editor,也被稱(chēng)為“linker(鏈接器)”)。

  能夠找出程序錯誤的調試器

  由人進(jìn)行編程的應用程序難免會(huì )存在錯誤(bug)。而用來(lái)發(fā)現和幫助人們修正程序錯誤的工具被稱(chēng)為調試器(Debugger)。下面簡(jiǎn)單介紹調試器的類(lèi)型。

  電路內仿真器(In-Circuit Emulator , 簡(jiǎn)稱(chēng):ICE) :ICE可取代實(shí)際的單片機,與仿真專(zhuān)用的評價(jià)單片機(evaluation chip,評價(jià)芯片)連接并進(jìn)行調試。其中,“In-Circuit Emulator”為美國英特爾公司的注冊商標,瑞薩將其命名為“Full-spec Emulators”并向市場(chǎng)提供。

  J-TAG仿真器:J-TAG仿真器使用單片機內事先預留的調試電路進(jìn)行調試。也就是說(shuō)通過(guò)實(shí)際使用的單片機來(lái)進(jìn)行調試。和ICE相比,J-TAG仿真器的價(jià)格較低。瑞薩將其命名為“On-chip Debug Emulator”并向市場(chǎng)提供。

  簡(jiǎn)易仿真器:簡(jiǎn)易仿真器是使調試用的監視程序在單片機上運行,在與PC通信的同時(shí)進(jìn)行調試。除了調試對象的程序之外,還需啟動(dòng)其他監視程序,所以,與ICE或J-TAG仿真器相比,簡(jiǎn)易仿真器的程序運行速度慢而且還有各種功能限制。其最大的優(yōu)點(diǎn)是價(jià)格非常低廉。

  綜合開(kāi)發(fā)環(huán)境

  正如上面所講的,在進(jìn)行單片機的軟件開(kāi)發(fā)時(shí),使用了上述的編譯器、連接編輯程序、調試器等各種工具。以前,這些軟件都是作為單個(gè)軟件分別提供的,一般是通過(guò)命令提示符調出各個(gè)程序、或是通過(guò)批處理程序調出使用。但是,最近開(kāi)始以綜合開(kāi)發(fā)環(huán)境的方式給予提供,綜合開(kāi)發(fā)環(huán)境就是將各種程序綜合到一個(gè)程序包中,只需通過(guò)Renesas CS+ 等便可很容易地將程序調出使用。

  例如,瑞薩針對RL78族產(chǎn)品提供了“簡(jiǎn)單”“快速”“安心”的“CS+”的綜合開(kāi)發(fā)環(huán)境。在綜合開(kāi)發(fā)環(huán)境中,只需進(jìn)行簡(jiǎn)單操作便可利用各種功能,因此,綜合開(kāi)發(fā)環(huán)境最適合用來(lái)提高軟件開(kāi)發(fā)的效率。

  * 在2014年10月1日發(fā)布, 瑞薩電子集成開(kāi)發(fā)環(huán)境CubeSuite+的產(chǎn)品名稱(chēng)已經(jīng)從V3.00.00版本中改為“C++”。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>