欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      linux嵌入式學(xué)習(xí)流程及ARM學(xué)習(xí)大綱

      時間:2019-05-12 18:53:00下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《linux嵌入式學(xué)習(xí)流程及ARM學(xué)習(xí)大綱》,但愿對你工作學(xué)習(xí)有幫助,當然你在寫寫幫文庫還可以找到更多《linux嵌入式學(xué)習(xí)流程及ARM學(xué)習(xí)大綱》。

      第一篇:linux嵌入式學(xué)習(xí)流程及ARM學(xué)習(xí)大綱

      課程大綱

      ● 第一階段 嵌入式Linux開發(fā)基礎(chǔ)

      ◆ 開學(xué)典禮、職業(yè)素養(yǎng):自我介紹;

      ◆ Linux基礎(chǔ)知識和系統(tǒng)安裝;

      ◆ Linux常用命令,文本編輯器vi,shell腳本編程;

      ◆ Linux開發(fā)環(huán)境基礎(chǔ):Gcc,Ddb,Maker和Makefile;

      ◆ 軟件版本管理;

      ◆ 嵌入式軟件開發(fā)環(huán)境搭建與使用

      ● 第二階段 嵌入式C語言編程

      ◆ 復(fù)習(xí)C語言基礎(chǔ)知識,強化指針和數(shù)組概念,學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和一些基本算法; ◆ 全面了解C語言標準庫提供的功能;

      ◆ 深入介紹C程序在編譯時與運行時的基本原理;

      ◆ GNU C的拓展知識;

      ◆ 從宏觀和微觀的角度討論高質(zhì)量C語言編程;

      ◆ 詳細介紹嵌入式C的特性及應(yīng)用;

      ◆ 職業(yè)素養(yǎng):推銷自己。

      ● 第三階段 Linux系統(tǒng)程序設(shè)計

      ◆ 深入學(xué)習(xí)操作系統(tǒng)基礎(chǔ)知識;

      ◆ Linux系統(tǒng)程序設(shè)計:系統(tǒng)編程環(huán)境、常用調(diào)試工具,創(chuàng)建中止進程,進程間通訊;

      ◆ Linux網(wǎng)絡(luò)編程;

      ◆ 職業(yè)素養(yǎng):禮儀溝通、語言溝通;

      ● 第四階段 ARM原理與應(yīng)用

      ◆ 嵌入式系統(tǒng)基礎(chǔ):嵌入式系統(tǒng) 定義、發(fā)展,嵌入式實時操作系統(tǒng); ◆ ARM的基本概念及體系結(jié)構(gòu);

      ◆ ARM的編程模型;

      ◆ ADS集成開發(fā)環(huán)境;

      ◆ ARM匯編指令集;

      ◆ 嵌入式系統(tǒng)及接口設(shè)計;

      ◆ ARM協(xié)處理器。

      ● 第五階段 u-boot和Linux移植

      ◆ Linux內(nèi)核基礎(chǔ);

      ◆ Kernel的定制和編譯;

      ◆ 內(nèi)核移植;

      ◆ 內(nèi)核調(diào)試。

      歡迎下載該文檔

      ● 第六階段 嵌入式Linux驅(qū)動開發(fā)

      ◆ 驅(qū)動程序概述;

      ◆ 字符設(shè)備驅(qū)動程序開發(fā); ◆ 設(shè)備驅(qū)動總的重要概念和機制;

      ◆ 塊設(shè)備驅(qū)動程序開發(fā); ◆ 塊設(shè)備驅(qū)動程序開發(fā)實例; ◆ 網(wǎng)絡(luò)設(shè)備驅(qū)動程序開發(fā)及實例; ◆ 音頻和顯示設(shè)備驅(qū)動程序開發(fā); ◆ 素質(zhì)培訓(xùn):如何寫簡歷。

      ● 第七階段 項目實踐

      ◆ 學(xué)習(xí)工程項目開發(fā)流程:項目需求、項目設(shè)計、程序編碼、程序調(diào)試與測試、版本發(fā)布;

      ◆ 以團隊方式分解項目,協(xié)作開發(fā)、各學(xué)員扮演不同角色; ◆ 項目開發(fā):個人移動終端實時通訊圖形管理系統(tǒng); ◆ 素質(zhì)培訓(xùn):面試訓(xùn)練、職業(yè)前引導(dǎo)。

      Arm學(xué)習(xí)

      課程大綱

      ◆ 幫助學(xué)員了解ARM體系結(jié)構(gòu)及工作原理,掌握

      第一天

      ARM指令集,學(xué)會操作ARM處理器基本方法。◆ 課程實驗:

      ◆為提高系統(tǒng)的綜合性能,“ARM和Thumb交互”是工程師在實際編程常用的一種方式。通過本天課程的學(xué)習(xí),學(xué)員可以了解Thumb指令的特點,掌握

      第二天

      ARM和Thumb指令交互方法?!爱惓!弊鳛樘幚砥鞯囊环N特殊工作方式在系統(tǒng)工作中扮演著重要的角色,本期課程也將幫助學(xué)員掌握ARM平臺異常產(chǎn)生的過程和處理方法?!?課程實驗:

      ◆雖然匯編指令可以完成我們所需要的所有功能,但相對C語言來說,匯編語言存在編寫復(fù)雜、可讀

      第三天

      性差等缺點,所以在實際的項目開發(fā)中,工程師通常會使用C或C++等高級語言來編寫主程序部分。通過第三天課程的學(xué)習(xí),學(xué)員可以掌握匯編、c、歡迎下載該文檔

      c++混合編程的方法,完成對目標平臺的軟件編程,更好的熟悉嵌入式軟件的開發(fā)流程。◆ 課程實驗:

      ◆在學(xué)習(xí)完了理論知識后,該進入實踐環(huán)節(jié)了。嵌入式編程最終目標還是對接口設(shè)備的操作。通過第第四天

      四天課程的學(xué)習(xí),學(xué)員可以掌握基于ARM的嵌入式硬件平臺接口設(shè)計以及各種常用接口的開發(fā); ◆ 課程實驗:

      ◆單個接口的操作最終還是要為一個綜合的軟件項目服務(wù),bootloader在嵌入式操作系統(tǒng)中占用重要地位,其編寫、移植是一項常見而復(fù)雜的工作。通過第五天課程的學(xué)習(xí),學(xué)員即能夠通過這個綜合第五天的軟件項目將前面的主要內(nèi)容融會貫通,還可以掌握 bootloader原理及開發(fā)過程,掌握和bootloader相關(guān)的接口開發(fā),了解嵌入式操作系統(tǒng)的結(jié)構(gòu)及啟動流程等。◆ 課程實驗:

      三個月

      ◆ 企業(yè)項目實踐(自行操作,專家答疑)(三個月)

      歡迎下載該文檔

      第二篇:嵌入式linu學(xué)習(xí)心得

      嵌入式Linux學(xué)習(xí)心得

      1、Linux命令

      ls:查看目錄-l以列表方式查看;ls –l 與ll的功能一樣 pwd: 查看當前的目錄

      cd:改變當前操作目錄cd /直接跳到根目錄 cd..回到上一級目錄 cat: 打印顯示當前文件的內(nèi)容信息

      mkdir:創(chuàng)建目錄

      fdisk: 查看硬盤分區(qū)信息,-l以列表方式查看

      ->代表是鏈接文件,類似window下的快捷方式。

      cp: 復(fù)制命令,例子cp 文件名 /home/dir/

      mv: 移動或改名,如mv sonf.confsonf.txt(改名)移動:mv sonf.conf / rm:刪除命令,如rm –f test.c;如刪除目錄rm –fr d

      man:查看某個命令的幫助,man 命令

      2、各系統(tǒng)目錄的功能

      drw—r—w--:d代表是目錄,drw代表當前用戶的權(quán)限,r代表組用戶的權(quán)限,w代表其它用戶的權(quán)限。x代表有執(zhí)行權(quán)限。

      /boot/gruff.conf: 啟動引導(dǎo)程序

      /dev:brw—rw--:b代表是塊設(shè)備。Linux設(shè)備有三種,塊設(shè)備(b開頭)、字符設(shè)備(c開頭)、網(wǎng)絡(luò)設(shè)備。had代表第一個硬盤,hdb代表第二個硬盤。Hdb2代表第二塊硬盤的第二個分區(qū)。3,67代表主設(shè)備為3,從設(shè)備為67./etc:存放的是系統(tǒng)的配置文件。Inittab文件存放不同啟動方式下必須啟動的進程。Inittab文件中有6個啟動level,wait中對應(yīng)著6個level的目錄,respawn代表當一個進程被意外終止了,但會自動啟動的進程,如守護進程。rc.d目錄中存放了一個rc.sysinit文件,里面存放系統(tǒng)初始化配置信息。/etc還有一個vsftpd里面存放tcp、ftp的配置。

      /home : 用戶目錄,存放用戶的文件,/lib:存放庫文件,后綴為so的文件代表動態(tài)鏈接庫。

      /lost+found:系統(tǒng)意外終止,存放一些可以找回的文件。

      /mnt:掛載外部設(shè)備,如掛載光驅(qū):mount –t /dev/cdrom/mnt/cdrom,如

      果在雙系統(tǒng)中,要查看windows中D盤的文件,首先應(yīng)該將D盤的文件映射過來,mount –t /dev/hda2/mnt/windows/d

      /opt:用戶安裝的應(yīng)用程序

      /proc:是系統(tǒng)運行的映射,比較重要。里面的文件數(shù)字代表進程號。每個進程號目錄下包含進程的基本信息。還有其他信息,如cpuinfo等,內(nèi)核支持的文件系統(tǒng)filesystem等。系統(tǒng)支持的中斷interrupts,iomen代表內(nèi)存分配情況。ioport存放IO端口號。還有分區(qū)信息,modole信息,狀態(tài)信息,版本信息

      對于Linux的設(shè)備驅(qū)動程序,有兩種加載模式,一種是直接加載進linux內(nèi)核,一種是以模塊的方式加載到內(nèi)核。

      /sbin: 系統(tǒng)管理的一些工具。如poweroff關(guān)機工具。

      /usr: 安裝系統(tǒng)時很多文件放在此目錄下面,包含一些更新等,include包含的頭文件,lib 是Linux的庫文件,src包含Linux2.4的內(nèi)核源碼

      /var:存放是臨時變量

      3、

      第三篇:實習(xí)總結(jié)-嵌入式ARM

      實訓(xùn)總結(jié)

      班級 卓越1301姓名***

      通過這段時間的學(xué)習(xí)使我學(xué)到了很多知識,并且了解到ARM的應(yīng)用以及對開發(fā)板的應(yīng)用,為以后的學(xué)習(xí)奠定了一定的基礎(chǔ)。

      嵌入式系統(tǒng)一般定義為以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪,應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗和應(yīng)用環(huán)境有特殊要求的專用計算機系統(tǒng)。是將應(yīng)用程序、操作系統(tǒng)和計算機硬件集成在一起的系統(tǒng)這是從技術(shù)角度。從系統(tǒng)角度上是設(shè)計完成復(fù)雜功能的硬件和軟件,并使其緊密耦合在一起的計算機系統(tǒng)。

      廣義上講,凡是帶有微處理器的專用軟硬件系統(tǒng)都可稱為嵌入式系統(tǒng)。如各類單片機和DSP系統(tǒng)。這些系統(tǒng)在完成較為單一的專業(yè)功能時具有簡潔高效的特點。但由于他們沒有操作系統(tǒng),管理系統(tǒng)硬件核軟件的能力有限,在實現(xiàn)復(fù)雜多任務(wù)功能時,往往困難重重,甚至無法實現(xiàn)。從狹義上講,我們更加強調(diào)那些使用嵌入式微處理器構(gòu)成獨立系統(tǒng),具有自己操作系統(tǒng),具有特定功能,用于特定場合的嵌入式系統(tǒng)。

      嵌入式的應(yīng)用也比較廣泛涉及軍事國防、工業(yè)控制、消費電子和網(wǎng)絡(luò)。在家用方面更是數(shù)字電視、信息家電、智能玩具、手持通訊、存儲設(shè)備的核心。

      在ARM指令集中了解到ARM的尋址方式以及它的的特性,具有高效、快速的特點,還有Thumb指令集具有靈活、小巧的特點。

      在這次實訓(xùn)中做了兩個項目,一個是LED燈,實現(xiàn)LED燈的點亮是比較簡單的,通過查找手冊可以很快的了解到要使用的寄存器和方法,另一個項目是DS18B20這個比較復(fù)雜,除了要掌握對寄存器的使用,還要對了解對串口的初始化,讀寫字節(jié)等等。

      感謝這次實訓(xùn),通過這次的實訓(xùn)項目,使我大體了解制作項目的步驟,了解了嵌入式技術(shù)的掌握是需要一個過程的。實事求是的說,嵌入式技術(shù)的全面掌握是有相當難度的,通過積累和動手總會有收獲的,從實驗中也明白了一個大的項目并不是一個人可以完成的,團隊協(xié)作很重要。

      姓名:***

      年級:卓越1301

      2014-7-5

      第四篇:嵌入式系統(tǒng)ARM實驗報告

      南京郵電大學(xué)通信與信息工程學(xué)院

      實驗報告

      實驗名稱:實驗一基于ADS開發(fā)環(huán)境的設(shè)計

      實驗二嵌入式Linux交叉開發(fā)環(huán)境的建立 實驗三嵌入式Linux環(huán)境下的程序設(shè)計

      課程名稱嵌入式系統(tǒng)B

      班級學(xué)號B13010711 姓名馬俊民

      開課時間 2015/2016學(xué)年第1學(xué)期

      實驗一基于ADS開發(fā)環(huán)境的程序設(shè)計

      一、實驗?zāi)康?/p>

      1、學(xué)習(xí)ADS開發(fā)環(huán)境的使用;

      2、學(xué)習(xí)和掌握ADS環(huán)境下的匯編語言及C語言程序設(shè)計;

      3、學(xué)習(xí)和掌握匯編語言及C語言的混合編程方法。

      二、實驗內(nèi)容

      1、編寫和調(diào)試匯編語言程序;

      2、編寫和調(diào)試C語言程序;

      3、編寫和調(diào)試匯編語言及C語言的混合程序;

      4、編寫程序測試多寄存器傳送指令的用法。

      三、實驗原理

      ADS全稱為ARM Developer Suite,是ARM公司推出的新一代ARM集成開發(fā)工具。現(xiàn)在常用的ADS版本是ADS1.2,它取代了早期的ADS1.1和ADS1.0。

      ADS用于無操作系統(tǒng)的ARM系統(tǒng)開發(fā),是對裸機(可理解成一個高級單片機)的開發(fā)。ADS具有極佳的測試環(huán)境和良好的偵錯功能,它可使硬件開發(fā)工作者更深入地從底層去理解ARM處理器的工作原理和操作方法,為日后自行設(shè)計打基礎(chǔ),為BootLoader的編寫和調(diào)試打基礎(chǔ)。

      1.ADS軟件的組成

      ADS由命令行開發(fā)工具、ARM運行時庫、GUI開發(fā)環(huán)境(CodeWarrior和AXD)、實用程序、支持軟件等組成。

      2.GUI開發(fā)環(huán)境

      ADS GUI開發(fā)環(huán)境包含CodeWarrior和AXD兩種,其中Code Warrior是集成開發(fā)工具,而AXD是調(diào)試工具。

      使用匯編語言進行編程簡單、方便,適用于初始化硬件代碼、啟動代碼等。匯編語言具有一些相同的基本特征:

      1.一條指令一行。

      2.使用標號(label)給內(nèi)存單元提供名稱,從第一列開始書寫。3.指令必須從第二列或能區(qū)分標號的地方開始書寫。4.注釋必須跟在指定的注釋字符后面,一直書寫到行尾。

      在ARM匯編程序中,每個段必須以AREA作為段的開始,以碰到下一個AREA作為該段的結(jié)束,段名必須唯一。程序的開始和結(jié)束需以ENTRY和END來標識。嵌入式C語言設(shè)計是利用基本的C語言知識,面向嵌入式工程實際應(yīng)用進行程序設(shè)計。為了使單獨編譯的C語言程序和匯編程序之間能夠相互調(diào)用,必須為子程序之間的調(diào)用規(guī)定一定的規(guī)則。ATPCS就是ARM程序和Thumb程序中子程序調(diào)用的基本規(guī)則。

      四、實驗過程與關(guān)鍵代碼分析

      1.創(chuàng)建項目工程

      在File菜單中選擇New命令,打開一個新建工程對話框。在Project選項卡下,選擇ARM Executable Image, 然后在Project name文本框里輸入項目名稱,點擊確定。彈出工程窗口。

      選擇File菜單中的New命令,選擇File標簽頁,在File name文本框中輸入要創(chuàng)建的文件名。匯編程序以.s結(jié)尾,c程序以.c結(jié)尾。在Location文本框中指定文件的存放位置,選中Add to Project,在Targets中選中DebugRel,單擊確定關(guān)閉窗口。

      2.用匯編語言設(shè)計程序?qū)崿F(xiàn)10的階乘

      AREA EXAMPLE, CODE, READONLY ENTRY start MOV R0, #10 MOV R1, #1 LOOP MUL R0, R0, R1 SUB R0, R0, 1 CMP R0, #1 BHI LOOP END 在這個程序中,我們首先對R0和R1賦值,將R0作為一個變量,而R1作為一個存貯階乘值的寄存器。在每進行一次乘法之后,將R0減1。同時在做完減法后進行判斷,如果此時R0大于1,則返回繼續(xù)乘法,否則結(jié)束程序,輸出結(jié)果。

      3.用調(diào)用子程序的方法實現(xiàn)1!+2!+3!+?+10!,代碼如下: asmp.s

      AREA JC, CODE, READONLY

      EXPORT JCP

      ENTRY JCP

      ADD R3, R0, #1

      MOV R2, #1

      MOV R1, #1 LOOP MUL R0, R1, R2

      MOV R1, R0

      ADD R2, R2, #1

      CMP R2, R3

      BNE LOOP

      NOP

      NOP

      MOV PC, LR

      END

      PROGC.c #include Extern int JCP(int N)

      int main(){ int res=0;int m=10;int i;for(i=1;i<=m;i++)

      res=res+JCP(i);printf(“The result =%dn”,res);return 0;} 在這個程序中,主程序由c語言完成作求和,子程序由匯編語言寫成作階乘。

      5.實現(xiàn)字符串的逆序復(fù)制TEXT1=“HELLO”=>TEXT2=“OLLEH”

      AREA invstring, CODE, READONLY start

      ADR R1,TEXT1

      ADR R2,TEXT2

      MOV R3, #0 LOOP

      LDRB R0,[R1], #1

      ADD R3,R3,#1

      CMP R0,#0

      BNE LOOP

      SUB R1,R1,#2

      LOOP1

      LDRB R0,[R1], #-1

      STRB R0,[R2], #1

      SUB R3,R3, #1

      CMP R3,#1

      BNE LOOP1

      MOV R5,#&55

      TEXT1

      TEXT2 NOP =“HELLO”,0 ALIGN =“OELLH” END

      五、實驗小結(jié)

      在這次實驗中,學(xué)會了如何使用匯編程序進行編程。對匯編程序編程一些基本的要求有了一定的了解,學(xué)習(xí)了C語言的語法和在其中調(diào)用匯編程序的方法。學(xué)會了利用CodeWarrior IDE開發(fā)C和ARM匯編代碼。學(xué)會了在AXD中進行代碼調(diào)試的方法和過程,對AXD的調(diào)試有初步的了解。,實驗二嵌入式Linux交叉開發(fā)環(huán)境的建立

      一、實驗?zāi)康?/p>

      1、掌握嵌入式Linux交叉開發(fā)環(huán)境的建立方法

      2、學(xué)習(xí)和掌握Linux常用命令

      3、學(xué)習(xí)和掌握vi編輯器的使用

      二、實驗內(nèi)容

      1、搭建嵌入式Linux交叉開發(fā)環(huán)境

      2、熟悉Linux的常用命令

      3、熟悉vi編輯器的常用命令

      三、實驗原理

      Linux系統(tǒng)是UNIX系統(tǒng)的分支,是UNIX的微機版。Linux具有異常豐富的驅(qū)動程序資源,支持各種主流的硬件設(shè)備與技術(shù)。Linux包含了現(xiàn)代的UNIX操作系統(tǒng)的所有功能特性,這些功能包括多任務(wù)、虛擬內(nèi)存、虛擬文件系統(tǒng)、進程間通信、對稱所處理器、多用戶支持等。

      Vi編輯器是所有UNIX和Linux下的標準編輯器。它包含3種工作模式。嵌入式系統(tǒng)是專用的計算機系統(tǒng),它對系統(tǒng)的功能、可靠性、成本、體積、功耗等有嚴格的要求。大部分嵌入式系統(tǒng)沒有大容量存儲設(shè)備,一般不能安裝大型開發(fā)軟件,系統(tǒng)的開發(fā)需要采用交叉開發(fā)模式。

      四、實驗過程與關(guān)鍵代碼分析

      實驗用的是UP-NetARM2410-S試驗箱,里面配有三星的芯片S3c2410X。打開電腦上VMWare軟件,在Windows系統(tǒng)下啟動虛擬機里的Linux系統(tǒng)。接著需要

      1.宿主機的環(huán)境搭建

      下載并運行VMWare,根據(jù)向?qū)?chuàng)建一臺新虛擬機并選擇Linux作為客戶操作系統(tǒng),再根據(jù)向?qū)О惭bRedHat Linux 9.0。

      2.虛擬機中啟動Linux操作系統(tǒng)

      使用root登陸,用戶名為root,密碼為123456。之后對共享文件設(shè)置進行調(diào)整:打開settings界面,打開shared folders功能,同時將路徑設(shè)置到有課前下載的軟件的目錄下。

      3.開發(fā)工具軟件的安裝(1)安裝gcc 打開Linux后,打開終端窗口,在共享的目錄下找到install.sh并運行,命令如下: ls./ install.sh 安裝程序?qū)⒆詣咏?arm2410s目錄,并將所有的開發(fā)軟件包安裝到/arm2410s 目錄下,同時自動配置編譯環(huán)境,建立合適的符號鏈接。安裝完成后在目錄/opt/host/armv4l/bin/下應(yīng)該能看到主編譯器。(2)配置PATH路徑

      vi.bash.profile 將里面PATH變量改為PATH=$PATH:$HOME/bin:/opt/host/armv41/bin/;存盤后執(zhí)行

      source.bash_profile 以后armv4l-unknown-linux-gcc將被自動搜索到

      4.宿主機上的開發(fā)環(huán)境配置(1)配置IP地址

      ifconfig eth0 192.168.0.121 命令配置了宿主機的IP地址。然后打開網(wǎng)絡(luò)配置窗口,重新探測MAC地址。重新激活。(2)關(guān)閉防火墻

      單擊“Red”菜單→“系統(tǒng)設(shè)置”→“安全級別”→打開“安全級別配置”窗口,選擇“無防火墻選項。”(3)配置NFS。

      單擊“Red”菜單→“系統(tǒng)設(shè)置”→“服務(wù)器設(shè)置”→“服務(wù)”,在“服務(wù)配置”窗口中勾選nfs,單擊“開始”(4)NFS設(shè)置

      單擊“Red”菜單→“系統(tǒng)設(shè)置”→“服務(wù)器設(shè)置”→“NFS服務(wù)器”,打開“NFS服務(wù)器配置”窗口,設(shè)置NFS共享。

      然后在NFS服務(wù)器中增加主機IP地址的鏈接許可和目錄。完成配置。

      5.目標機的信息輸出

      Windows系統(tǒng)下,“開始”→“所有程序”→“附件”→“通訊”→“超級終端”,新建一個通信終端。區(qū)號、電話號碼隨意輸入。設(shè)置每秒位數(shù)為“115200”,數(shù)據(jù)位為“8”,無奇偶校驗,停止位為“1”,無數(shù)據(jù)流控制。單擊“確定”。

      6.程序的運行

      打開超級終端,啟動Linux,屏幕顯示:

      [/mnt/yaffs] 在超級終端上執(zhí)行掛載命令:

      [/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 掛載成功后可執(zhí)行程序。

      五、實驗小結(jié)

      在這次實驗中,學(xué)會建立Linux交叉開發(fā)環(huán)境,學(xué)會了ls和vi,cd等常用的Linux命令,并掌握了Vi編輯器的使用方法。同時知道了如何在搭建失敗時尋找錯誤進行排錯。

      實驗三嵌入式Linux環(huán)境下的程序設(shè)計

      一、實驗?zāi)康?/p>

      1、掌握嵌入式Linux環(huán)境下的程序設(shè)計方法

      2、學(xué)會編寫Makefile文件

      二、實驗內(nèi)容

      1、熟悉嵌入式教學(xué)實驗箱的使用

      2、編寫C程序和Makefile文件

      3、編譯程序產(chǎn)生可執(zhí)行程序

      4、完成主機的掛載和程序的執(zhí)行

      三、實驗原理

      在嵌入式Linux環(huán)境下的程序設(shè)計方法有一下幾個步驟:

      1.編寫源程序

      2.編寫Makefile文件 3.編譯程序

      4.運行和調(diào)試程序

      5.將生產(chǎn)的可執(zhí)行文件加入文件系統(tǒng)。

      前三個步驟在宿主機上完成,后面的步驟在目標機上完成。

      四、實驗過程與關(guān)鍵代碼分析

      1.建立工作目錄

      mkdir hello cd hello

      2.編寫源程序

      用vi編輯器編輯Hello.c文件

      vi Hello.c 在Vi中輸入源程序如下:

      #include main(){

      printf(“hello world n”);}

      3.編寫Makefile文件

      vi Makefile 在vi中編輯Makefile文件如下:

      CC= armv4l-unknown-linux-gcc EXEC = hello OBJS = hello.o CFLAGS += LDFLAGS+=-static all: $(EXEC)$(EXEC):(OBJS)$(CC)$(LDFLAGS)–o $@ $(OBJS)clean:

      -rm –f $(EXEC)*.elf *.gdb *.o

      4.編譯程序

      在hello目錄下運行“make”來編譯程序。

      make clean

      make 編譯成功后,生成可執(zhí)行文件Hello.o。

      5.下載調(diào)試

      在宿主機上啟動nfs服務(wù),并將/arms2410s設(shè)置為共享目錄。接下來啟動超級終端,建立通訊,掛載。

      [/mnt] mount –t nfs 192.168.0.121:/arm2410s /mnt/nfs 掛載成功后,進入/mnt/nfs,再進入/mnt/nfs/hello,直接運行剛剛編譯生成的可執(zhí)行文件Hello.o,查看運行結(jié)果

      cd hello./hello 可以看見“Hello world”

      只需要掛載一次便可,只要實驗箱沒有重啟,就可以一直保持連接。反復(fù)修改、編譯、調(diào)試,直至程序調(diào)試通過。

      6.可執(zhí)行文件加入文件系統(tǒng)

      程序調(diào)試通過后,可以把可執(zhí)行文件拖放到usr/bin目錄下,然后使用mkcramfs制作工具生成新的文件系統(tǒng)。當系統(tǒng)啟動后,就可以在相應(yīng)目錄下執(zhí)行可執(zhí)行程序hello.五、實驗小結(jié) 在這次實驗中,學(xué)會了在嵌入式Linux環(huán)境下設(shè)計程序。同時知道了如何對目標機進行掛載。以及如何在發(fā)現(xiàn)掛載不成功尋找錯誤進行修改。另外在編譯文件時需要注意的也都有所了解。

      實驗四多線程程序設(shè)計

      一、實驗?zāi)康?、2、二、實驗內(nèi)容1、2、3、4、三、實驗原理

      四、實驗過程與關(guān)鍵代碼分析

      五、實驗小結(jié)

      3+

      第五篇:ARM學(xué)習(xí)規(guī)劃(經(jīng)典).

      ARM 學(xué)習(xí)規(guī)劃

      ARM+LINUX路線,主攻嵌入式 Linux 操作系統(tǒng)及其上應(yīng)用軟件開發(fā)目標:(1 掌握主流嵌入式微處理器的結(jié)構(gòu)與原理(初步定為 arm9(2 必須掌握一個嵌入式操作系統(tǒng)(初步定為 uclinux 或 linux, 版本待定(3 必須熟悉嵌入式軟件開發(fā)流程并至少做一個嵌入式軟件項目。從事嵌入式軟件開發(fā)的好處是:(1目前國內(nèi)外這方面的人都很稀缺。這一領(lǐng)域入門門檻較高,所以非專業(yè) IT 人員很難切入這一領(lǐng)域;另一方面,是 因為這一領(lǐng)域較新,目前發(fā)展太快,大多數(shù)人無條件接觸。

      (2與企業(yè)計算等應(yīng)用軟件不同,嵌入式領(lǐng)域人才的工作強度通常低一些(但收入不低。

      (3哪天若想創(chuàng)業(yè),搞自已的產(chǎn)品,嵌入式不像應(yīng)用軟件那樣容易被盜版。硬件設(shè)計一般都是請其它公司給訂做(這 叫 “ 貼牌 ” :OEM ,都是通用的硬件,我們只管設(shè)計軟件就變成自己的產(chǎn)品了。

      (4興趣所在,這是最主要的。從事嵌入式軟件開發(fā)的缺點是:(1 入門起點較高,所用到的技術(shù)往往都有一定難度,若軟硬件基礎(chǔ)不好,特別是操作系統(tǒng)級軟件功底不深,則可能 不適于此行。

      (2這方面的企業(yè)數(shù)量要遠少于企業(yè)計算類企業(yè)。

      (3有少數(shù)公司經(jīng)常要碩士以上的人搞嵌入式,主要是基于嵌入式的難度。但大多數(shù)公司也并無此要求,只要有經(jīng)驗 即可。

      (4平臺依托強,換平臺比較辛苦。興趣的由來:

      1、成功觀念不同,不虛度此生,就是我的成功。

      2、喜歡思考,挑戰(zhàn)邏輯思維。

      3、喜歡 C C 是一種能發(fā)揮思維極限的語言。關(guān)于 C 的精神的一些方面可以被概述成短句如下: 相信程序員。

      不要阻止程序員做那些需要去做的。保持語言短小精干。一種方法做一個操作。

      使得它運行的夠快,盡管它并不能保證將是可移植的。

      4、喜歡底層開發(fā),討厭 vb 類開發(fā)工具(并不是說 vb 不好。

      5、發(fā)展前景好,適合創(chuàng)業(yè),不想自己要死了的時候還是一個工程師。方法步驟:

      1、基礎(chǔ)知識: 目的:能看懂硬件工作原理,但重點在嵌入式軟件, 特別是操作系統(tǒng)級軟件 ,那將是我的優(yōu)勢。

      科目:數(shù)字電路、計算機組成原理、嵌入式微處理器結(jié)構(gòu)。

      匯編語言、C/C++、編譯原理、離散數(shù)學(xué)。

      數(shù)據(jù)結(jié)構(gòu)和算法、操作系統(tǒng)、軟件工程、網(wǎng)絡(luò)、數(shù)據(jù)庫。

      方法:雖科目眾多,但都是較簡單的基礎(chǔ),且大部分已掌握。不一定全學(xué),可根據(jù)需要選修。

      主攻書籍:the c++ programming language(一直沒時間讀、數(shù)據(jù)結(jié)構(gòu)-C2。

      2、學(xué)習(xí)linux : 目的:深入掌握 linux 系統(tǒng)。

      方法:使用 linux — 〉 linxu 系統(tǒng)編程開發(fā) — 〉驅(qū)動開發(fā)和分析 linux 內(nèi)核。先看深,那主講原理??磶妆楹?看情景分析, 對照深看,兩本交叉,深是綱,情是目。剖析則是 0.11版,適合學(xué)習(xí)。最后深入代碼。

      主攻書籍:linux 內(nèi)核完全剖析、unix 環(huán)境高級編程、深入理解 linux 內(nèi)核、情景分析和源代。

      3、學(xué)習(xí)嵌入式 linux : 目的:掌握嵌入式處理器其及系統(tǒng)。方法:(1嵌入式微處理器結(jié)構(gòu)與應(yīng)用:直接 arm 原理及匯編即可,不要重復(fù) x86。(2嵌入式操作系統(tǒng)類:ucOS/II簡單,開源,可供入門。而后深入研究 uClinux。(3必須有塊開發(fā)板(arm9以上 ,有條件可參加培訓(xùn)(進步快,能認識些朋友。主攻書籍:毛德操的《嵌入式系統(tǒng)》及其他 arm9手冊與 arm 匯編指令等。

      4、深入學(xué)習(xí):

      A、數(shù)字圖像壓縮技術(shù):主要是應(yīng)掌握 MPEG、mp3等編解碼算法和技術(shù)。B、通信協(xié)議及編程技術(shù):TCP/IP協(xié)議、802.11, Bluetooth , GPRS、GSM、CDMA 等。

      C、網(wǎng)絡(luò)與信息安全技術(shù):如加密技術(shù),數(shù)字證書 CA 等。

      D、DSP 技術(shù):Digital Signal Process, DSP 處理器通過硬件實現(xiàn)數(shù)字信號處理算法。

      說明:太多細節(jié)未說明,可根據(jù)實際情況調(diào)整。重點在于1、3,不必完全按照順序作。對于學(xué)習(xí)c++,理由是 c++不只 是一種語言,一種工具,她還是一種藝術(shù),一種文化,一種哲學(xué)理念、但不是拿來炫耀得東西。對于 linux 內(nèi)核,學(xué)習(xí)編程,讀一些優(yōu)秀代碼也是有必要的。

      注意:要學(xué)會舉一反多,有強大的基礎(chǔ),很多東西簡單看看就能會。想成為合格的程序員,前提是必須熟練至少一種 編程語言,并具有良好的邏輯思維。一定要理論結(jié)合實踐。

      不要一味鉆研技術(shù),雖然擠出時間是很難做到的,但還是要留點余地去完善其他的愛好,比如宇宙,素描、機械、管理, 心理學(xué)、游戲、科幻電影。還有一些不愿意做但必須要做的!技術(shù)是通過編程編程在編程編出來的。永遠不要夢想一步登天,不要做浮躁的人,不要覺得路途漫上。而是要編程編程 在編程,完了在編程,在編程!等機會來了在創(chuàng)業(yè)(不要相信有奇跡發(fā)生,盲目創(chuàng)業(yè)很難成功,即便成功了發(fā)展空間也 不一定很大。

      嵌入式書籍推薦 Linux 基礎(chǔ)

      1、《 Linux 與 Unix Shell 編程指南》

      C 語言基礎(chǔ)

      1、《 C Primer Plus, 5th Edition》 【美】 Stephen Prata著

      2、《 The C Programming Language, 2nd Edition》 【美】 Brian W.Kernighan David M.Rithie(K & R著

      3、《 Advanced Programming in the UNIX Environment, 2nd Edition》(APUE

      4、《嵌入式 Linux 應(yīng)用程序開發(fā)詳解》 Linux 內(nèi)核

      1、《深入理解 Linux 內(nèi)核》(第三版

      2、《 Linux 內(nèi)核源代碼情景分析》毛德操 胡希明著 研發(fā)方向

      1、《 UNIX Network Programming》(UNP

      2、《 TCP/IP詳解》

      3、《 Linux 內(nèi)核編程》

      4、《 Linux 設(shè)備驅(qū)動開發(fā)》(LDD 硬件基礎(chǔ)

      1、《 ARM 體系結(jié)構(gòu)與編程》杜春雷著

      2、S3C2410 Datasheet 英語基礎(chǔ)

      1、《計算機與通信專業(yè)英語》

      系統(tǒng)教程

      1、《嵌入式系統(tǒng) ―― 體系結(jié)構(gòu)、編程與設(shè)計》

      2、《嵌入式系統(tǒng) ―― 采用公開源代碼和 StrongARM/Xscale處理器》毛德操 胡希明著

      3、《 Building Embedded Linux Systems》 理論基礎(chǔ)

      1、《算法導(dǎo)論》

      2、《數(shù)據(jù)結(jié)構(gòu)(C 語言版 》 阿斯事實上

      下載linux嵌入式學(xué)習(xí)流程及ARM學(xué)習(xí)大綱word格式文檔
      下載linux嵌入式學(xué)習(xí)流程及ARM學(xué)習(xí)大綱.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        ARM嵌入式基礎(chǔ)教程知識點總結(jié)

        1、舉出書本中未提到的嵌入式在每種異常模式下都有一個對統(tǒng):嵌入式μCLinux、Windows 系統(tǒng)的例子:紅綠燈控制,數(shù)字應(yīng)的物理寄存器——程序狀態(tài)CE、VxWorks、μC/OS-II 空調(diào),......

        ARM與嵌入式實驗報告(5篇)

        ARM與嵌入式技術(shù) 實驗報告 專業(yè)班級:通信工程 姓名:**** 學(xué)號:****** 實驗日期:2012年6月7日 指導(dǎo)老師:***** 一、實驗?zāi)康?1.學(xué)習(xí)使用Embest IDE開發(fā)環(huán)境及ARM 軟件模擬器; 2.......

        ARM嵌入式技術(shù)復(fù)習(xí)總結(jié)

        第一章 1.嵌入式系統(tǒng)定義/概念:嵌入式系統(tǒng)就是嵌入到對象體中的專用計算機系統(tǒng)。三要素:嵌入、專用、計算機。嵌入性:嵌入到對象體系中,有對象環(huán)境要求,專用性:軟、硬件按對象要求......

        ARM學(xué)習(xí)心得體會(5篇材料)

        ARM四天學(xué)習(xí)心得體會 1.懂得了如何使用IAR的軟件使用,使用前要先進行環(huán)境的設(shè)置,具體見文檔IAR使用說明。 2.第一次是學(xué)習(xí)點亮LED燈,在點亮LED燈中學(xué)習(xí)到如果要點亮LED燈必須學(xué)......

        學(xué)習(xí)ARM的心得體會

        arm四天學(xué)習(xí)心得體會 1.懂得了如何使用iar的軟件使用,使用前要先進行環(huán)境的設(shè)置,具體見文檔iar使用說明。 2.第一次是學(xué)習(xí)點亮led燈,在點亮led燈中學(xué)習(xí)到如果要點亮led燈必須......

        嵌入式學(xué)習(xí)路線

        語言基礎(chǔ) 1.C 與 C++ A. 《c reference》 B. 《c++ 編程思想》 C. 《effective c++》 D. 《more effective c++》 E. 《effective c++ stl》 2. 軟件設(shè)計 A. 《UML 2.0 Refe......

        嵌入式學(xué)習(xí)之路

        1、必須認真學(xué)習(xí)一個操作系統(tǒng) (例如從UC/OSII 到 Linux) 2、必須熟悉TCP/IP網(wǎng)絡(luò)協(xié)議 (現(xiàn)在的嵌入式產(chǎn)品與網(wǎng)絡(luò)的聯(lián)系越來越緊密,融入網(wǎng)絡(luò)是必然趨勢) 3、必須認真的學(xué)習(xí)一款CPU的......

        嵌入式學(xué)習(xí)總結(jié)

        嵌入式學(xué)習(xí)總結(jié) 一.基本信息................................................................................................................... 1 二.嵌入式系統(tǒng)的組......