版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第六講 ARM開發(fā)工具的使用 124第6講 目錄6.1開發(fā)工具的選擇開發(fā)工具的選擇6.2 ADS開發(fā)工具簡介開發(fā)工具簡介6.3 ADS的命令行工具的命令行工具6.4 ADS的集成開發(fā)環(huán)境的集成開發(fā)環(huán)境6.5 用用ADS開發(fā)應(yīng)用程序開發(fā)應(yīng)用程序6.1開發(fā)工具的選擇開發(fā)工具的選擇n開發(fā)過程集成開發(fā)環(huán)境集成開發(fā)環(huán)境n含有編輯軟件、編譯軟件、匯編軟件、鏈含有編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調(diào)試軟件、工程管理及函數(shù)庫的接軟件、調(diào)試軟件、工程管理及函數(shù)庫的集成開發(fā)環(huán)境(集成開發(fā)環(huán)境(IDE,類似,類似VC、Keil C51等)等) 調(diào)試方法調(diào)試方法 嵌入式調(diào)試系統(tǒng)應(yīng)含調(diào)試主機、仿真器和目嵌入式調(diào)試
2、系統(tǒng)應(yīng)含調(diào)試主機、仿真器和目標(biāo)板標(biāo)板3 3個部分。調(diào)試方法一般有如下個部分。調(diào)試方法一般有如下4 4種:種:n1 指令集模擬器(軟調(diào)試)指令集模擬器(軟調(diào)試)n2 駐留監(jiān)控軟件駐留監(jiān)控軟件n3 JTAG仿真器仿真器n4 在線仿真器(仿真頭)在線仿真器(仿真頭) 調(diào)試方法調(diào)試方法 n1 指令集模擬器(軟調(diào)試)指令集模擬器(軟調(diào)試) 指令集模擬器可方便用戶指令集模擬器可方便用戶在在PC機上機上完成一部分簡單的完成一部分簡單的軟件調(diào)試工作,它只是將源代碼在軟件調(diào)試工作,它只是將源代碼在PC機上的開發(fā)環(huán)境中機上的開發(fā)環(huán)境中模擬運行模擬運行,通過集成開發(fā)環(huán)境提供的寄存器查看、存儲器,通過集成開發(fā)環(huán)境提供
3、的寄存器查看、存儲器查看、斷點執(zhí)行、單步執(zhí)行等功能,能檢測用戶開發(fā)的軟查看、斷點執(zhí)行、單步執(zhí)行等功能,能檢測用戶開發(fā)的軟件在語法和功能上是否正確,它無法在電路板上運行。由件在語法和功能上是否正確,它無法在電路板上運行。由于指令集模擬器與真實的硬件環(huán)境相差很大,因此即使用于指令集模擬器與真實的硬件環(huán)境相差很大,因此即使用戶使用指令集模擬器調(diào)試通過的程序也有可能無法在真實戶使用指令集模擬器調(diào)試通過的程序也有可能無法在真實的硬件環(huán)境下運行,用戶最終必須在硬件平臺上完成整個的硬件環(huán)境下運行,用戶最終必須在硬件平臺上完成整個應(yīng)用的開發(fā)。應(yīng)用的開發(fā)。調(diào)試方法調(diào)試方法 n2 駐留監(jiān)控軟件(駐留監(jiān)控軟件(Re
4、sident Monitors:交互式硬:交互式硬件調(diào)試)件調(diào)試) 駐留監(jiān)控軟件是一段駐留監(jiān)控軟件是一段運行在目標(biāo)板運行在目標(biāo)板(用戶所開發(fā)的硬(用戶所開發(fā)的硬件電路板)上的程序,集成開發(fā)環(huán)境中的調(diào)試軟件通過以件電路板)上的程序,集成開發(fā)環(huán)境中的調(diào)試軟件通過以太網(wǎng)口、并行端口、串行端口等通訊端口與駐留監(jiān)控軟件太網(wǎng)口、并行端口、串行端口等通訊端口與駐留監(jiān)控軟件進(jìn)行交互,由調(diào)試軟件發(fā)布命令通知駐留監(jiān)控軟件控制程進(jìn)行交互,由調(diào)試軟件發(fā)布命令通知駐留監(jiān)控軟件控制程序的執(zhí)行、讀寫存儲器、讀寫寄存器、設(shè)置斷點等。駐留序的執(zhí)行、讀寫存儲器、讀寫寄存器、設(shè)置斷點等。駐留監(jiān)控軟件是一種比較低廉有效的調(diào)試方式,不
5、需要任何其監(jiān)控軟件是一種比較低廉有效的調(diào)試方式,不需要任何其他的硬件調(diào)試和仿真設(shè)備。他的硬件調(diào)試和仿真設(shè)備。ARM公司所提供的公司所提供的Angel調(diào)試調(diào)試軟件屬于該類工具。它占用目標(biāo)板上的一部分資源,而且軟件屬于該類工具。它占用目標(biāo)板上的一部分資源,而且不能對程序的全速運行進(jìn)行完全仿真,所以對一些要求嚴(yán)不能對程序的全速運行進(jìn)行完全仿真,所以對一些要求嚴(yán)格的情況不是很適合。格的情況不是很適合。調(diào)試方法調(diào)試方法 n3 JTAG仿真器仿真器 JTAG仿真器也稱為仿真器也稱為JTAG調(diào)試器,是通過調(diào)試器,是通過ARM芯片的芯片的JTAG邊界掃描口進(jìn)行調(diào)試的設(shè)備。邊界掃描口進(jìn)行調(diào)試的設(shè)備。JTAG仿真
6、器在價格上仿真器在價格上比較便宜,與比較便宜,與PC機相連接比較方便,通過現(xiàn)有的機相連接比較方便,通過現(xiàn)有的JTAG邊邊界掃描口與界掃描口與 ARM CPU 內(nèi)核通信,屬于完全非插入式內(nèi)核通信,屬于完全非插入式(即不使用片上資源)調(diào)試,它無需目標(biāo)板上存儲器資源,(即不使用片上資源)調(diào)試,它無需目標(biāo)板上存儲器資源,不占用目標(biāo)系統(tǒng)的任何端口。另外,不占用目標(biāo)系統(tǒng)的任何端口。另外,由于由于JTAG調(diào)試的目調(diào)試的目標(biāo)程序是在目標(biāo)板上執(zhí)行標(biāo)程序是在目標(biāo)板上執(zhí)行,仿真更接近于目標(biāo)硬件,因此,仿真更接近于目標(biāo)硬件,因此許多接口問題,如程序的實時性限制等被最小化了。許多接口問題,如程序的實時性限制等被最小化了
7、。使用使用集成開發(fā)環(huán)境配合集成開發(fā)環(huán)境配合JTAG仿真器進(jìn)行開發(fā)是目前采用最多仿真器進(jìn)行開發(fā)是目前采用最多的一種調(diào)試方式的一種調(diào)試方式。用戶所購買的嵌入式系統(tǒng)開發(fā)套件一般。用戶所購買的嵌入式系統(tǒng)開發(fā)套件一般都附帶有都附帶有JTAG仿真器。仿真器?;贘TAG的調(diào)試方法簡易JTAG接口調(diào)試方法調(diào)試方法 n4 在線仿真器在線仿真器 在線仿真器使用在線仿真器使用仿真頭完全取代目標(biāo)板上的仿真頭完全取代目標(biāo)板上的CPU,可以完全仿真,可以完全仿真ARM芯片的功能,提供更加芯片的功能,提供更加深入的調(diào)試功能。但這類仿真器為了能夠全速仿深入的調(diào)試功能。但這類仿真器為了能夠全速仿真時鐘速度高于真時鐘速度高于1
8、00MHz的處理器,通常必須采的處理器,通常必須采用極其復(fù)雜的設(shè)計和工藝,因而其價格比較昂貴。用極其復(fù)雜的設(shè)計和工藝,因而其價格比較昂貴。在線仿真器通常用在在線仿真器通常用在ARM的硬件開發(fā)中,的硬件開發(fā)中,在軟件在軟件的開發(fā)中較少使用的開發(fā)中較少使用,其,其價格高昂價格高昂也是在線仿真器也是在線仿真器難以普及的因素。難以普及的因素。 集成開發(fā)工具簡介集成開發(fā)工具簡介n1 SDT SDT的英文全稱是的英文全稱是Software Development Kit ,是是ARM公司為方便用戶在公司為方便用戶在ARM芯片上進(jìn)行應(yīng)用軟芯片上進(jìn)行應(yīng)用軟件開發(fā)而推出的一整套集成開發(fā)工具。件開發(fā)而推出的一整套
9、集成開發(fā)工具。SDT經(jīng)過經(jīng)過ARM公司逐年的維護(hù)和更新,目前的最新版本是公司逐年的維護(hù)和更新,目前的最新版本是6.5.2,但從版本,但從版本6.5.1開始,開始,ARM公司宣布推出公司宣布推出一套新的集成開發(fā)工具一套新的集成開發(fā)工具ARM ADS取而代之取而代之,今,今后將不會再看到后將不會再看到ARM SDT的新版本。的新版本。 集成開發(fā)工具簡介集成開發(fā)工具簡介n2 ADSn ADS的英文全稱為的英文全稱為 ARM Developer Suite,是,是ARM公司推出的新一代公司推出的新一代ARM集成開發(fā)工具,用來取代集成開發(fā)工具,用來取代ARM公公司以前推出的開發(fā)工具司以前推出的開發(fā)工具S
10、DT,目前,目前ARM ADS的最新版本的最新版本為為1.2。ADS起源于起源于ARM SDT,對一些,對一些SDT的模塊進(jìn)行了的模塊進(jìn)行了增強并替換了一些增強并替換了一些SDT的組成部分,用戶可以感受到的最的組成部分,用戶可以感受到的最強烈的變化是強烈的變化是ADS使用使用CodeWarrior IDE集成開發(fā)環(huán)境替集成開發(fā)環(huán)境替代了代了SDT的的APM,使用,使用AXD替換了替換了ADW,現(xiàn)代集成開發(fā),現(xiàn)代集成開發(fā)環(huán)境的一些基本特性如源文件編輯器語法高亮度顯示,窗環(huán)境的一些基本特性如源文件編輯器語法高亮度顯示,窗口駐留程序執(zhí)行等功能在口駐留程序執(zhí)行等功能在ADS中得以體現(xiàn)。中得以體現(xiàn)。n
11、ADS支持所有支持所有ARM系列處理器包括系列處理器包括ARM9E和和ARM11等,除了等,除了SDT支持的運行操作系統(tǒng)外,還可以在支持的運行操作系統(tǒng)外,還可以在Windows以及以及RedHat Linux上運行。上運行。集成開發(fā)工具簡介集成開發(fā)工具簡介n3 Multi 2000 Multi 2000是美國是美國Green Hills軟件公司開發(fā)的集成開發(fā)軟件公司開發(fā)的集成開發(fā)環(huán)境,支持環(huán)境,支持C/C+/Embedded C+/Ada 95/Fortran編程編程語言的開發(fā)和調(diào)試,可運行于語言的開發(fā)和調(diào)試,可運行于Windows平臺和平臺和Unix平臺,平臺,并支持各類設(shè)備的遠(yuǎn)程調(diào)試。并支
12、持各類設(shè)備的遠(yuǎn)程調(diào)試。Multi 2000支持支持Green Hills公司的各類編譯器以及其它遵循公司的各類編譯器以及其它遵循EABI標(biāo)準(zhǔn)的編譯器,同標(biāo)準(zhǔn)的編譯器,同時時Multi 2000支持眾多流行的支持眾多流行的16位、位、32位和位和64位處理器和位處理器和DSP,如,如PowerPC、ARM、MIPS、x86、Sparc、TriCore、SH-DSP等等,并支持多處理器調(diào)試。,并支持多處理器調(diào)試。Multi 2000包含完成一個軟件工程所需要的所有工具,這些工具可以包含完成一個軟件工程所需要的所有工具,這些工具可以單獨使用,也可集成第三方系統(tǒng)工具。單獨使用,也可集成第三方系統(tǒng)工具。
13、 集成開發(fā)工具簡介集成開發(fā)工具簡介n4 Embest IDE Embest IDE英文全稱是英文全稱是Embest Integrated Development Environment,是,是深圳市英蓓特信息技術(shù)深圳市英蓓特信息技術(shù)有限公司有限公司推出的一套應(yīng)用于嵌入式軟件開發(fā)的新一代集成推出的一套應(yīng)用于嵌入式軟件開發(fā)的新一代集成開發(fā)環(huán)境。開發(fā)環(huán)境。Embest IDE是一個高度集成的圖形界面操作是一個高度集成的圖形界面操作環(huán)境,包含編輯器、編譯器、匯編器、鏈接器、調(diào)試器等環(huán)境,包含編輯器、編譯器、匯編器、鏈接器、調(diào)試器等工具,其界面同工具,其界面同Microsoft Visual Studi
14、o類似。類似。Embest IDE支持支持ARM、Motorola等等多家公司不同系列的處理器,多家公司不同系列的處理器,對于對于ARM系列處理器,目前支持到系列處理器,目前支持到ARM9系列,包括系列,包括ARM7、ARM5等低系列芯片。等低系列芯片。 Embest IDE運行的主機運行的主機環(huán)境為環(huán)境為Windows95/98/NT/Me/2000,支持的開發(fā)語言包,支持的開發(fā)語言包括標(biāo)準(zhǔn)括標(biāo)準(zhǔn)C、Embedded C和匯編語言。和匯編語言。Embest IDE包括包括編輯器、編譯器、連接器、調(diào)試器、工程管理器等功能模編輯器、編譯器、連接器、調(diào)試器、工程管理器等功能模塊,用戶同時可選配塊,
15、用戶同時可選配Embest JTAG仿真器。仿真器。 集成開發(fā)工具簡介集成開發(fā)工具簡介n5 Hitool for ARM Hitool是一種較新的是一種較新的arm嵌入式應(yīng)用軟件開發(fā)系統(tǒng),主嵌入式應(yīng)用軟件開發(fā)系統(tǒng),主要包括要包括hitool/ ARM Debugger、GNU Compiler(內(nèi)(內(nèi)建)、建)、JTAG cable、評估板以及嵌入式實時操作系統(tǒng)、評估板以及嵌入式實時操作系統(tǒng)ThreadX等模塊。其中編譯器模塊可以替換成等模塊。其中編譯器模塊可以替換成ARM ADS Compiler或或ARM SDT Compiler。 集成開發(fā)工具簡介集成開發(fā)工具簡介n6 JEENI仿真器仿
16、真器 JEENI仿真器是美國仿真器是美國EPI公司生產(chǎn)的公司生產(chǎn)的專門用于調(diào)試專門用于調(diào)試ARM7系列的開發(fā)工具。它與系列的開發(fā)工具。它與PC之間通過以太網(wǎng)口或串口連接,之間通過以太網(wǎng)口或串口連接,與與ARM7目標(biāo)板之間通過目標(biāo)板之間通過JTAG口連接。該仿真器使用獨口連接。該仿真器使用獨立電源。立電源。JEENI仿真器支持仿真器支持ARM/THUMB指令,支持匯編指令,支持匯編/高級語言調(diào)試。高級語言調(diào)試。 集成開發(fā)工具簡介集成開發(fā)工具簡介n7 Multi-ICE Multi-ICE是是ARM公司自己的公司自己的JTAG在線仿真器,目前在線仿真器,目前的最新版本是的最新版本是6.1版。版。M
17、ulti-ICE的的JTAG鏈時鐘可以設(shè)置鏈時鐘可以設(shè)置為為5 kHz到到10 MHz,實現(xiàn),實現(xiàn)JTAG操作的一些簡單邏輯由操作的一些簡單邏輯由FPGA實現(xiàn),使得并行口的通信量最小,以提高系統(tǒng)的性實現(xiàn),使得并行口的通信量最小,以提高系統(tǒng)的性能。能。Multi-ICE硬件支持低至硬件支持低至1V的電壓。的電壓。Multi-ICE 6.1還還可以外部供電,不需要消耗目標(biāo)系統(tǒng)的電源,這對調(diào)試類可以外部供電,不需要消耗目標(biāo)系統(tǒng)的電源,這對調(diào)試類似手機等便攜式、電池供電設(shè)備是很重要的。似手機等便攜式、電池供電設(shè)備是很重要的。Multi-ICE 6.x支持該公司的實時調(diào)試工具支持該公司的實時調(diào)試工具M(jìn)u
18、ltiTrace,MultiTrace包含一個處理器,因此可以跟蹤觸發(fā)點前后的軌跡,并且包含一個處理器,因此可以跟蹤觸發(fā)點前后的軌跡,并且可以在不終止后臺任務(wù)的同時對前臺任務(wù)進(jìn)行調(diào)試,在微可以在不終止后臺任務(wù)的同時對前臺任務(wù)進(jìn)行調(diào)試,在微處理器運行時改變存儲器的內(nèi)容,所有這些特性使延時降處理器運行時改變存儲器的內(nèi)容,所有這些特性使延時降到最低。到最低。 Multi-ICE 6.x支持支持ARM7、ARM9、ARM9E、ARM 10和和Intel Xscale微結(jié)構(gòu)系列。微結(jié)構(gòu)系列。 第6講 目錄6.1開發(fā)工具的選擇開發(fā)工具的選擇6.2 ADS開發(fā)工具簡介開發(fā)工具簡介6.3 ADS的命令行工具的
19、命令行工具6.4 ADS的集成開發(fā)環(huán)境的集成開發(fā)環(huán)境6.5 用用ADS開發(fā)應(yīng)用程序開發(fā)應(yīng)用程序6.2 ADS開發(fā)工具簡介開發(fā)工具簡介n ARM ADS的英文全稱為 ARM Developer Suite,是ARM公司推出的新一代ARM集成開發(fā)工具,用來取代ARM公司以前推出的開發(fā)工具ARM SDT,目前ARM ADS的最新版本為1.2,它取代了早期的ADS1.1和ADS1.0。ADS1.2除了可以安裝在Windows NT4,Windows 2000,Windows 98和Windows 95操作系統(tǒng)下,還支持Windows XP和Windows Me操作系統(tǒng)。6.2 ADS開發(fā)工具簡介開發(fā)工
20、具簡介名稱名稱描述描述功能功能代碼生成工具代碼生成工具ARM 匯編器,匯編器,ARM 的的C、C+編譯器,編譯器,Thumb 的的C、C+編譯器,編譯器,ARM 連接器連接器由由CodeWarrior IDE 調(diào)用把調(diào)用把C語言語言或匯編語言編寫的源代碼編譯成目或匯編語言編寫的源代碼編譯成目標(biāo)文件、然后鏈接成一個可執(zhí)行的標(biāo)文件、然后鏈接成一個可執(zhí)行的(或可調(diào)試運行的)文件(或可調(diào)試運行的)文件集成開發(fā)環(huán)境集成開發(fā)環(huán)境CodeWarrior IDE 工程管理工程管理源代碼編輯(輸入、修改)、編譯、源代碼編輯(輸入、修改)、編譯、鏈接鏈接指令模擬器指令模擬器ARMulator由由AXD 調(diào)用,對源
21、代碼進(jìn)行純軟件調(diào)用,對源代碼進(jìn)行純軟件的調(diào)試(語法和非實時功能上)的調(diào)試(語法和非實時功能上)調(diào)試器調(diào)試器由由AXD、ADW/ADU和和armsd等組成等組成由由CodeWarriorIDE調(diào)用,進(jìn)行在線調(diào)用,進(jìn)行在線硬件、軟件的仿真調(diào)試硬件、軟件的仿真調(diào)試ARM 開發(fā)包開發(fā)包一些底層的例程和實用程序一些底層的例程和實用程序(如(如fromELF)由由CodeWarriorIDE 調(diào)用,用戶可調(diào)用,用戶可參考這些例子和源代碼,以方便在參考這些例子和源代碼,以方便在此基礎(chǔ)上進(jìn)行開發(fā)此基礎(chǔ)上進(jìn)行開發(fā)ARM 應(yīng)用庫應(yīng)用庫C、C+函數(shù)庫以及一些頭文函數(shù)庫以及一些頭文件等件等在用戶的程序中使用在用戶的程
22、序中使用6.2 ADS開發(fā)工具簡介開發(fā)工具簡介第6講 目錄6.1開發(fā)工具的選擇開發(fā)工具的選擇6.2 ADS開發(fā)工具簡介開發(fā)工具簡介6.3 ADS的命令行工具的命令行工具6.4 ADS的集成開發(fā)環(huán)境的集成開發(fā)環(huán)境6.5 用用ADS開發(fā)應(yīng)用程序開發(fā)應(yīng)用程序6.3 命令行工具介紹命令行工具介紹 所謂命令行工具,就是所謂命令行工具,就是ADS提供的提供的DOS操作系統(tǒng)下運行操作系統(tǒng)下運行的軟件,的軟件,ADS集成開發(fā)環(huán)境中所有的匯編、編譯、鏈接以及集成開發(fā)環(huán)境中所有的匯編、編譯、鏈接以及調(diào)試等功能,都可以通過這些命令行工具在調(diào)試等功能,都可以通過這些命令行工具在DOS環(huán)境下實現(xiàn),環(huán)境下實現(xiàn),而不必在而
23、不必在ADS集成開發(fā)環(huán)境中的菜單、工具欄、對話框等方集成開發(fā)環(huán)境中的菜單、工具欄、對話框等方式下實現(xiàn)。式下實現(xiàn)。 ADS12提供了提供了armcc、armcpp、tcc、tcpp、armasm、armlink和和armsd等命令行開發(fā)工具,在安裝完成后,這些命等命令行開發(fā)工具,在安裝完成后,這些命令行工具位于安裝文件夾的令行工具位于安裝文件夾的Bin子目錄下。子目錄下。 6.3 命令行工具介紹命令行工具介紹第6講 目錄6.1開發(fā)工具的選擇開發(fā)工具的選擇6.2 ADS開發(fā)工具簡介開發(fā)工具簡介6.3 ADS的命令行工具的命令行工具6.4 ADS的集成開發(fā)環(huán)境的集成開發(fā)環(huán)境6.5 用用ADS開發(fā)應(yīng)用
24、程序開發(fā)應(yīng)用程序6.4.1 新建一個工程新建一個工程 ARM Executable Image:用于由ARM 指令的代碼生成一個ELF 格式的可執(zhí)行映象文件 項目項目Led.mcp中,在中,在Initial文件夾下是一些文件夾下是一些44B0的初始化文件,其中的初始化文件,其中44binit.s是一個是一個ARM7類型的匯編語言源代碼文件,在這里程序?qū)ν鈬M(jìn)行初類型的匯編語言源代碼文件,在這里程序?qū)ν鈬M(jìn)行初始化,定義了始化,定義了44B0芯片的一部分寄存器地址、芯片的一部分寄存器地址、44B0的工作模式、內(nèi)存配置、的工作模式、內(nèi)存配置、初始化各種異常向量(包括了初始化各種異常向量(包括了IR
25、Q和和FIQ中斷向量)和堆棧以及一些中斷向量)和堆棧以及一些C語言的語言的變量,并提供系統(tǒng)上電、復(fù)位及異常處理的入口點。變量,并提供系統(tǒng)上電、復(fù)位及異常處理的入口點。44B0芯片可外接芯片可外接8個個Bank的存儲器(的存儲器(ROM和和RAM),),Memcfg.s源代碼文件對外部存儲空間進(jìn)行源代碼文件對外部存儲空間進(jìn)行配置。配置。OPTION.S 匯編語言源代碼文件對定義了一些宏,包括匯編語言源代碼文件對定義了一些宏,包括RAM的起始地的起始地址,中斷入口表地址、址,中斷入口表地址、RAM類型、系統(tǒng)主頻、類型、系統(tǒng)主頻、PLL控制字等。控制字等。44BLIB_A.S匯匯編語言源代碼文件中定
26、義了一個編語言源代碼文件中定義了一個ChangeMemCon函數(shù)(雖然沒有使用)。函數(shù)(雖然沒有使用)。44blib.c是一個是一個C語言源代碼文件,里面定義了其他各個文件所要調(diào)用的函數(shù),語言源代碼文件,里面定義了其他各個文件所要調(diào)用的函數(shù),如延時、如延時、I/O初始化、串口初始化、輸入輸出、初始化、串口初始化、輸入輸出、PLL設(shè)置、波特率設(shè)置等的函設(shè)置、波特率設(shè)置等的函數(shù),該文件由用戶自行編寫。數(shù),該文件由用戶自行編寫。Bspinit.c是用戶自己編寫的一個是用戶自己編寫的一個C語言文件,里語言文件,里面用面用Bsp_Init函數(shù)封裝了項目所有初始化需要調(diào)用的函數(shù),這樣在函數(shù)封裝了項目所有初
27、始化需要調(diào)用的函數(shù),這樣在Main函數(shù)函數(shù)中只需要調(diào)用中只需要調(diào)用Bsp_Init函數(shù)即進(jìn)行了所有的初始化。一些頭文件,如函數(shù)即進(jìn)行了所有的初始化。一些頭文件,如44B.H文文件中定義了件中定義了44B0芯片的寄存器地址宏定義,芯片的寄存器地址宏定義,OPTION.h文件中定義了文件中定義了C程序使程序使用的一些反映系統(tǒng)工作方式的基本宏定義,用的一些反映系統(tǒng)工作方式的基本宏定義,Def.h文件中定義了一些數(shù)據(jù)類型文件中定義了一些數(shù)據(jù)類型的縮寫。在進(jìn)行的縮寫。在進(jìn)行44B0的項目的時候,最重要的是包含的項目的時候,最重要的是包含44binit.S與與44blib_a.S這兩個文件,如果需要串口輸
28、出等輔助功能,就包含進(jìn)這兩個文件,如果需要串口輸出等輔助功能,就包含進(jìn)44blib.c文件,然后再文件,然后再加入自己的文件。加入自己的文件。44binit.S、44blib_a.S這些啟動文件都由三星公司提供,這些啟動文件都由三星公司提供,建議用戶不要進(jìn)行修改。建議用戶不要進(jìn)行修改。 另外,在另外,在Initial文件夾下存在的一些頭文件如文件夾下存在的一些頭文件如44b.h、44blib.h、def.h和和option.h等,等,對基于對基于S3C44B0微處理器微處理器的嵌入式系統(tǒng)而言,這些頭文件都基本是一樣的,用戶可的嵌入式系統(tǒng)而言,這些頭文件都基本是一樣的,用戶可以直接從別的項目拷貝
29、過來使用。以直接從別的項目拷貝過來使用。 查看函數(shù)查看函數(shù)Bsp_Init()里面的代碼()里面的代碼 6.4.2 工程設(shè)置工程設(shè)置在在Post-linker子項中選擇子項中選擇ARM fromELF,使得工程在鏈接后可以直接調(diào)用,使得工程在鏈接后可以直接調(diào)用fromELF產(chǎn)產(chǎn)生以生以.bin結(jié)尾的可執(zhí)行的二進(jìn)制代碼文件(結(jié)尾的可執(zhí)行的二進(jìn)制代碼文件(這步非常重要這步非常重要) Language Settings 里選擇對應(yīng)處理器內(nèi)核型號。默認(rèn)是里選擇對應(yīng)處理器內(nèi)核型號。默認(rèn)是ARM7內(nèi)核。內(nèi)核。內(nèi)存起始地址注意在調(diào)試時,注意在調(diào)試時,RO-Base的設(shè)置應(yīng)當(dāng)大于的設(shè)置應(yīng)當(dāng)大于0 xc0000
30、00Object/symbol項中,填入項中,填入44binit.o(44binit.s匯編語言源代碼文件編譯后的目標(biāo)匯編語言源代碼文件編譯后的目標(biāo)文件),文件),在在Section項中填入項中填入Init,表示當(dāng)程序開始執(zhí)行時,從,表示當(dāng)程序開始執(zhí)行時,從44binit文件的文件的Init段段開始執(zhí)行開始執(zhí)行 6.4.3 工程編譯工程編譯6.4.4 工程調(diào)試工程調(diào)試1 純軟件調(diào)試純軟件調(diào)試 2 帶目標(biāo)板調(diào)試帶目標(biāo)板調(diào)試 系統(tǒng)上電后系統(tǒng)上電后BootLoader開始運行,通過開始運行,通過PC上的串口超級終端可以看到:上的串口超級終端可以看到:在提示符下輸入在提示符下輸入help,可以顯示,可
31、以顯示BootLoader所支持的命令所支持的命令將項目工程編譯(將項目工程編譯(MAKE)后,按照如下的步驟將產(chǎn)生的以)后,按照如下的步驟將產(chǎn)生的以.bin結(jié)尾的目標(biāo)文件結(jié)尾的目標(biāo)文件通過串口傳輸?shù)侥繕?biāo)板:通過串口傳輸?shù)侥繕?biāo)板:(1)在提示符下輸入loadb 0 x0C000000,顯示Ready for binary (kermit) download to 0 x0C000000 at 115200 bps.即為準(zhǔn)備好通過串口下載程序(2)點擊超級終端的菜單“傳送傳送-發(fā)送文件發(fā)送文件”,選擇前面編寫并編譯生成的二進(jìn)制文件,同時協(xié)議選擇Kermit點擊發(fā)送發(fā)送完成后超級終端會顯示發(fā)送完成后超級終端會顯示# Total Size = 0 x0000686c = 6732 Bytes# Total Size = 0 x0000686c = 6732 Bytes# Start Addr = 0 x0C000000# Start Addr = 0 x0C000000此即為完成
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《模具制造工藝學(xué)》教學(xué)大綱
- 教案裝訂順序
- 四個自信課件
- 玉溪師范學(xué)院《現(xiàn)代教育技術(shù)》2022-2023學(xué)年第一學(xué)期期末試卷
- 玉溪師范學(xué)院《田徑》2021-2022學(xué)年第一學(xué)期期末試卷
- 教練員繼續(xù)教育考試題目及答案-知識題庫
- 湖南師大附中2024-25屆高三年級月考試卷(二)(英語)
- 電商公司整體薪酬設(shè)計(早期)
- 《信號基礎(chǔ)設(shè)備》全套教學(xué)課件
- 2023年雙頻、雙模移動通信手機項目綜合評估報告
- 《老年人生活照護(hù)》試卷A卷及答案
- 消防安全知識培訓(xùn)課件
- 高中歷史選擇性必修2知識點總結(jié)歸納
- 16J914-1 公用建筑衛(wèi)生間
- 物聯(lián)網(wǎng)應(yīng)用技術(shù)職業(yè)生涯規(guī)劃
- 2024年廣東恒健投資控股有限公司招聘筆試參考題庫含答案解析
- 新訓(xùn)工作總結(jié)(共5篇)
- 五年級下冊牛津英語期中試卷【精】
- 《垃圾分類》ppt課件
- (最新整理)案件(線索)移送登記表
- (完整版)U型板樁專項施工方案
評論
0/150
提交評論