




已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1,嵌入式系統(tǒng)概念,以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)。,2,嵌入式系統(tǒng)特點,面向特定應(yīng)用的特點 。 嵌入式系統(tǒng)的硬件和軟件都必須進(jìn)行高效地設(shè)計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能 。 嵌入式系統(tǒng)是將先進(jìn)的計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物 。 為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片中或單片機本身,而不是存儲于磁盤中。 嵌入式開發(fā)的軟件代碼尤其要求高質(zhì)量、高可靠性 。 嵌入式系統(tǒng)本身不具備二次開發(fā)能力 。,3,嵌入式系統(tǒng)常用處理器體系結(jié)構(gòu),PowerPC RISC體系結(jié)構(gòu),蘋果電腦公司、IBM和摩托羅拉的半導(dǎo)體部門(Freescale)共同開發(fā)。 汽車、消費類電子產(chǎn)品、網(wǎng)絡(luò)應(yīng)用設(shè)備、電信交換機 MIPS RISC體系結(jié)構(gòu),MIPS Technology公司 廣泛應(yīng)用于許多產(chǎn)品中 ARM Intel Atom,4,ARM簡介,ARM是一類嵌入式微處理器,同時也是一個公司的名字。ARM公司于1990年11月成立于英國劍橋,它是一家專門從事16/32位RISC微處理器知識產(chǎn)權(quán)設(shè)計的供應(yīng)商。ARM公司本身不直接從事芯片生產(chǎn),而只是授權(quán)ARM內(nèi)核,再給生產(chǎn)和銷售半導(dǎo)體的合作伙伴,同時也提供基于ARM架構(gòu)的開發(fā)設(shè)計技術(shù)。世界各大半導(dǎo)體生產(chǎn)商從ARM公司處購買其設(shè)計的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進(jìn)入市場。 ARM公司從成立至今,在短短幾十年的時間就占據(jù)了75%的市場份額,如今,ARM微處理器及技術(shù)的應(yīng)用幾乎已經(jīng)深入到各個領(lǐng)域。采用ARM技術(shù)的微處理器現(xiàn)在已經(jīng)遍及各類電子產(chǎn)品,汽車、消費娛樂、影像、工業(yè)控制、海量存儲、網(wǎng)絡(luò)、安保和無線等市場。到2001年就幾乎已經(jīng)壟斷了全球RISC芯片市場,成為業(yè)界實際的RISC芯片標(biāo)準(zhǔn)。,5,ARM體系架構(gòu)的版本,ARM體系架構(gòu)的版本就是它所使用的指令集的版本。 ARMv4 當(dāng)今市場上最老版本,只支持32位指令集。一些ARM7處理器和Intel StrongARM采用。 ARMv4T 增加了16位的Thumb指令集??梢允咕幾g器生成更緊湊的代碼,提高指令執(zhí)行效率。 ARMv5TE 1999年,ARMv5TE改進(jìn)了Thumb指令集,增加了一些“增強型DSP指令”,簡稱為E指令集。,6,ARM體系架構(gòu)的版本(續(xù)),ARMv5TEJ 2000年,ARMv5TEJ版本增加了Jazelle技術(shù)用于提供Java加速功能,和僅用軟件實現(xiàn)的Java虛擬機相比,運行速度大大提高,功耗大幅下降。 ARMv6 2001年問世。在許多方面都有改進(jìn):存儲系統(tǒng)、異常處理,最重要的是增加了對多媒體功能的支持。 引入了Thumb-2和TrustZone技術(shù)。 ARMv7 使用Thumb-2技術(shù),還使用了NEON技術(shù),將DSP和媒體處理能力提高了近4倍,并支持改良的浮點運算。,7,ARM處理器系列,ARM7 32位低功耗RISC處理器。無MMU(內(nèi)存管理單元) ARM9 有MMU和Cache。 ARM920T(如S3C2410和S3C2440)和ARM922T兩種類型。 ARM9E 在單一的處理器內(nèi)核上提供了微控制器、DSP、Java應(yīng)用系統(tǒng)的解決方案 ARM10E 使用新的體系結(jié)構(gòu)擁有所有ARM系列中最高主頻。含有浮點運算協(xié)處理器。,8,ARM處理器系列(續(xù)),ARM11 ARMv6的第一代設(shè)計實現(xiàn)。 Cortex 基于ARMv7架構(gòu),分為Cortex-A、Cortex-R和Cortex-M 3類。Cortex-A為傳統(tǒng)的、基于虛擬存儲的操作系統(tǒng)和應(yīng)用程序而設(shè)計。Cortex-R針對實時系統(tǒng)。Cortex-M針對價格敏感產(chǎn)品,只支持Thumb-2指令集。 SecurCore 專為安全需要而設(shè)計 OptimoDE Data Engines 針對高性能嵌入式信號處理應(yīng)用 Intel 的strongARM和Xscale系列 Xscale基于ARMv5TE 如PXA270,9,嵌入式操作系統(tǒng)簡介,C/OS-II Micrium公司開發(fā),可用于8位、16位和32位處理器,硬件要求低 Vxworks WindRiver公司開發(fā)的嵌入式實時操作系統(tǒng),非常優(yōu)秀。 Windows CE Linux eCos RedHat公司開發(fā),實時性好,硬件要求低 RTEMS 實時性好,占用資源少,10,嵌入式Linux開發(fā)過程,硬件設(shè)計 制作交叉編譯工具鏈 移植Bootloader Bootloader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段程序,它類似于PC機中的BIOS程序。通過這段程序,可以完成硬件設(shè)備的初始化,并建立內(nèi)存空間的映射關(guān)系,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),為最終加載系統(tǒng)內(nèi)核做好準(zhǔn)備。 Uboot Vivi Supervivi NOR和NAND flash的作用,11,嵌入式Linux開發(fā)過程(續(xù)),移植內(nèi)核(配置編譯內(nèi)核) 制作根文件系統(tǒng) 根文件系統(tǒng)是內(nèi)核啟動時掛載的第一個文件系統(tǒng),包括Linux啟動時所必須的目錄和關(guān)鍵性的文件。 一般有/bin /sbin /dev /etc /lib /home /root /usr /var /proc /mnt /tmp等目錄。 一般來說,都要使用Busybox來創(chuàng)建/bin、/sbin等目錄下的可執(zhí)行文件。Busybox動態(tài)鏈接只有幾百KB,靜態(tài)鏈接只有1MB左右。 編寫自己增加的設(shè)備的驅(qū)動 編寫應(yīng)用程序,12,嵌入式開發(fā)的幾個基本概念,宿主機與目標(biāo)板 交叉編譯 串口在調(diào)試中的作用 終端、傳送文件,13,宿主機Linux的選擇,RedHat 系列 RedHat企業(yè)版6 CentOS5.6 Fedora 15 早期的RedHat9 Debian系列 Debian 6.0.1a Ubuntu 11.04 Mint 新華華鐳 Suse系列 SUSE Linux Enterprise Server SUSE Linux Enterprise Desktop OpenSuse,14,宿主機Linux的選擇(續(xù)),Gentoo Slackware Mandriva Puppy Linux 紅旗Linux,15,Linux常用命令與軟件,ls cd cp rm mv mkdir cat more head tail find grep mount chmod ps kill dmesg tar du df mknod diff echo 注意文件和目錄的權(quán)限 文本編輯器可以使用vi、emacs、gedit、geany等 編譯gcc 交叉編譯arm-linux-gcc 調(diào)試gdb make make不是編譯器,它可以根據(jù)預(yù)定義的參數(shù)來執(zhí)行訂制的編譯過程,在這個過程中要依靠外部編譯器,16,編寫C語言程序編譯、運行,用文本編輯器編寫程序 取名為lx1.c #include int main() printf(“Hello,World.n“); return 0; 編譯程序 gcc lx1.c -o lx1.o 運行程序 ./lx1.o,17,多個文件的編譯,編寫程序,輸入一個整數(shù),然后輸出該整數(shù)的10倍和20倍。其中,10倍20倍各用一個函數(shù)實現(xiàn) 主程序lx2.c 10倍 lx2_func1.c 20倍 lx2_func2.c 頭文件 lx2_h.h,18,程序lx2_func1.c int mul10(int x) return 10*x; ,程序lx2_func2.c int mul20(int x) return 20*x; ,頭文件lx2_h.h int mul10(int x); int mul20(int x);,19,程序lx2.c #include #include “l(fā)x2_h.h“ int main() int x; printf(“x=?n“); scanf(“%d“, ,編譯程序 gcc lx2.c lx2_func1.c lx2_func2.c -o lx2 運行程序 ./lx2,gcc -c lx2.c gcc -c lx2_func1.c gcc -c lx2_func2.c gcc lx2.o lx2_func1.o lx2_func2.o -o lx2,20,make工程管理器,make工程管理器也就是個“自動編譯管理器”,這里的“自動”是指它能構(gòu)根據(jù)文件時間戳自動發(fā)現(xiàn)更新過的文件而減少編譯的工作量,同時,它通過讀入Makefile文件文件的內(nèi)容來執(zhí)行大量的編譯工作 makefile文件有有一組依賴關(guān)系和規(guī)則構(gòu)成。每個依賴關(guān)系由一個目標(biāo)(即將要創(chuàng)造的文件)和一組該目標(biāo)所依賴的源文件組成。而規(guī)則描述了如何通過依賴文件創(chuàng)建目標(biāo)。,21,lx1:lx1.c gcc -o lx1 lx1.c 注意表示規(guī)則的語句以Tab開頭,不能以空格開頭,Make的3個常用選項 -k make發(fā)現(xiàn)錯誤時繼續(xù)執(zhí)行,而不是發(fā)現(xiàn)第一個錯誤就停下來。 -n make命令輸出將要執(zhí)行的步驟,而不真正執(zhí)行這些操作。 -f 告訴make命令,哪個文件作為makefile文件,如未使用該選項,make命令首先查找當(dāng)前目錄下名為makefile的文件然后查找Makefile all : prog1 prog2 prog3 執(zhí)行make時,目標(biāo)“all”被作為終極目標(biāo)。為了完成對它的更新,make會創(chuàng)建(不存在)或者重建(已存在)目標(biāo)“all”的所有依賴文件(prog1、prog2和prog3)。 clean: rm -f *.o make clean 可以清除前面產(chǎn)生的文件。 #開始的語句是注釋,22,/*lx2_func1.c*/ int mul10(int x) return 10*x; ,/*lx2_func2.c*/ int mul20(int x) return 20*x; ,/*lx2.c*/ #include #include int main() int x; printf(“x=?n“); scanf(“%d“, /本句如果注釋掉,編譯時使用 -Wall 有警告 ,/*lx2_h.h*/ int mul10(int x); int mul20(int x);,23,lx2:lx2.o lx2_func1.o lx2_func2.o gcc -o lx2 lx2.o lx2_func1.o lx2_func2.o lx2.o:lx2.c lx2_h.h gcc -I . -c lx2.c lx2_func1.o:lx2_func1.c gcc -c lx2_func1.c lx2_func2.o:lx2_func2.c gcc -c lx2_func2.c clean: # rm lx2.o lx2_func1.o lx2_func2.o rm *.o,24,makefile文件中的宏,makefile文件允許使用宏,這樣可以以一種更為通用的格式來書寫makefile文件。便于管理大型項目。 還可以,很簡單的修改編譯器的名稱,只改一行,不用修改多行。 gcc cc c89 arm-linux-gcc,25,all:lx2 CC=gcc INCLUDE=. CFLAGS=-g -Wall lx2:lx2.o lx2_func1.o lx2_func2.o $(CC) -o lx2 lx2.o lx2_func1.o lx2_func2.o lx2.o:lx2.c lx2_h.h $(CC) -I $(INCLUDE) $(CFLAGS) -c lx2.c lx2_func1.o:lx2_func1.c $(CC) $(CFLAGS) -c lx2_func1.c lx2_func2.o:lx2_func2.c $(CC) $(CFLAGS) -c lx2_func2.c clean: # rm lx2.o lx2_func1.o lx2_func2.o rm *.o,26,mini2440開發(fā)板交叉編譯工具鏈的安裝,交叉編譯器統(tǒng)一為 arm-linux-gcc-4.3.2 下面是它的安裝設(shè)置步驟。 Step1:將光盤目錄 linux中的 arm-linux-gcc-4.3.2.tgz 復(fù)制到某個目錄下如 tmp,然后 進(jìn)入到該目錄,執(zhí)行解壓命令: #cd tmp #tar xvzf arm-linux-gcc-4.3.2.tgz C / 注意:C 后面有個空格,并且 C 是大寫的,它是英文單詞“Change”的第一個字母, 在此是改變目錄的意思。 執(zhí)行該命令,將把 arm-linux-gcc 安裝到/usr/loca/arm/4.3.2 目錄。 Step2:把編譯器路徑加入系統(tǒng)環(huán)境變量,運行命令 #gedit /root/.bashrc 編輯/root/.bashrc 文件,在最后一行 export PATH=$PATH:/usr/local/arm/4.3.2/bin 重新登錄系統(tǒng)(不必重啟機器,開始-logout 即可),使以上設(shè)置生效,在命令行輸入 arm-linux-gcc v,會出現(xiàn)提示信息,這說明交叉編譯環(huán)境已經(jīng)成功安裝。,27,系統(tǒng)環(huán)境變量也可以如下修改: 修改 /.bash_profile 修改后該文件最后幾行內(nèi)容如下 PATH=$PATH:$HOME/bin:/usr/local/arm/4.3.2/bin export PATH 交叉編譯時使用命令 arm-linux-gcc,28,從PC機向開發(fā)板傳文件 在開發(fā)板終端窗口輸入 rz 出現(xiàn) C*B0100000023be50ve.*B0100000023be50 按ctrl+A 再按s 選zmodem 再根據(jù)提示選文件(進(jìn)入目錄的方法是用空格雙擊。選中文件的辦法是單擊空格選中文件,再按回車。) 從開發(fā)板向PC機傳文件,例如開發(fā)板上有個文件名為lx1.c sz lx1.c,PC機和開發(fā)板使用minicom軟件通過串口傳輸文件,29,PC機和開發(fā)板可以使用ftp傳輸文件 在PC機輸入 ftp 192.168.1
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國壓阻差壓變送器項目投資可行性研究分析報告
- 甘肅省會師中學(xué)2025屆生物七下期末綜合測試模擬試題含解析
- 2025屆廣東省中學(xué)山一中學(xué)七年級生物第二學(xué)期期末綜合測試模擬試題含解析
- 2025屆福建省泉州市泉州聚龍外國語學(xué)校八年級物理第二學(xué)期期末檢測模擬試題含解析
- 全國教育大會內(nèi)容解讀
- 2025年浙江嘉興市海寧市硤石城中村建設(shè)有限公司招聘筆試參考題庫含答案解析
- 2025年浙江安吉縣文旅集團文旅酒店管理有限公司招聘筆試參考題庫含答案解析
- 2025年山東煙臺市萊州市地方儲備糧管理有限公司招聘筆試參考題庫含答案解析
- 黑龍江高考英語復(fù)習(xí)重點單選題100道及答案
- 湖南省天壹名校聯(lián)盟2023-2024學(xué)年高二下學(xué)期3月聯(lián)考生物試題 無答案
- 清華附中考試試題及答案
- 《通過鼻口腔吸痰技術(shù)》教育培訓(xùn)課件
- 工程測量學(xué)概述
- 北京政法職業(yè)學(xué)院招聘筆試真題2024
- 小學(xué)三年級英語家長會省課賽課獲獎?wù)n件市賽課一等獎?wù)n件
- 農(nóng)村小學(xué)教師信息技術(shù)應(yīng)用能力提升策略研究:數(shù)字化教學(xué)資源與實踐應(yīng)用
- 2024-2025學(xué)年河南省天一大聯(lián)考高二下學(xué)期4月期中測試數(shù)學(xué)試卷(含答案)
- 2025-2030中國學(xué)生校服行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 全球化背景下的超大城市治理創(chuàng)新
- 202503寶鋼大廈BA系統(tǒng)改造方案圖文
- 《雙碳管理基礎(chǔ)與實務(wù)》課件-第六章 ESG管理
評論
0/150
提交評論