




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第第4章章 嵌入式系統移植嵌入式系統移植2主要內容v嵌入式系統開發模式嵌入式系統開發模式v開發板硬件介紹開發板硬件介紹v嵌入式系統開發工具嵌入式系統開發工具Winscp安裝安裝GNU交叉工具鏈安裝交叉工具鏈安裝Minicom超級終端安裝超級終端安裝 Dnw調試終端配置調試終端配置NFS開發版燒制準備開發版燒制準備v開發版燒制開發版燒制Bootloader燒制燒制內核鏡像文件燒制內核鏡像文件燒制文件系統燒制文件系統燒制v應用程序移植應用程序移植3開發模式一般有以下幾種:開發模式一般有以下幾種:v本機開發本機開發v交叉開發交叉開發v模擬開發模擬開發嵌入式系統開發模式嵌入式系統開發模式4v本機開發
2、本機開發:本機開發也就是在本機開發也就是在目標機目標機(在嵌入式系統中通常把(在嵌入式系統中通常把嵌入式系統嵌入式系統或設備或設備簡稱為目標機)簡稱為目標機)中直接進行中直接進行操作系統移植及應用程序的操作系統移植及應用程序的開發開發。在這種方式下進行開發,首先就得在在這種方式下進行開發,首先就得在目標機中安裝操作系統目標機中安裝操作系統,并且具有并且具有良好的人機開發界面良好的人機開發界面。嵌入式系統開發模式嵌入式系統開發模式5v交叉開發交叉開發:就是在一臺就是在一臺主機主機(在嵌入式系統中通常把(在嵌入式系統中通常把通用通用PC稱為主機)稱為主機)上上進行操作系統的裁剪進行操作系統的裁剪,
3、以及,以及編寫應用程序編寫應用程序,在主機上應用,在主機上應用交交叉編譯環境編譯內核及應用程序叉編譯環境編譯內核及應用程序,然后把,然后把目標代碼下載到目標代碼下載到目標目標機上運行機上運行。這就這就需要需要在主機上安裝、配置交叉編譯環境在主機上安裝、配置交叉編譯環境(交叉開發工具(交叉開發工具鏈),使其能夠編譯成在目標機上運行的目標代碼。鏈),使其能夠編譯成在目標機上運行的目標代碼。嵌入式系統開發模式嵌入式系統開發模式6v模擬開發模擬開發:建立在建立在交叉開發環境基礎之上交叉開發環境基礎之上。除了除了主機和目標機主機和目標機以外,還得以外,還得提供提供一個在一個在主機上模擬目標機的環主機上模
4、擬目標機的環境境,使得,使得開發好的內核和程序開發好的內核和程序直接在這個直接在這個環境下運行環境下運行以驗證其正以驗證其正確性,這就確性,這就不需要不需要每次每次的的修改修改都都下載到目標機下載到目標機中,待程序中,待程序正確后正確后再下載再下載到目標機上運行。這樣就可以到目標機上運行。這樣就可以達到在沒有目標機的情況下達到在沒有目標機的情況下調試軟件調試軟件的目的。的目的。比較著名的模擬開發環境有比較著名的模擬開發環境有SkyEye,它能夠模擬如,它能夠模擬如ARM等處理等處理器的開發環境。器的開發環境。模擬硬件環境是一件比較復雜的工程,所以模擬硬件環境是一件比較復雜的工程,所以多數商業嵌
5、入式系統多數商業嵌入式系統的開發的開發采用采用的是的是交叉開發模式交叉開發模式。嵌入式系統開發模式嵌入式系統開發模式7嵌入式系統開發模式嵌入式系統開發模式v嵌入式系統開發流程嵌入式系統開發流程交叉編譯開發環境交叉編譯開發環境在交叉編譯環境下構造嵌入式在交叉編譯環境下構造嵌入式Linux系統系統內核引導程序內核引導程序Bootloader移植移植內核移植內核移植根文件系統移植根文件系統移植應用程序移植應用程序移植測試測試8嵌入式系統開發模式嵌入式系統開發模式vPC機軟件開發過程從編寫程序、編譯和運行等過程都在同機軟件開發過程從編寫程序、編譯和運行等過程都在同一一PC機平臺上完成;機平臺上完成;v
6、嵌入式開發編寫和編譯在嵌入式開發編寫和編譯在PC機機(Host)上,但編譯產生的結上,但編譯產生的結果要在嵌入式目標平臺果要在嵌入式目標平臺(Targe)上運行。上運行。v這種在這種在主機上開發主機上開發在在目標平臺上調試運行目標平臺上調試運行的模式稱為的模式稱為交叉交叉開發(交叉編譯)開發(交叉編譯)。9嵌入式系統開發模式嵌入式系統開發模式v宿主機(宿主機(host) :編輯和編譯程序的平臺,一般是基于:編輯和編譯程序的平臺,一般是基于X86的的PC機機,通常也被稱為,通常也被稱為主機主機。 v目標機(目標機(target):通常把:通常把嵌入式系統或設備嵌入式系統或設備簡稱為目標機簡稱為目
7、標機 vhost編譯得到的可執行代碼在編譯得到的可執行代碼在targer上運行。上運行。 10嵌入式系統開發模式嵌入式系統開發模式v交叉編譯交叉編譯簡單地說,簡單地說,就是在一個平臺就是在一個平臺A上上生成生成另一個平臺另一個平臺B上的上的可執可執行代碼行代碼。A通常被稱為通常被稱為 host (宿主機)。(宿主機)。B通常稱為通常稱為target(目標機)。(目標機)。11嵌入式系統開發模式嵌入式系統開發模式v平臺,實際上包含兩個概念:體系結構、操作系統。平臺,實際上包含兩個概念:體系結構、操作系統。v同一個體系結構可以運行不同的操作系統;同一個體系結構可以運行不同的操作系統;v同樣,同一個
8、操作系統也可以在不同的體系結構上運行。同樣,同一個操作系統也可以在不同的體系結構上運行。12v為什么需要交叉編譯?為什么需要交叉編譯?嵌入式系統開發模式嵌入式系統開發模式13嵌入式系統開發模式嵌入式系統開發模式v常用的計算機軟件,都需要通過編譯的方式,把使用高級計算常用的計算機軟件,都需要通過編譯的方式,把使用高級計算機語言編寫的代碼編譯成計算機可以識別和執行的二進制代碼。機語言編寫的代碼編譯成計算機可以識別和執行的二進制代碼。v如在如在Windows平臺上,可使用平臺上,可使用Visual C+、eclipse等開發環等開發環境,編寫程序并編譯成可執行程序。境,編寫程序并編譯成可執行程序。1
9、4嵌入式系統開發模式嵌入式系統開發模式v在進行嵌入式系統的開發時,運行程序的目標平臺通常具有在進行嵌入式系統的開發時,運行程序的目標平臺通常具有有限有限的存儲空間和運算能力的存儲空間和運算能力,比如常見的,比如常見的 ARM 平臺,其一般的靜態平臺,其一般的靜態存儲空間大概是存儲空間大概是16到到32MB,而,而CPU的主頻大概在的主頻大概在100MHz到到500MHz之間。之間。v這種情況下,在這種情況下,在ARM平臺上進行本機編譯就不太可能了,這是因平臺上進行本機編譯就不太可能了,這是因為為一般的編譯工具鏈需要一般的編譯工具鏈需要很大的很大的存儲空間存儲空間,并需要,并需要很強的很強的CP
10、U運運算能力算能力。v通過交叉編譯,就可以在通過交叉編譯,就可以在CPU能力很強、存儲空間足夠的主機平能力很強、存儲空間足夠的主機平臺上(比如臺上(比如PC上)編譯出針對其他平臺的可執行程序。上)編譯出針對其他平臺的可執行程序。 15v需要交叉編譯的原因:需要交叉編譯的原因:因為目標機資源有限,無法運行編譯和調試工具,因此需要宿因為目標機資源有限,無法運行編譯和調試工具,因此需要宿主機為之代勞。主機為之代勞。另外,在項目的起始階段,目標平臺尚未建立,因此需要做交另外,在項目的起始階段,目標平臺尚未建立,因此需要做交叉編譯,以生成我們所需要的叉編譯,以生成我們所需要的bootloader(啟動引
11、導代碼)(啟動引導代碼)以及操作系統核心;以及操作系統核心;當目標平臺能啟動之后,由于目標平臺上資源的限制,當我們當目標平臺能啟動之后,由于目標平臺上資源的限制,當我們編譯大型程序時,依然可能需要用到交叉編譯。編譯大型程序時,依然可能需要用到交叉編譯。 16嵌入式系統開發模式嵌入式系統開發模式v對于交叉編譯器,可以自己生成,也可以從網上下載。對于交叉編譯器,可以自己生成,也可以從網上下載。v區別在于從網上下載非常簡單方便,但也許你找不到適合你所選區別在于從網上下載非常簡單方便,但也許你找不到適合你所選擇的平臺的。而自己生成交叉編譯器,會遇到很多挫折。擇的平臺的。而自己生成交叉編譯器,會遇到很多
12、挫折。17v交叉編譯環境構造好后,在此環境下構造嵌入式交叉編譯環境構造好后,在此環境下構造嵌入式Linux系統。系統。v一個一個嵌入式嵌入式Linux系統系統從從軟件的角度軟件的角度看通??梢苑譃樗膫€層次:看通常可以分為四個層次: 1)引導加載程序引導加載程序。包括固化在固件中的。包括固化在固件中的boot代碼代碼(可選可選),和,和BootLoader兩大部分。兩大部分。 2) Linux內核內核。特定于嵌入式板子的定制內核以及內核的啟動。特定于嵌入式板子的定制內核以及內核的啟動參數。參數。 3)文件系統文件系統。包括。包括根文件系統根文件系統和建立于和建立于Flash內存設備之上文件內存設
13、備之上文件系統系統。通常用。通常用ramdisk來作為來作為rootfs。 4)用戶應用程序用戶應用程序。特定于用戶特定于用戶的的應用程序應用程序。有時在用戶應用程。有時在用戶應用程序和內核層之間可能還會包括一個序和內核層之間可能還會包括一個嵌入式圖形用戶界面嵌入式圖形用戶界面。v常用的嵌入式常用的嵌入式GUI有:有:MicroWindows和和MiniGUI等。等。18Flash內存內存:-補充補充v即即Flash Memory,全名叫,全名叫Flash EEPROM Memory,又名,又名閃存閃存,是一種長壽命的非易失性(在斷電情況下仍能保持所存儲的數據是一種長壽命的非易失性(在斷電情況
14、下仍能保持所存儲的數據信息)的存儲器,數據刪除不是以單個的字節為單位而是以固定信息)的存儲器,數據刪除不是以單個的字節為單位而是以固定的區塊為單位,區塊大小一般為的區塊為單位,區塊大小一般為256KB到到20MB。v閃存是電子可擦除只讀存儲器(閃存是電子可擦除只讀存儲器(EEPROM)的變種,)的變種,EEPROM與閃存不同的是與閃存不同的是,它能在,它能在字節水平字節水平上進行上進行刪除和重寫刪除和重寫而不是按區而不是按區塊擦寫塊擦寫,這樣閃存就比,這樣閃存就比EEPROM的更新速度快,所以被稱為的更新速度快,所以被稱為Flash erase EEPROM,或簡稱為,或簡稱為Flash Me
15、mory。19Flash內存內存:-補充補充v由于其斷電時仍能保存數據,閃存通常被用來保存設置信息,如由于其斷電時仍能保存數據,閃存通常被用來保存設置信息,如在電腦的在電腦的BIOS(基本輸入輸出程序)、(基本輸入輸出程序)、PDA(個人數字助理)、(個人數字助理)、數碼相機中保存資料等。數碼相機中保存資料等。v另一方面,閃存不像另一方面,閃存不像RAM(隨機存取存儲器)一樣以字節為單位(隨機存取存儲器)一樣以字節為單位改寫數據,因此不能取代改寫數據,因此不能取代RAM。 20v閃存卡閃存卡(Flash Card)是利用是利用閃存(閃存(Flash Memory)技術)技術達達到到存儲電子信息
16、的存儲器存儲電子信息的存儲器,一般應用在數碼相機,掌上電腦,一般應用在數碼相機,掌上電腦,MP3等小型數碼產品中作為存儲介質,所以樣子小巧,有如一等小型數碼產品中作為存儲介質,所以樣子小巧,有如一張卡片,所以稱之為閃存卡。張卡片,所以稱之為閃存卡。21v根據不同的生產廠商和不同的應用,閃存卡大概有根據不同的生產廠商和不同的應用,閃存卡大概有SmartMedia(SM卡)、卡)、Compact Flash(CF卡)、卡)、MultiMediaCard(MMC卡)、卡)、Secure Digital(SD卡)、卡)、Memory Stick(記憶棒)、(記憶棒)、XD-Picture Card(X
17、D卡)和微卡)和微硬盤(硬盤(MICRODRIVE)這些閃存卡雖然外觀、規格不同,但是)這些閃存卡雖然外觀、規格不同,但是技術原理都是相同的。技術原理都是相同的。22v實際應用中的實際應用中的閃存閃存主要分為主要分為NOR和和NAND兩種兩種。NOR有著有著較快較快的的數據數據讀取速度讀取速度,但數據,但數據寫入速度卻很慢寫入速度卻很慢。在。在電子產品中一般作為電子產品中一般作為程序存儲器程序存儲器。而而NAND雖然雖然數據數據讀取速度比讀取速度比NOR慢慢,但數據,但數據寫入速度卻比寫入速度卻比NOR快的多快的多,因此在電子產品中一般作為,因此在電子產品中一般作為數據存儲器數據存儲器 23嵌
18、入式系統開發模式嵌入式系統開發模式vLinux內核開發內核開發根據實際需要進行根據實際需要進行內核剪裁和配置內核剪裁和配置,用,用交叉交叉編譯器編譯器生成二進制文件鏡像生成二進制文件鏡像。v對于自行設計的嵌入式系統,內核開發還包括根據實際硬件對于自行設計的嵌入式系統,內核開發還包括根據實際硬件系統進行系統進行內核和外設驅動程序的移植內核和外設驅動程序的移植。24嵌入式系統開發模式嵌入式系統開發模式v應用程序應用程序放在放在Linux根文件系統根文件系統中。中。v根文件系統根文件系統主要存放主要存放配置文件、設備文件、應用程序、動態配置文件、設備文件、應用程序、動態鏈接庫及其它一些相關的程序和文
19、件鏈接庫及其它一些相關的程序和文件。v根文件系統最初只包含一些必要的支撐程序,用戶待定的應根文件系統最初只包含一些必要的支撐程序,用戶待定的應用將在后繼開發中逐步加入。用將在后繼開發中逐步加入。25嵌入式系統開發模式嵌入式系統開發模式v在開發板上移植在開發板上移植內核引導加載程序內核引導加載程序Bootloader用于硬件的初始化用于硬件的初始化給用戶提供一個操作界面給用戶提供一個操作界面將嵌入式將嵌入式Linux加載到內存中運行加載到內存中運行用于系統開發調試用于系統開發調試26嵌入式系統開發模式嵌入式系統開發模式v在開發板上移植在開發板上移植Linux、根文件系統、應用程序、根文件系統、應
20、用程序v在開發板上進行測試在開發板上進行測試27開發板硬件介紹開發板硬件介紹 vCES-6410教學平臺介紹28CES-6410教學平臺介紹v三星三星S3C6410處理器處理器v基于基于 ARM1176JZF-S內核內核v7寸數字液晶觸摸屏寸數字液晶觸摸屏v主板分為核心板和擴展板主板分為核心板和擴展板v所支持操作系統所支持操作系統Windows Embedded CE 6.0 R3Linux 2.6.24&28Ubuntu 9.04Android 29CES-6410教學平臺介紹vLinux 2.6.24&28內核內核:Linux 2.6.24&28(源代碼)(源代碼)
21、系統引導程序系統引導程序:u-boot-1.1.6(無需通過(無需通過JTAG方式燒錄,方式燒錄,提供支持提供支持SD卡和卡和NAND FLASH啟動的啟動的u-boot源代碼)源代碼)調試工具調試工具:DNW v0.60C;交叉編譯器交叉編譯器:cross-4.2.2-eabi、cross-3.4.1文件系統文件系統:yaffs2, cramfs; GUI:Qtopia 1.730CES-6410教學平臺介紹vLinux 2.6.24&28設備驅動設備驅動SD/MMC驅動:支持高速驅動:支持高速 SD/MMC卡,最大支持卡,最大支持8G網口驅動:網口驅動:10M/100M自適應網口驅
22、動自適應網口驅動LCD驅動:默認支持分辯率驅動:默認支持分辯率800480 AUDIO 驅動:支持驅動:支持AC97 CAMERA驅動:支持驅動:支持OV9650攝像頭模塊攝像頭模塊 WI-FI驅動:支持驅動:支持802.11b/g VGA驅動:支持分辨率驅動:支持分辨率800600 31vMMC:Multi Media Card的縮寫,即多媒體卡。的縮寫,即多媒體卡。它是一種它是一種非易失性存儲器件,非易失性存儲器件,體積小巧體積小巧(24mm*32mm*1.4mm),容量大容量大,耗電量低耗電量低,傳輸速度快,廣泛應用于消費類電子產品中。傳輸速度快,廣泛應用于消費類電子產品中。vSD:Se
23、cure Digital Memory Card, 即安全數碼卡。即安全數碼卡。它在它在MMC的基礎上發展而來,增加了兩個主要特色:的基礎上發展而來,增加了兩個主要特色:SD卡強調數據的安全卡強調數據的安全,可以設定所儲存的使用權限,防止數據被可以設定所儲存的使用權限,防止數據被他人復制他人復制;另外一個特色就是另外一個特色就是傳輸速度比傳輸速度比2.11版的版的MMC卡快卡快。在數據傳輸和物理規范上,在數據傳輸和物理規范上,SD卡卡(24mm*32mm*2.1mm,比比MMC卡更厚一點卡更厚一點),向前兼容了,向前兼容了MMC卡。所有支持卡。所有支持SD卡的設備也支持卡的設備也支持MMC卡。
24、卡。SD卡和卡和2.11版的版的MMC卡完全兼容。卡完全兼容。 VGA(Video Graphics Array)即)即視頻圖形陣列視頻圖形陣列,一種視頻,一種視頻傳輸傳輸標準標準32CES-6410教學平臺介紹vLinux 2.6.24&28設備驅動設備驅動USB HOST驅動:驅動:U盤盤 UART驅動;驅動; 1G NAND FLASH驅動驅動 256M DDR驅動;驅動; TOUCH 驅動:四線電阻式觸摸屏驅動;驅動:四線電阻式觸摸屏驅動; MFC驅動:驅動:Multi Format CODEC(H.264/MPEG4/VC1)33vUART:Universal Asynchr
25、onous Receiver/Transmitter,通,通用異步接收用異步接收/發送裝置,發送裝置,UART是一個并行輸入成為串行輸出的芯是一個并行輸入成為串行輸出的芯片,通常集成在片,通常集成在主板主板上。上。 v在在嵌入式嵌入式設計中,設計中,UART用來主機與輔助設備通信,與用來主機與輔助設備通信,與PC機通信機通信包括與監控調試器和其它器件,如包括與監控調試器和其它器件,如EEPROM通信通信 。34CES-6410教學平臺介紹vLinux 2.6.24&28設備驅動設備驅動post processor驅動:驅動:Video Post Processor JPEG驅動:驅動:
26、JPEG CODEC 3D驅動:驅動:3D Graphics RTC驅動:支持實時時鐘(注:支持驅動:支持實時時鐘(注:支持MP3播放和播放和MP4視視頻播放)頻播放) 35嵌入式系統開發工具嵌入式系統開發工具vWinscp安裝安裝vGNU交叉工具鏈安裝交叉工具鏈安裝vMinicom超級終端安裝超級終端安裝 vDnw調試終端配置調試終端配置v開發版燒制準備開發版燒制準備36Winscp安裝安裝vWinSCP是一個是一個Windows環境下使用環境下使用SSH的開源圖形化的開源圖形化SFTP客客戶端。同時支持戶端。同時支持SCP協議。協議。它的它的主要功能主要功能就是就是在本地與遠程計算在本地與
27、遠程計算機間安全的復制文件。機間安全的復制文件。也也即實現即實現windows和和Linux間的共享間的共享。vWindows下雙擊下雙擊winscp428setup.exe v安裝文件見:安裝文件見:CES-6410教學平臺教學平臺Linux實驗實驗第第5.1節節sftp,安全文件傳輸:是一個,安全文件傳輸:是一個類類ftp的客戶端程序,它能夠的客戶端程序,它能夠被用來在網絡中傳輸文件。被用來在網絡中傳輸文件。scp-安全性復制:被用來在網絡上安全地復制文件。37vSSH , Secure Shell 的縮寫,由的縮寫,由 IETF 的網絡工作小組所制定;的網絡工作小組所制定;SSH 為建立
28、在應用層和傳輸層基礎上的安全協議為建立在應用層和傳輸層基礎上的安全協議。vSSH 是目前較可靠,是目前較可靠,專為專為遠程登錄遠程登錄會話和其他網絡服務提供安全會話和其他網絡服務提供安全性的協議。性的協議。v利用利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。協議可以有效防止遠程管理過程中的信息泄露問題。vSSH最初是最初是UNIX系統上的一個程序,后來又迅速擴展到其它操作系統上的一個程序,后來又迅速擴展到其它操作平臺。平臺。vSSH在正確使用時可彌補網絡中的漏洞。在正確使用時可彌補網絡中的漏洞。vSSH客戶端適用于多種平臺。幾乎所有客戶端適用于多種平臺。幾乎所有UNIX平臺平臺包
29、括包括HP - UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其它平臺,以及其它平臺都都可運行可運行SSH。 38Winscp安裝安裝vWinscp安裝配置步驟安裝配置步驟Winscp安裝。安裝。winscp428setup.exe 在在Linux下查看下查看ip:執行:執行#ifconfig設置設置root密碼:密碼:#sudo passwd root配置配置Winscpv會話會話-39Winscp安裝安裝vWinscp安裝配置步驟安裝配置步驟配置配置Winscpv環境環境-選中選中UTF-8開啟開啟,否則會出現中文亂碼,否則會出現中文亂碼40Winscp
30、安裝安裝vWinscp安裝配置步驟安裝配置步驟配置配置Winscpv目錄目錄-41Winscp安裝安裝vWinscp安裝配置步驟安裝配置步驟虛擬機下安裝虛擬機下安裝SSH服務端服務端vSSH是一個用來替代是一個用來替代TELNET、rlogin以及以及rsh的傳統的遠的傳統的遠程登陸程序的工具程登陸程序的工具 sudo apt-get install ssh 下載并安裝一個名字為下載并安裝一個名字為ssh的程序的程序運行運行winscp42vrsh:“remote shell”(遠程(遠程 shell),該命令在指定的),該命令在指定的遠程主機遠程主機上上啟動一個啟動一個shell并執行用戶在
31、并執行用戶在rsh命令行中指定的命令命令行中指定的命令;如果用;如果用戶沒有給出要執行的命令,戶沒有給出要執行的命令,rsh就用就用rlogin命令使用戶登錄到遠程命令使用戶登錄到遠程機上。機上。 vsudo是是linux系統管理指令系統管理指令,是,是允許系統管理員讓普通用戶執行允許系統管理員讓普通用戶執行一些或者全部的一些或者全部的root命令的一個工具命令的一個工具,如,如halt,reboot,su等等。等等。 43GNU交叉工具鏈安裝交叉工具鏈安裝vGNU交叉工具鏈交叉工具鏈:包括:包括C編譯器編譯器GCC,C+編譯器編譯器G+,匯編器,匯編器AS,鏈接器,鏈接器LD,二進制轉換工具
32、二進制轉換工具(OBJCOPY,OBJDUMP),調調試工具試工具(GDB,GDBSERVER,KGDB)和基于不同硬件平臺的和基于不同硬件平臺的開開發庫發庫。v在在GNU GCC支持用戶可以使用流行的支持用戶可以使用流行的C/C+語言開發應用程序,語言開發應用程序,滿足生成高效率運行代碼、易掌握的編程語言的用戶需求。滿足生成高效率運行代碼、易掌握的編程語言的用戶需求。v這些工具都是按這些工具都是按GPL版權聲明發布,任何人可以從網上獲取全部版權聲明發布,任何人可以從網上獲取全部的源代碼,無需使用任何費用。的源代碼,無需使用任何費用。v/home.html。
33、44GNU交叉工具鏈安裝交叉工具鏈安裝v運行于運行于Linux操作系統下的自由軟件操作系統下的自由軟件GNU gcc編譯器,不僅可以編譯器,不僅可以編譯編譯Linux操作系統下運行的操作系統下運行的應用程序應用程序,還可以,還可以編譯編譯Linux內核內核本本身,甚至可以作身,甚至可以作交叉編譯交叉編譯,編譯運行于其它編譯運行于其它CPU上的程序上的程序。v在這里使用的是在這里使用的是arm-linux-工具鏈工具鏈。varm-linux-gcc,運行在運行在PC機機(X86)上上,編譯源程序,并產生可在編譯源程序,并產生可在arm體系結構運行的二進制文件。體系結構運行的二進制文件。vGCC交
34、叉工具鏈的版本匹配是個大麻煩交叉工具鏈的版本匹配是個大麻煩v使用使用4.2.2-eabi交叉編譯工具交叉編譯工具。廠商已經測試好了的。廠商已經測試好了的。 45GNU交叉工具鏈安裝交叉工具鏈安裝v安裝步驟:安裝步驟:在在/usr/local/下建立一個下建立一個arm目錄:目錄: v# cd /usr/local/ v# mkdir -p arm拷貝文件到拷貝文件到/usr/local/arm目錄下目錄下vcross-4.2.2-eabi.tar.bz2 (見光盤:見光盤:CES-6410教學平臺教學平臺Linux實驗實驗第第5.1節節)/usr/local/arm目錄下解壓目錄下解壓 # t
35、ar -jxvf cross-4.2.2-eabi.tar.bz2 -C /usr/local/arm/ ;-C /path/ (大寫(大寫C為指定目錄)為指定目錄)參數:-p 確保目錄名稱存在,如果目錄不存在就新創建一個 。46GNU交叉工具鏈安裝交叉工具鏈安裝v安裝步驟:安裝步驟:設置當前用戶環境變量設置當前用戶環境變量PATH: v# vi 用戶目錄用戶目錄/.bashrcv把路徑把路徑/usr/local/arm/4.2.2-eabi/usr/bin加入加入PATH環境變環境變量:在文件的最后加上量:在文件的最后加上 export PATH=$PATH:/usr/local/arm/4
36、.2.2-eabi/usr/bin 提示:提示:1、PATH區分大小寫區分大小寫 2、$變量替換變量替換 3、使用、使用echo $PATH 顯示環境變量設置顯示環境變量設置 47GNU交叉工具鏈安裝交叉工具鏈安裝v安裝步驟:安裝步驟:環境變量說明環境變量說明(shell腳本腳本 )v用戶目錄如用戶目錄如test,路徑,路徑/home/test,有兩個隱藏文,有兩個隱藏文件件.bashrc和和.profile, .profile是一個配置文件,有語句:是一個配置文件,有語句: if -f $HOME/.bashrc ; then. $HOME/.bashrc fiv對所有用戶,路徑對所有用戶,
37、路徑/etc,同樣有兩個隱藏文件,同樣有兩個隱藏文件.profile, bash.bashrc。在。在.profile中中 if -f /etc/bash.bashrc ; then. /etc/bash.bashrc fi第第1種對當前用戶有效,第種對當前用戶有效,第2種對所有用戶有效。種對所有用戶有效。一般使用第一般使用第1種,對第種,對第2種使用要小心!種使用要小心!48GNU交叉工具鏈安裝交叉工具鏈安裝v安裝步驟:安裝步驟:使環境變量生效使環境變量生效: # source /home/test/.profile測試測試,在終端輸入如下命令:,在終端輸入如下命令: # arm-linux
38、-gcc v如果出現上面的版本信息,則交叉編譯環境安裝成功!如果出現上面的版本信息,則交叉編譯環境安裝成功!source FileName 作用:作用:在當前在當前bash環境下讀取并執行環境下讀取并執行FileName中的命令。中的命令。 該命令通常用該命令通常用“.”來替代。來替代。 如:如:source .bash_rc 與與 . .bash_rc是等效的。是等效的。49Minicom超級終端安裝超級終端安裝vLinux下的下的Minicom的功能與的功能與Windows下的下的超級終端超級終端功能相似,功能相似,可以通過可以通過串口控制外部的硬件設備串口控制外部的硬件設備v適于在適于在
39、Linux環境下環境下通過超級終端通過超級終端對嵌入式設備的管理以及對對嵌入式設備的管理以及對嵌入式操作系統的升級。嵌入式操作系統的升級。50v終端終端,即,即計算機顯示終端計算機顯示終端,是,是計算機系統的輸入、輸出設備計算機系統的輸入、輸出設備。計。計算機顯示終端伴隨算機顯示終端伴隨主機時代的集中處理模式主機時代的集中處理模式而產生,并隨著而產生,并隨著計算計算技術技術的發展而不斷發展。的發展而不斷發展。v迄今為止,計算技術經歷了迄今為止,計算技術經歷了主機時代、主機時代、PC時代和網絡計算時代時代和網絡計算時代這這三個發展時期,終端與計算技術發展的三個階段相適應,應用也三個發展時期,終端
40、與計算技術發展的三個階段相適應,應用也經歷了經歷了字符啞終端、圖形終端和網絡終端字符啞終端、圖形終端和網絡終端這三個形態。這三個形態。v超級終端超級終端是一個是一個通用的串行交互軟件通用的串行交互軟件,很多嵌入式應用的系統有,很多嵌入式應用的系統有與之交換的相應程序,通過這些程序,可以通過超級終端與嵌入與之交換的相應程序,通過這些程序,可以通過超級終端與嵌入式系統交互,使超級終端成為嵌入式系統的式系統交互,使超級終端成為嵌入式系統的“顯示器顯示器”。51v超級終端的原理超級終端的原理是將用戶輸入隨時發向串口(采用是將用戶輸入隨時發向串口(采用TCP協議時是協議時是發往網口,這里只說串口的情況)
41、,但并不顯示輸入。發往網口,這里只說串口的情況),但并不顯示輸入。它顯示的它顯示的是從串口接收到的字符是從串口接收到的字符。所以,嵌入式系統的。所以,嵌入式系統的相應程序相應程序應該完成應該完成的任務便是的任務便是 :1、將自己的啟動信息、過程信息主動發到運行有超級終端的主機、將自己的啟動信息、過程信息主動發到運行有超級終端的主機 。2、將接收到的字符返回到主機,同時發送需要顯示的字符(如命令、將接收到的字符返回到主機,同時發送需要顯示的字符(如命令的響應等)到主機的響應等)到主機 。3、在單片機開發時使用、在單片機開發時使用 。52Minicom超級終端安裝超級終端安裝vminicom的安裝
42、的安裝 sudo apt-get install minicom虛擬機連接串口,安裝好后在虛擬機連接串口,安裝好后在Ubuntu右下角出現如下圖標右下角出現如下圖標53v在虛擬機上連接串口,兩種方式:在虛擬機上連接串口,兩種方式:一種一種用的是用的是USB轉串口。轉串口。另一種用的是另一種用的是串口。串口。Minicom超級終端配置超級終端配置54v1)在虛擬機上連接串口,用的是)在虛擬機上連接串口,用的是USB轉串口,則如下圖點擊轉串口,則如下圖點擊connectMinicom超級終端配置超級終端配置55vUSB轉串口從轉串口從windows連接如虛擬機后,可以在連接如虛擬機后,可以在lin
43、ux下看下看到到USB轉串口的設備節點轉串口的設備節點/dev/ttyUSB0,后面的配置將會,后面的配置將會用到。用到。Minicom的配置的配置56Minicom的配置的配置vminicom的配置的配置以以root權限登錄系統則權限登錄系統則用命令用命令minicom -s否則用否則用sudo minicom sv選中選中Serial port setup57vserial port setup選項設置選項設置A Serial Device : /dev/ttyUSB0 B lockfile Location : /var/lock C Callin Program : D Callout
44、 Program: E Bps/par/Bits : 115200 8N1 F Hardware Flow Control : NO G Software Flow Control : NOv 提示:提示:E為波特率、數據位、奇偶校驗、停止位為波特率、數據位、奇偶校驗、停止位Minicom的配置的配置58v在信號線上共有在信號線上共有兩種狀態兩種狀態,可分別用,可分別用邏輯邏輯1(高電平)(高電平)和和邏輯邏輯0(低電平)(低電平)來區分。在來區分。在發送器空閑發送器空閑時,時,數據線數據線應該保持在應該保持在邏輯高邏輯高電平電平狀態。狀態。 v起始位起始位:發送器是通過:發送器是通過發送起始
45、位發送起始位而而開始一個字符傳送開始一個字符傳送,起始位起始位使數據線處于使數據線處于邏輯邏輯0狀態,提示接受器數據狀態,提示接受器數據傳輸即將開始傳輸即將開始。 v數據位數據位:起始位之后就是傳送數據位。數據位一般為:起始位之后就是傳送數據位。數據位一般為8位一個字節位一個字節的數據的數據(也有(也有6位、位、7位的情況)位的情況)Minicom的配置的配置59v校驗位校驗位:可以認為是:可以認為是一個特殊的數據位一個特殊的數據位。校驗位一般用來。校驗位一般用來判斷接判斷接收的數據位有無錯誤收的數據位有無錯誤,一般是,一般是奇偶校驗奇偶校驗。在使用中,該位常常取。在使用中,該位常常取消。消。
46、 v停止位停止位:停止位在最后,用以標志一個字符傳送的結束,它對應:停止位在最后,用以標志一個字符傳送的結束,它對應于于邏輯邏輯1狀態狀態。 v波特率波特率:用于:用于說明數據傳送的快慢說明數據傳送的快慢。在。在串行通信串行通信中,中,傳送速率傳送速率用用每秒鐘傳送數據位的數目每秒鐘傳送數據位的數目來表示。來表示。Minicom的配置的配置60v選擇選擇save as dfl 選項,將修改后的配置信息進行保存為默認選項,將修改后的配置信息進行保存為默認的配置選項的配置選項v再選再選“exit from minicom”選項,從配置菜單返回到命令行選項,從配置菜單返回到命令行Minicom的配置
47、的配置61v先啟動實驗箱先啟動實驗箱v再重新啟動再重新啟動Minicom sudo minicomv若連接若連接成功成功。出現。出現串口調試信息串口調試信息。即在。即在Linux下通過下通過minicom串口連接器,實現超級終端的功能。串口連接器,實現超級終端的功能。 Minicom的配置的配置62Minicom的配置的配置v2)如果用的是串口,)如果用的是串口,Minicom配置之前配置之前需添加串口設備。需添加串口設備。 先關閉先關閉Linux系統系統,然后在,然后在windows下打開下打開 VM-Settings,添加串口。添加串口。63v如果用的是串口,如果用的是串口,Minicom
48、配置之前配置之前需添加串口設備。需添加串口設備。 選中選中“使用物理串口號使用物理串口號”。Minicom的配置的配置64v如果用的是串口,如果用的是串口,Minicom配置之前配置之前需添加串口設備。需添加串口設備。根據根據windows下具體使用的是哪個串口選擇相應的端口號,最后選下具體使用的是哪個串口選擇相應的端口號,最后選擇確定完成。擇確定完成。Minicom的配置的配置65v在配置在配置minicom的時候,串口設備需改成相應的設備節點,的時候,串口設備需改成相應的設備節點,一般串口設備節點就是下圖所示的某一個,如下:一般串口設備節點就是下圖所示的某一個,如下:A- Serial D
49、evice :/dev/ttyS0Minicom的配置的配置66vserial port setup選項設置選項設置A Serial Device : /dev/ttyS0 B lockfile Location : /var/lock C Callin Program : D Callout Program: E Bps/par/Bits : 115200 8N1 F Hardware Flow Control : NO G Software Flow Control : NOv 提示:提示:1、 A需要與需要與實際連接的串口設備一致實際連接的串口設備一致,串口串口COM1對應對應ttyS0
50、, COM2對應對應ttyS1; 2、 E為波特率、數據位、奇偶校驗、停止位為波特率、數據位、奇偶校驗、停止位Minicom的配置的配置67Minicom的配置的配置v確定串口已連接,確定串口已連接,ls /dev/tty*v若為若為USB轉串口轉串口,應該有,應該有ttyUSB?設備設備,一般是,一般是/dev/ttyUSB0v若為若為直接連接串口直接連接串口,應該有,應該有ttyS?設備設備,一般為,一般為/dev/ttyS0提示:提示:1、添加串口前關閉虛擬機、添加串口前關閉虛擬機2、第一次連接串口會提示安裝、第一次連接串口會提示安裝usb驅動。驅動。在在CES-6410教學平臺教學平臺
51、WinCE USB Driver下下68v選擇選擇save as dfl 選項,將修改后的配置信息進行保存為默選項,將修改后的配置信息進行保存為默認的配置選項認的配置選項 v選擇選擇exit from minicom 選項,從配置菜單返回到命令行選項,從配置菜單返回到命令行Minicom的配置的配置69DNW調試終端配置調試終端配置v1)在本機在本機設備管理器設備管理器處處查看串口信息查看串口信息,端口(,端口(COM和和LPT)v2)PC機上安裝:機上安裝:dnw.exe,-雙擊即可運行;雙擊即可運行;70DNW調試終端配置調試終端配置v3)打開)打開DNW后,點擊菜單后,點擊菜單Confi
52、guration|Option,設置,設置PC機上的串口,機上的串口,設置如下圖:設置如下圖: 設置好后,點擊設置好后,點擊OK。71v4)點擊菜單)點擊菜單Serial Port|Connect,打開本機的串口,如下圖:,打開本機的串口,如下圖: 打開后,標題欄如下圖所示:打開后,標題欄如下圖所示:DNW調試終端配置調試終端配置72CES-6410教學平臺開機使用教學平臺開機使用vUSB驅動安裝驅動安裝打開電源,教學平臺會直接進入到打開電源,教學平臺會直接進入到WinCE操作系統中。操作系統中。如第一次使用教學平臺,在教學平臺電源打開后,此時在如第一次使用教學平臺,在教學平臺電源打開后,此時
53、在DNW窗口可以見到啟動信息,請及時在窗口可以見到啟動信息,請及時在DNW里點擊里點擊PC機鍵機鍵盤的盤的空格鍵,空格鍵,以便教學平臺進入以便教學平臺進入Bootloader菜單選項中,系菜單選項中,系統會提示找到新硬件,按以下步驟安裝好統會提示找到新硬件,按以下步驟安裝好USB驅動:驅動:注意:在安裝注意:在安裝USB驅動時,不能讓板子進入操作系統里。驅動時,不能讓板子進入操作系統里。73vUSB驅動安裝驅動安裝出現以下提示,選擇出現以下提示,選擇“從列表或指定位置安裝從列表或指定位置安裝”CES-6410教學平臺開機使用教學平臺開機使用74vUSB驅動安裝驅動安裝點擊下一步,選擇光盤所提供
54、的驅動路徑:點擊下一步,選擇光盤所提供的驅動路徑:CES-6410教學平教學平臺臺WinCE USB Driver,點擊下一步:,點擊下一步:點擊下一步,完成找到新硬件向導。點擊下一步,完成找到新硬件向導。CES-6410教學平臺開機使用教學平臺開機使用75vUSB驅動安裝驅動安裝安裝好安裝好USB驅動后可以看到電腦的硬件中多出了如下硬件:驅動后可以看到電腦的硬件中多出了如下硬件:CES-6410教學平臺開機使用教學平臺開機使用76v教學平臺上電或復位后,在教學平臺上電或復位后,在DNW中中敲空格鍵敲空格鍵進入進入Bootloader功功能界面,如下圖:能界面,如下圖:v實驗平臺所帶的實驗平臺
55、所帶的Bootloader主要功能通過主要功能通過USB或網口或網口進行內核進行內核文件下載更新,目前文件下載更新,目前支持支持USB更新內核更新內核。77NFSvNFS是是Network File System(網絡網絡 文件系統文件系統 )的縮寫,最初是由)的縮寫,最初是由Sun公司開發出來的分布式文件系統。公司開發出來的分布式文件系統。v提供提供NFS服務的一方是服務的一方是NFS Server (遠程主機),使用(遠程主機),使用NFS服務的服務的一方是一方是NFS Client(客戶機)。利用它,(客戶機)。利用它,客戶機可以將遠程主機提客戶機可以將遠程主機提供的供的共享目錄共享目錄
56、掛載到掛載到自己的目錄上,在本地的操作自己的目錄上,在本地的操作如同對遠程主機如同對遠程主機的操作的操作。 78NFSv一種是一種是在主機上在主機上編寫程序,然后編譯編寫程序,然后編譯 、連接,、連接,成功后成功后將將程序下程序下載載到目標板到目標板進行調試和運行進行調試和運行。v另一種是通過網線或串口線將目標機和主機另一種是通過網線或串口線將目標機和主機連起來連起來,直接在,直接在目標目標機上開發調試機上開發調試。使用使用NFS將主機的特定目錄將主機的特定目錄mount到目標機上,到目標機上,在本地的操在本地的操作作如同對遠程主機的操作如同對遠程主機的操作。采用采用 NFS模式可以模式可以方
57、便應用程序的開發方便應用程序的開發,減少減少映像文件映像文件 的的下下載次數載次數和和對對flash的的燒寫次數燒寫次數。這對于縮短開發周期,提高開。這對于縮短開發周期,提高開發效率,加快產品的上市時間相當重要。發效率,加快產品的上市時間相當重要。 79NFSv宿主機宿主機是是Linux服務器端服務器端,實驗箱實驗箱是是客戶端客戶端v在宿主機上安裝在宿主機上安裝nfssudo aptitude install nfs-kernel-server與與 apt-get 不同的是,不同的是,aptitude在處理依賴問題上更佳一些。在處理依賴問題上更佳一些。v例如,例如,aptitude在刪除一個包
58、時,會同時刪除本身所依賴的包。在刪除一個包時,會同時刪除本身所依賴的包。這樣,系統中不會殘留無用的包,整個系統更為干凈。這樣,系統中不會殘留無用的包,整個系統更為干凈。80NFSv設置主機共享目錄設置主機共享目錄在文件在文件/etc/exports中中設定設定允許被訪問的允許被訪問的共享目錄共享目錄以及以及訪問的訪問的權限權限。該文件的格式:。該文件的格式:/共享目錄共享目錄 主機名稱或主機名稱或IP(權限參數)權限參數)。文件后面添加文件后面添加 /rootfs 0(rw,sync,no-root-squash)v權限參數設定為:權限參數設定為: rw:讀寫權限:讀寫權
59、限 ro:只讀權限:只讀權限 no_root_squash:登入:登入NFS主機,使用該共享目錄時相當于主機,使用該共享目錄時相當于該目錄的擁有者該目錄的擁有者,如果是,如果是root的話,那么對于這個共享的目錄來的話,那么對于這個共享的目錄來說,他就具有說,他就具有root的權的權 限,這個參數極不安全,不建議使用限,這個參數極不安全,不建議使用 vsync:資料會先暫存于內存當中,而不會直接寫入硬盤資料會先暫存于內存當中,而不會直接寫入硬盤 允許允許ip為為0(實驗箱默認(實驗箱默認ip)的計算機以讀寫的權)的計算機以讀寫的權限來訪問限來訪問/rootfs 81vro
60、ot_squash 登入登入NFS主機,使用該共享目錄時相當于該目錄的主機,使用該共享目錄時相當于該目錄的擁有者。但是如果是以擁有者。但是如果是以root身份使用這個共享目錄的時候,那么身份使用這個共享目錄的時候,那么這個使用者(這個使用者(root)的權限將被壓縮成為匿名使用者,即通常他)的權限將被壓縮成為匿名使用者,即通常他的的UID與與GID都會變成都會變成nobody那個身份那個身份 vall_squash 不論登入不論登入NFS的使用者身份為何,他的身份都會被壓的使用者身份為何,他的身份都會被壓縮成為匿名使用者,通常也就是縮成為匿名使用者,通常也就是nobody82NFSv掛載掛載mount命令格式命令格式: mount -t
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 視頻監控的設計方案
- 自動控制原理試題庫有答案
- 黑龍江省大慶市肇源縣(五四學制)2023-2024學年八年級下學期7月期末考試道德與法治試卷
- 幼兒園大班《我們的小區》教案
- 財務-合理避稅60個方法和42個技巧匯 總 你所不知道的“合理避稅”方案
- 璀璨未來文化館館投資指南
- 2025年android狀態欄!Android面試你必須要知道的那些知識完整PDF
- 2025年Android小技巧:這些面試官常問的開發面試題你都掌握好了嗎?源碼+原理+手寫框架-android 面試會問框架原理嗎
- 部編版二年級下冊第八單元《祖先的搖籃》教案
- 建筑施工特種作業-樁機操作工真題庫-3
- 號樓樁基施工競爭性談判采購
- 中國華電集團公司火電廠煙氣脫硫工程(石灰石-石膏濕法)設計導則(A版)
- 譯林版五下英語作文范文系列一
- 《小學英語小組合作學習的研究》課題結題報告
- 設計失效模式分析報告(DFMEA)
- 事業單位專業技術崗位說明書(小學)
- 廣東省中醫藥文化養生旅游
- 試驗設計與數據處理作業333333
- 樹脂膠水物質資料安全表(MSDS)
- III型軌枕新III型軌枕材料要求課件
- 降低給藥錯誤發生率.pptx
評論
0/150
提交評論