資料介紹
本連載講解作為嵌入式系統(tǒng)開發(fā)技術(shù)人員所必需具備的基礎(chǔ)知識。這些基礎(chǔ)知識是硬件和軟件技術(shù)人員都應(yīng)該掌握的共通技術(shù)知識。
在“單片機入門(1)”和“單片機入門(2)”中,我們學習了單片機硬件方面的知識。本期我們將學習開發(fā)環(huán)境和編程語言吧。
CPU懂的機器語言
單片機的CPU從存儲器讀取程序,但是一次只能讀取一條指令,然后解釋每條指令,并執(zhí)行。存儲器中保存的內(nèi)容,不管是程序還是數(shù)據(jù),都是二進制代碼“0”和“1”組成的字符串。指令二進制代碼告訴CPU要做什么,而數(shù)據(jù)二進制代碼則是CPU操作或處理指令時要使用的值。CPU的操作包含加、減運算等指令。這些像密碼一樣排列的“0”和“1”字符串就是機器語言。比如圖1左邊顯示的就是一個機器語言指令,意思是“將2放入寄存器A(寄存器是CPU內(nèi)部的儲存區(qū)域)。
CPU總是按存儲器地址的順序讀取指令代碼,除非遇到跳躍指令。例如,如果復位后的地址是0000,則從0000開始按0001、0002、0003的順序讀取并執(zhí)行指令。也可以說,一個程序就是按處理要求排列一系列的機器語言。
CPU只能理解如上所述的機器語言。因此,為了使CPU運行,就必須使用機器語言的程序。但是,機器語言不易為人們識別和讀寫。因此,人們用了更簡單易懂的字符串來代替機器語言,這就是匯編語言。例如,在“給寄存器A賦值2”這樣的處理時,如果用匯編語言來表示,就很簡單,請看圖1的右邊部分。匯編語言中,用MOV字符串表示賦值,所以“給寄存器A賦值2”的處理就可用“MOV A,#02”表示。
圖1:機器語言和 匯編語言的比較
雖然匯編語言比機器語言更加簡單易懂了,但是人們讀起來還是挺難理解的。而且,匯編語言還存在另一個問題,就是不同的CPU,機器語言的描述方式也不同。因此,如果更換了CPU,就必須改寫與機器語言有著密不可分關(guān)系的匯編語言,工作量比較大。(以上例子中的機器語言和匯編語言均為瑞薩的RL78族單片機中的語言。)
如上所述,每更換一次CPU都必須對程序進行改編,不但造成生產(chǎn)性低下,還加重了編程人員的負擔。
人性化的C語言
能夠解決上述問題的編程語言就是C語言。C語言具有不依存于特定的CPU,又具有程序移植性高等的特點。另外,由于編程時可使用人們熟悉的英文單詞,所以對編程人員來說C語言是最容易使用的編程語言。下面我們將C語言和匯編語言做一個簡單地比較。(圖2)
圖2:匯編語言和C語言的比較
雖然C語言不依存于CPU而且還是人們最容易使用的編程語言,但對于CPU來說,C語言卻是一種完全無法理解的語言。因此,就需要一種可以將C語言翻譯為機器語言的軟件,這就是被稱為編譯器 (編譯程序) 的軟件。 經(jīng)過編譯器翻譯的程序的文件格式被稱為目標文件格式。如果目標文件格式最終沒有被配置到存儲器中,CPU就無法執(zhí)行該程序。
另外,近來由于程序越來越趨于復雜化,所以幾乎都采取了將一個程序分割為多個C語言程序文件的結(jié)構(gòu)。所以,還需要一個工具將多個目標文件格式匯總成一個機器語言并配置到存儲器上,能夠擔當起此重任的就是連接編輯程序(linkage editor,也被稱為“l(fā)inker(鏈接器)”)。
能夠找出程序錯誤的調(diào)試器
由人進行編程的應(yīng)用程序難免會存在錯誤(bug)。而用來發(fā)現(xiàn)和幫助人們修正程序錯誤的工具被稱為調(diào)試器(Debugger)。下面簡單介紹調(diào)試器的類型。
電路內(nèi)仿真器(In-Circuit Emulator , 簡稱:ICE) :
ICE可取代實際的單片機,與仿真專用的評價單片機(evaluation chip,評價芯片)連接并進行調(diào)試。其中,“In-Circuit Emulator”為美國英特爾公司的注冊商標,瑞薩將其命名為“Full-spec Emulators”并向市場提供。
J-TAG仿真器:
J-TAG仿真器使用單片機內(nèi)事先預(yù)留的調(diào)試電路進行調(diào)試。也就是說通過實際使用的單片機來進行調(diào)試。和ICE相比,J-TAG仿真器的價格較低。瑞薩將其命名為“On-chip Debug Emulator”并向市場提供。
簡易仿真器:
簡易仿真器是使調(diào)試用的監(jiān)視程序在單片機上運行,在與PC通信的同時進行調(diào)試。除了調(diào)試對象的程序之外,還需啟動其他監(jiān)視程序,所以,與ICE或J-TAG仿真器相比,簡易仿真器的程序運行速度慢而且還有各種功能限制。其最大的優(yōu)點是價格非常低廉。
綜合開發(fā)環(huán)境
正如上面所講的,在進行單片機的軟件開發(fā)時,使用了上述的編譯器、連接編輯程序、調(diào)試器等各種工具。以前,這些軟件都是作為單個軟件分別提供的,一般是通過命令提示符調(diào)出各個程序、或是通過批處理程序調(diào)出使用。但是,最近開始以綜合開發(fā)環(huán)境的方式給予提供,綜合開發(fā)環(huán)境就是將各種程序綜合到一個程序包中,只需通過Renesas CS 等便可很容易地將程序調(diào)出使用。
例如,瑞薩針對RL78族產(chǎn)品提供了“簡單”“快速”“安心”的“CS ”的綜合開發(fā)環(huán)境。在綜合開發(fā)環(huán)境中,只需進行簡單操作便可利用各種功能,因此,綜合開發(fā)環(huán)境最適合用來提高軟件開發(fā)的效率。
在下期的“單片機入門(4)”中,將介紹通過單片機進行硬件控制的基礎(chǔ)知識。敬請期待。?
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 51單片機C語言編程入門學習資料
- 《51單片機C語言編程入門》(中科大編著) 0次下載
- 單片機C語言和匯編語言混合編程實例詳解 227次下載
- 51單片機開發(fā)板原理圖下載 21次下載
- PIC單片機的C語言編程電子版下載 0次下載
- 舉例:單片機編程的應(yīng)用資料下載
- 如何有效編程單片機有源蜂鳴器驅(qū)動資料下載
- PIC單片機編程注意事項及技巧資料下載
- 六個單片機C語言基礎(chǔ)編程源碼,了解一下,隨時用得上資料下載
- 搞單片機編程開發(fā),一定要會C嗎?資料下載
- 單片機C語言程序設(shè)計的詳細資料 75次下載
- AVR單片機編程軟件和資料合集免費下載 47次下載
- 單片機C語言的學習教程資料總結(jié)免費下載 16次下載
- 單片機C語言編程與實例 44次下載
- 單片機C語言編程應(yīng)注意的若干問題
- 什么是C語言?單片機有什么特點?為什么要用C語言編程? 1691次閱讀
- 單片機Keil開發(fā)環(huán)境的搭建 2197次閱讀
- 如何選擇單片機開發(fā)板 1.8w次閱讀
- 如何對IAR單片機編程軟件進行編譯優(yōu)化 9938次閱讀
- 單片機編程器是什么_單片機編程器應(yīng)用 1.6w次閱讀
- 關(guān)于單片機C語言編程的常見問題解答 2308次閱讀
- 單片機 | 基礎(chǔ)匯編語言編程實例 1w次閱讀
- 單片機程序的作用是什么?如何編寫?如何寫入單片機? 4.9w次閱讀
- 線編程技術(shù) STC單片機的下載線設(shè)計 4141次閱讀
- 單片機編程器作用及功能解析 1.4w次閱讀
- 單片機外圍功能電路控制的基礎(chǔ)知識 9916次閱讀
- 單片機的編程語言和開發(fā)環(huán)境 5570次閱讀
- pic單片機io口控制教程之c語言編程實現(xiàn) 1.2w次閱讀
- 單片機編程之匯編語言基礎(chǔ)-PIC單片機匯編指令 3092次閱讀
- 單片機編程之匯編語言基礎(chǔ)-常用指令和程序模式 1.5w次閱讀
下載排行
本周
- 1PC2596 40V 輸入 150KHz 3A 降壓型電源轉(zhuǎn)換器數(shù)據(jù)手冊
- 2.44 MB | 3次下載 | 免費
- 2臺式主板DDR5內(nèi)存插槽引腳功能表資料
- 0.17 MB | 2次下載 | 5 積分
- 3高壓LED線性驅(qū)動芯片NU517應(yīng)用規(guī)格書
- 0.61 MB | 2次下載 | 免費
- 4ZYNALOG徴格半導體|ZGAD125S14技術(shù)參數(shù)書
- 982.53 KB | 2次下載 | 免費
- 5SM9001電磁爐IGBT驅(qū)動芯片應(yīng)用原理圖資料
- 0.12 MB | 2次下載 | 1 積分
- 6BK4802P 玩具無線對講/遙控 IC數(shù)據(jù)手冊
- 1.81 MB | 1次下載 | 2 積分
- 7SE10F10B5.0UA 低電容ESD二極管
- 199.49 KB | 1次下載 | 免費
- 8電阻元件\電感元件\電容元件知識大全
- 4.67 MB | 1次下載 | 5 積分
本月
- 1常用電子元器件集錦
- 1.72 MB | 24495次下載 | 免費
- 2三相逆變主電路的原理圖和PCB資料合集免費下載
- 27.35 MB | 111次下載 | 1 積分
- 3蘋果iphone 11電路原理圖
- 4.98 MB | 17次下載 | 5 積分
- 4運算放大器基本電路中文資料
- 1.30 MB | 16次下載 | 免費
- 5常用電子元器件介紹
- 3.21 MB | 13次下載 | 免費
- 6PC2456高壓浪涌抑制器控制器數(shù)據(jù)手冊
- 3.03 MB | 13次下載 | 免費
- 7PC2464具理想二極管的浪涌抑制控制器數(shù)據(jù)手冊
- 4.42 MB | 8次下載 | 免費
- 8PC2466高電壓浪涌抑制器數(shù)據(jù)手冊
- 3.37 MB | 8次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935132次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191401次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183345次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81591次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73816次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65990次下載 | 10 積分
評論