電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>單片機(jī)是如何“聽懂”開發(fā)編程語言的?資料下載

單片機(jī)是如何“聽懂”開發(fā)編程語言的?資料下載

2021-04-04 | pdf | 151.58KB | 次下載 | 2積分

資料介紹

本連載講解作為嵌入式系統(tǒng)開發(fā)技術(shù)人員所必需具備的基礎(chǔ)知識。這些基礎(chǔ)知識是硬件和軟件技術(shù)人員都應(yīng)該掌握的共通技術(shù)知識。 在“單片機(jī)入門(1)”和“單片機(jī)入門(2)”中,我們學(xué)習(xí)了單片機(jī)硬件方面的知識。本期我們將學(xué)習(xí)開發(fā)環(huán)境和編程語言吧。 CPU懂的機(jī)器語言 單片機(jī)的CPU從存儲器讀取程序,但是一次只能讀取一條指令,然后解釋每條指令,并執(zhí)行。存儲器中保存的內(nèi)容,不管是程序還是數(shù)據(jù),都是二進(jìn)制代碼“0”和“1”組成的字符串。指令二進(jìn)制代碼告訴CPU要做什么,而數(shù)據(jù)二進(jìn)制代碼則是CPU操作或處理指令時(shí)要使用的值。CPU的操作包含加、減運(yùn)算等指令。這些像密碼一樣排列的“0”和“1”字符串就是機(jī)器語言。比如圖1左邊顯示的就是一個(gè)機(jī)器語言指令,意思是“將2放入寄存器A(寄存器是CPU內(nèi)部的儲存區(qū)域)。 CPU總是按存儲器地址的順序讀取指令代碼,除非遇到跳躍指令。例如,如果復(fù)位后的地址是0000,則從0000開始按0001、0002、0003的順序讀取并執(zhí)行指令。也可以說,一個(gè)程序就是按處理要求排列一系列的機(jī)器語言。 CPU只能理解如上所述的機(jī)器語言。因此,為了使CPU運(yùn)行,就必須使用機(jī)器語言的程序。但是,機(jī)器語言不易為人們識別和讀寫。因此,人們用了更簡單易懂的字符串來代替機(jī)器語言,這就是匯編語言。例如,在“給寄存器A賦值2”這樣的處理時(shí),如果用匯編語言來表示,就很簡單,請看圖1的右邊部分。匯編語言中,用MOV字符串表示賦值,所以“給寄存器A賦值2”的處理就可用“MOV A,#02”表示。 圖1:機(jī)器語言和 匯編語言的比較 雖然匯編語言比機(jī)器語言更加簡單易懂了,但是人們讀起來還是挺難理解的。而且,匯編語言還存在另一個(gè)問題,就是不同的CPU,機(jī)器語言的描述方式也不同。因此,如果更換了CPU,就必須改寫與機(jī)器語言有著密不可分關(guān)系的匯編語言,工作量比較大。(以上例子中的機(jī)器語言和匯編語言均為瑞薩的RL78族單片機(jī)中的語言。) 如上所述,每更換一次CPU都必須對程序進(jìn)行改編,不但造成生產(chǎn)性低下,還加重了編程人員的負(fù)擔(dān)。 人性化的C語言 能夠解決上述問題的編程語言就是C語言。C語言具有不依存于特定的CPU,又具有程序移植性高等的特點(diǎn)。另外,由于編程時(shí)可使用人們熟悉的英文單詞,所以對編程人員來說C語言是最容易使用的編程語言。下面我們將C語言和匯編語言做一個(gè)簡單地比較。(圖2) 圖2:匯編語言和C語言的比較 雖然C語言不依存于CPU而且還是人們最容易使用的編程語言,但對于CPU來說,C語言卻是一種完全無法理解的語言。因此,就需要一種可以將C語言翻譯為機(jī)器語言的軟件,這就是被稱為編譯器 (編譯程序) 的軟件。 經(jīng)過編譯器翻譯的程序的文件格式被稱為目標(biāo)文件格式。如果目標(biāo)文件格式最終沒有被配置到存儲器中,CPU就無法執(zhí)行該程序。 另外,近來由于程序越來越趨于復(fù)雜化,所以幾乎都采取了將一個(gè)程序分割為多個(gè)C語言程序文件的結(jié)構(gòu)。所以,還需要一個(gè)工具將多個(gè)目標(biāo)文件格式匯總成一個(gè)機(jī)器語言并配置到存儲器上,能夠擔(dān)當(dāng)起此重任的就是連接編輯程序(linkage editor,也被稱為“l(fā)inker(鏈接器)”)。 能夠找出程序錯(cuò)誤的調(diào)試器 由人進(jìn)行編程的應(yīng)用程序難免會(huì)存在錯(cuò)誤(bug)。而用來發(fā)現(xiàn)和幫助人們修正程序錯(cuò)誤的工具被稱為調(diào)試器(Debugger)。下面簡單介紹調(diào)試器的類型。 電路內(nèi)仿真器(In-Circuit Emulator , 簡稱:ICE) : ICE可取代實(shí)際的單片機(jī),與仿真專用的評價(jià)單片機(jī)(evaluation chip,評價(jià)芯片)連接并進(jìn)行調(diào)試。其中,“In-Circuit Emulator”為美國英特爾公司的注冊商標(biāo),瑞薩將其命名為“Full-spec Emulators”并向市場提供。 J-TAG仿真器: J-TAG仿真器使用單片機(jī)內(nèi)事先預(yù)留的調(diào)試電路進(jìn)行調(diào)試。也就是說通過實(shí)際使用的單片機(jī)來進(jìn)行調(diào)試。和ICE相比,J-TAG仿真器的價(jià)格較低。瑞薩將其命名為“On-chip Debug Emulator”并向市場提供。 簡易仿真器: 簡易仿真器是使調(diào)試用的監(jiān)視程序在單片機(jī)上運(yùn)行,在與PC通信的同時(shí)進(jìn)行調(diào)試。除了調(diào)試對象的程序之外,還需啟動(dòng)其他監(jiān)視程序,所以,與ICE或J-TAG仿真器相比,簡易仿真器的程序運(yùn)行速度慢而且還有各種功能限制。其最大的優(yōu)點(diǎn)是價(jià)格非常低廉。 綜合開發(fā)環(huán)境 正如上面所講的,在進(jìn)行單片機(jī)的軟件開發(fā)時(shí),使用了上述的編譯器、連接編輯程序、調(diào)試器等各種工具。以前,這些軟件都是作為單個(gè)軟件分別提供的,一般是通過命令提示符調(diào)出各個(gè)程序、或是通過批處理程序調(diào)出使用。但是,最近開始以綜合開發(fā)環(huán)境的方式給予提供,綜合開發(fā)環(huán)境就是將各種程序綜合到一個(gè)程序包中,只需通過Renesas CS 等便可很容易地將程序調(diào)出使用。 例如,瑞薩針對RL78族產(chǎn)品提供了“簡單”“快速”“安心”的“CS ”的綜合開發(fā)環(huán)境。在綜合開發(fā)環(huán)境中,只需進(jìn)行簡單操作便可利用各種功能,因此,綜合開發(fā)環(huán)境最適合用來提高軟件開發(fā)的效率。 在下期的“單片機(jī)入門(4)”中,將介紹通過單片機(jī)進(jìn)行硬件控制的基礎(chǔ)知識。敬請期待。? (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計(jì)
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)