嵌入式Linux_開發(fā).doc_第1頁
嵌入式Linux_開發(fā).doc_第2頁
嵌入式Linux_開發(fā).doc_第3頁
嵌入式Linux_開發(fā).doc_第4頁
嵌入式Linux_開發(fā).doc_第5頁
已閱讀5頁,還剩210頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

內(nèi)容目錄課程主要內(nèi)容9概念和基本工具:9硬件結構及原理講解9linux部分9綜合試驗10使用教材10硬件環(huán)境10第 1章 嵌入式系統(tǒng)概論111. 嵌入式系統(tǒng)概述111.1什么是嵌入式系統(tǒng)111.2嵌入式系統(tǒng)的特點111.3嵌入式系統(tǒng)與pc的不同111.4嵌入式系統(tǒng)的應用領域121.5嵌入式系統(tǒng)的產(chǎn)品121.6嵌入式系統(tǒng)的歷史121.7巨大的市場131.8創(chuàng)新的機遇132. 嵌入式系統(tǒng)的基本知識132.1嵌入式系統(tǒng)的基本結構132.2嵌入式系統(tǒng)的硬件基本結構142.3嵌入式處理器142.4嵌入式操作系統(tǒng)173. 嵌入式系統(tǒng)的設計原則及方法181. 嵌入式系統(tǒng)的設計準則182. 嵌入式系統(tǒng)的設計流程193. 嵌入式系統(tǒng)的開發(fā)方法214. 嵌入式系統(tǒng)的開發(fā)模式225. 嵌入式系統(tǒng)的測試23第 2 章 linux操作系統(tǒng)簡介232.1 linux的發(fā)展232.1.1 什么是linux232.1.2 linux的歷史232.2 linux的版本232.2.1 國外主要發(fā)行版本242.2.2 國內(nèi)主要發(fā)行版本242.3 linux的特性和功能242.3.1 linux的特性242.3.2 linux的功能242.4 linux的常用軟件242.4.1 基本命令和工具242.4.2 辦公軟件252.4.3 程序設計252.4.4 網(wǎng)絡軟件252.4.5 x window252.4.6 多媒體軟件252.4.7 其他軟件252.5 linux的內(nèi)核體系結構252.6 linux的現(xiàn)狀及前景27第 3 章 linux的安裝與配置273.1 安裝前的準備工作273.1.1 確定系統(tǒng)環(huán)境283.1.2 選擇安裝方法283.1.3 準備工作的步驟283.2 安 裝 linux283.3 安裝后的系統(tǒng)配置303.3.1 設置代理303.3.2 配置工具30rpm 有基本操作模式31第 4 章 linux使用基礎314.1 linux常用命令314.1.1 進入與退出命令314.1.2 系統(tǒng)詢問命令324.1.3 文件操作命令324.1.4 目錄操作命令334.1.5 口令、權限命令344.1.6 文件壓縮與聯(lián)機幫助命令354.2 shell程序設計364.2.1 shell概述36第 5章 設備管理381 設備管理概述381.1 i/o設備的類型381.2 設備管理的任務和功能381.3 設備控制器391.4 i/o通道391.6 設備驅(qū)動402 i/o控制方式412.1 程序i/o方式412.2 中斷驅(qū)動i/o控制方式452.3 dma控制方式463 設 備 分 配474 linux中的設備管理47第 6 章 linux 網(wǎng)絡應用486.1 linux的網(wǎng)絡功能486.2 基本網(wǎng)絡操作命令496.2.1 ping命令496.2.2 telnet命令496.2.3 ftp命令496.2.4 netstat命令496.3 網(wǎng)絡資源共享506.3.1 linux/unix系統(tǒng)之間文件共享nfs506.3.2 linux/windows系統(tǒng)之間文件共享samba506.4.3 ftp服務器51第 8 章linux編程基礎511.概述511.1 linux 編程512. vi 的使用523. 使用gnu cc 開發(fā)應用程序543.1 使用gnu cc543.2 gcc的版本信息553.3 gcc 的使用553.4 使用優(yōu)化選項56 3.5 使用調(diào)試和剖析選項564. 使用gnu make編輯makefile564.1 準備工作564.2 makefile 文件的基本結構574.3 makefile中的變量584.4 makefile 的隱含規(guī)則605 調(diào)試工具gdb615.1 gdb調(diào)試器簡介615.2 gdb 命令的基本使用和應用62v 1gdb基本命令62linux系統(tǒng)調(diào)用與文件i/o631、linux系統(tǒng)調(diào)用與文件i/o631.1、linux系統(tǒng)調(diào)用632.1、用戶程序接口(api)632.2 文件描述符642.3 open函數(shù)642.4 creat函數(shù)652.5 close函數(shù)652.6 lseek函數(shù)652.7 read函數(shù)662.8 write函數(shù)662.9 fcntl函數(shù)682.91 fcntl函數(shù)682.9.2 用fcntl給文件加鎖692.9.3 fcntl函數(shù)格式692.9.4 f l o c k結構說明:692.10 ioctl函數(shù)693、select 實現(xiàn)i/o復用703.1 i/o處理的五種模型703.2 select函數(shù)70第 7 章 進程管理727.1 進程的基本概念727.1.1 程序的順序執(zhí)行和并發(fā)執(zhí)行727.1.2 進程的定義和特征727.1.3 進程的狀態(tài)及其轉換737.1.4 進程的結構732 進程控制773 進程互斥和同步784 進程通信815 進程調(diào)度826 死鎖847 線程858 linux中的進程管理86第 9 章 linux進程控制881、程序和進程881.1 程序881.2 進程和進程id881.3 linux下的進程結構891.3 init進程891.4 獲取進程標識891.5 fork函數(shù)891.6 進程創(chuàng)建891.7 vfork函數(shù)911.8 exec函數(shù)911.9 exit和_exit931.10 wait和waitpid函數(shù)962. 守護進程982.1 概述982.2 守護進程特征982.3 守護進程編程規(guī)則(5步)983. 守護進程的出錯處理1003.1 syslog函數(shù)說明100第 10 章linux進程間通信1031. 進程間通信概述1032. 管道通信1042.1 管道創(chuàng)建與關閉1042.2 管道讀寫1052.3 管道讀寫注意事項1072.4 標準流管道1072.5 命名管道(fifo)1082.5.1 基本概念1082.5.2 命名管道創(chuàng)建與操作1093. 信號1113.1 信號概述1113.2 信號發(fā)送與捕捉1133.3 信號的處理1153.3.1 signal()1163.3.2 信號集函數(shù)組1 創(chuàng)建函數(shù)集1 登記信號集1 檢測信號集1204. 共享內(nèi)存1215. 消息隊列124linux多線程編程126linux下線程概述126linux線程實現(xiàn)1272.1 線程創(chuàng)建與退出1272.2 修改線程屬性1292.3 mutex互斥鎖線程控制1322.4 信號量線程控制135linux網(wǎng)絡編程140tcp/ip協(xié)議概述1401.1 osi參考模型與tcp/ip參考模型1401.2 tcp/ip協(xié)議族1411.2.1 網(wǎng)絡層1411.2.2 傳輸層協(xié)議1411.2.3 應用程序部分1421.3 internet 協(xié)議(ip)1501.3.1 ip功能1501.3.2 ip 地址1501.4 傳輸控制協(xié)議(tcp)1521.5 用戶數(shù)據(jù)報文協(xié)議1531.6 tcp/ip 協(xié)議分組服務153網(wǎng)絡編程基礎1542.1 socket概述1542.2 套接字地址結構1552.3 字節(jié)序列轉換1552.4 地址格式轉換1552.5基本套接字調(diào)用155網(wǎng)絡高級編程158linux串口應用開發(fā)1631. 串口概述1632. 串口設置1632.1串口配置流程1753. 串口使用詳解1763.1 打開串口1763.2 讀寫串口176三星44b0開發(fā)板的啟動與arm集成開發(fā)環(huán)境ads的配置使用以及生成bootloader鏡像文件179配置ads180axd debugger配置 180configure target180配置回環(huán)地址183configure interface184codewarrior for arm developer suite配置184target settings184arm linker185output185options186arm fromelf187刪除目標文件187運行debug187tftp程序傳遞linux上位機文件到三星44b0開發(fā)板189第二章 arm技術概述1892.1 arm體系結構的發(fā)展歷史和技術特征1902.1.1 arm發(fā)展的歷程1902.1.2 arm體系結構的技術特征1902.2 arm體系結構不同版本的發(fā)展概述1912.2.1 arm體系結構的基本版本 1912.2.2 arm體系結構的演變 1922.2.3 arm體系結構的命名規(guī)則1932.3 thumb技術介紹1932.3.1thumb的技術概述 1932.3.2thumb的技術實現(xiàn) 1932.3.3thumb技術的特點 1932.4 arm處理器工作狀態(tài)1932.5 arm處理器工作模式1942.6 arm寄存器組成1962.6.1arm寄存器組成概述 1962.6.3thumb狀態(tài)下的寄存器組織1972.7 arm異常中斷1982.8 arm組織結構簡介2002.8.1三級流水線arm的組織 2002.8.2五級流水線arm的組織2012)arm 3級流水線下pc的行為 2012.9 arm存儲器接口及存儲器層次2012.9.1 arm存儲數(shù)據(jù)類型和存儲格式 2012.9.2 arm的存儲器層次簡介 2022.9.3 arm存儲系統(tǒng)簡介 2022.10 arm協(xié)處理器2022.11 arm片上總線amba2032.12 arm的調(diào)試結構2032.13 arm核綜述2032.14 基于arm 核的芯片選擇2032.13.1 arm7系列核介紹2032.13.2 arm9系列核介紹 2062.13.3 arm10系列核 2072.13.4 strongarm和xscale系列核 2072.13.5 securcore系列核 208第三章 arm指令集2093.1 arm指令集概述2093.1.1 指令集編碼2093.1.2 條件執(zhí)行 2093.1.3 指令分類及指令格式 2093.2 arm尋址方式2103.2.1 立即尋址2103.2.2 寄存器尋址2103.2.3 寄存器間接尋址2113.2.4 基址加偏址尋址 2113.2.5 堆棧尋址 2123.2.6 塊拷貝尋址 2123.2.7 相對尋址 2123.3 arm指令詳細介紹2133.3.1 數(shù)據(jù)處理指令2133.3.2 load/store指令2143.3.3 程序狀態(tài)寄存器與通用寄存器之間的傳送指令2153.3.4 轉移指令2153.3.5 異常中斷指令2163.3.6 協(xié)處理器指令216第四章 thumb 指令集2174.1 thumb 指令集概述2174.1.1 thumb指令集編碼2174.1.2 thumb狀態(tài)切換 2174.1.3 編程模型2174.1.4 thumb指令集特性2184.2.1 數(shù)據(jù)處理指令;2194.2.2 轉移指令; 2194.2.3 load/store指令; 2204.2.4異常中斷指令。 220第五章基于arm的嵌入式程序設計2215.1 arm匯編語言的偽操作、宏指令與偽指令2215.1.1 兩種常見的arm編譯開發(fā)環(huán)境2215.1.2 ads編譯環(huán)境下的偽操作和宏指令2215.1.3 gnu編譯環(huán)境下的偽操作和宏指令2215.1.3 gnu編譯環(huán)境下的偽操作和宏指令2215.1.4 arm匯編語言的偽指令2215.2 arm匯編語言程序設計2215.2.1 arm匯編中的文件格式2215.2.2 arm匯編語言語句格式2225.2.3 arm匯編語言編程的重點2225.2.4 arm匯編程序?qū)嵗?245.3 嵌入式c語言程序設計基礎2245.3.1 c語言預處理偽指令在嵌入式程序設計中的應用2245.3.2 嵌入式程序設計中的函數(shù)及函數(shù)庫2255.3.3 嵌入式程序設計中常用的c語言語句2255.3.4 嵌入式程序設計中c語言的變量、數(shù) 組、結構、聯(lián)合2265.4 嵌入式c語言程序設計實例2275.4.1 嵌入式c語言程序編寫的簡單構架2275.4.2 flash測試代碼介紹2285.5 嵌入式c語言程序設計技巧2285.5.1 變量定義2285.5.2 參數(shù)傳遞 2285.5.3 循環(huán)條件 2285.6 c與匯編語言混合編程2285.6.1 atpcs介紹2285.6.2 內(nèi)嵌匯編2295.6.3 c和arm匯編程序間相互調(diào)用230第六章 ads集成開發(fā)環(huán)境的使用2316.1 裸機開發(fā)環(huán)境2316.2 ads1.2開發(fā)環(huán)境介紹2326.2.1 命令行開發(fā)工具2326.2.2 arm運行時庫2336.3.2 操作過程及實例2356.4 axd調(diào)試工具236嵌入式linux系統(tǒng)中常用的文件系統(tǒng)236boa移植實驗239madplay移植實驗241嵌入式用戶圖形界面編程242嵌入式圖形系統(tǒng)簡介2421.1 qt/embedded2421.2 microwindows2431.3 minigui 2441.2 qte和qtopia開發(fā)模型2441.2.1 qte與qt/x11比較2441.2.2 qtopia介紹2451.2.3 qt/embedded開發(fā)模型2451.2.4 qt/embedded信號與插槽245基于qt/embedded的嵌入式gui設計2463.1 建立qt/embedded開發(fā)環(huán)境2463.2 設置鏈接庫2463.3 運行qtopia246虛擬機安裝redhat9.0248samba配置248secure shell client(ssh)工具使用248source insight閱讀代碼249交叉工具鏈的配置249一、gnu交叉工具鏈下載地址249二、常用工具介紹249make file2521、makefile文件的規(guī)則252 2、make的工作流程簡述2523、makefile中使用變量2524、make的自動推導252配置系統(tǒng)的基本結構2531 配置系統(tǒng)的基本結構2532 makefile2532.1 makefile 概述2542.2 makefile 中的變量2552.3 rules.make 變量2572.4 子目錄 makefile2583 配置文件2593.1 配置功能概述2603.2 配置語言260bootloader267第一部分:bootloader的通用性267一、bootloader與嵌入式linux的關系267二、boot loader的概念267三、boot loader的安裝媒介268四、boot loader的主要任務與典型結構框架268第二部分:uboot介紹268一、uboot淵源268二、uboot代碼目錄構架268第三部分:uboot的編譯及配置269一、uboot.bin的生成269第四部分:啟動過程及工作原理270一、啟動模式介紹270第五部分:uoot的移植270linux 2.4.18移植271一、內(nèi)核代碼架構271二、主要配置選項分析271課程主要內(nèi)容概念和基本工具:n 嵌入式系統(tǒng)基本概念、嵌入式操作系統(tǒng)介紹n 嵌入式系統(tǒng)開發(fā)的過程和基本結構n linux基本操作命令的使用n 常用工具使用:vi /gcc/gdb 等n 編寫shell程序 和makefile文件結構硬件結構及原理講解n arm7arm9體系結構體系結構介紹n arm7(9)tdmi處理器內(nèi)核及指令集介紹n 講解sumsung 44b0x 開發(fā)板原理圖n 講解sumsung 2410 開發(fā)板原理圖n arm開發(fā)工具ads的使用linux部分n uclinux,mizilinux系統(tǒng)引導程序bootloader原理和實現(xiàn)過程:uboot、vivi等n arm系統(tǒng)空間劃分及系統(tǒng)映射方法n bootloader內(nèi)核下載模式實現(xiàn) :tftp、xmodenn linux操作系統(tǒng)原理及組成n 介紹linux系統(tǒng)目錄組織結構n linux 運行基理,系統(tǒng)運行過程n 配置裁減編譯linux內(nèi)核講解linux進程特性:n 進程屬性和狀態(tài)轉換;進程控制與調(diào)度;進程相關系統(tǒng)調(diào)用,構建守護進程n 進程間通信: 進程通信的基本概念,管道、信號、消息隊列、信號量、共享內(nèi)存。n 網(wǎng)絡通訊接口,socket通信編程。n 串口通訊程序和編程實踐n 多線程程序設計linux設備驅(qū)動n uclinux內(nèi)核模塊及設備驅(qū)動程序開發(fā)n 介紹linux驅(qū)動程序分類和各自操作系統(tǒng)上下層接口n 驅(qū)動開發(fā)實例:蜂鳴器驅(qū)動、按鍵驅(qū)動開發(fā)、串口驅(qū)動、觸摸屏驅(qū)動、網(wǎng)絡驅(qū)動開發(fā)、usb驅(qū)動、液晶屏驅(qū)動等。n armlinux移植過程。n 引導程序uboot移植。n 最小系統(tǒng)啟動開發(fā)過程。n 嵌入式文件系統(tǒng)移植:ramdisk、jffs2、yaff綜合試驗n 實現(xiàn)網(wǎng)絡文件傳輸服務程序;n 構建嵌入式web服務器;n 移植mediaplay播放器n 開發(fā)嵌入式視頻服務器,基于h.264協(xié)議使用教材1. 廖日坤 編著,arm嵌入式應用開發(fā)技術白金手冊, 中國電力出版社;2. 孫瓊等,嵌入式linux應用開發(fā)詳解,人民郵電出版社;3. 劉淼 編著,嵌入式系統(tǒng)接口設計于linux驅(qū)動程序開發(fā),北京航空航天大學出版社硬件環(huán)境n 萬龍44b0開發(fā)板n 提供豐富接口:串口、網(wǎng)口、usb、jtag、液晶屏接口、ide接口、音頻輸出、41鍵盤接口 ;n 基本資料:芯片手冊和資料,相關電子書籍;n 軟件和試驗代碼:中斷、i2c、gpio等 ;n 操作系統(tǒng)及引導程序:44b0bios、uclinux。n 友善之臂2410開發(fā)板n 提供豐富接口:串口、網(wǎng)口、usb、jtag、3.5寸液晶屏接口、ide接口、音頻輸入輸出、41鍵盤接口 ;n 基本資料:芯片手冊和資料,相關電子書籍;n 軟件和試驗代碼:中斷、i2c、mediaplay移植等 ;n 操作系統(tǒng)及引導程序:vivi、uboot、mizilinux 。參考資料n 雅默,構建嵌入式linux系統(tǒng),中國電力出版社;n 杜春雷 編著,arm體系結構與編程,清華大學出版社;n 趙克佳,沈志宇,趙慧,unix程序設計教程,清華大學出版社 ;n 于明 等編著,arm9嵌入式系統(tǒng)設計與開發(fā)教程,電子工業(yè)出版社alessandro rubini,jonathan corbet ,linux設備驅(qū)動程序 (第二版,或第三版),中國電力出版社 ;上課時間安排n 總學時180學時;n 為保證授課質(zhì)量,每次周末授課,每周星期六日上課,每天授課八小時,上午中間休息兩次,下午中間休兩到三次,每次15分鐘;n 上課具體時間:8:30 12:00 am下午:13:30 18:00n 行課時間:看課表安排第 1章 嵌入式系統(tǒng)概論1. 嵌入式系統(tǒng)概述1.1什么是嵌入式系統(tǒng)嵌入式系統(tǒng)是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)。它一般由以下幾部分組成:n嵌入式微處理器n外圍硬件設備n嵌入式操作系統(tǒng)n特定的應用程序1.2嵌入式系統(tǒng)的特點特點:n 應用的特定性和廣泛性n 技術、知識、資金的密集性n 高效性n 較長的生命周期n 高可靠性n 軟硬一體,軟件為主n 無自舉開發(fā)能力1.3嵌入式系統(tǒng)與pc的不同1. 一般專用于特定的任務,而pc是一個通用計算機。2. 使用多種類型的處理器和處理器體系結構。3. 及其關注成本4. 有實時約束5. 使用實時多任務操作系統(tǒng)6. 軟件故障造成的后果比pc系統(tǒng)更嚴重7. 大多有功耗約束8. 經(jīng)常在極端的環(huán)境下運行9. 系統(tǒng)資源比pc少的多10. 通常所有的目標代碼存放在rom中11. 需要專用工具和方法進行開發(fā)設計12. 嵌入式系統(tǒng)的數(shù)量遠遠超過pc1.4嵌入式系統(tǒng)的應用領域交通管理 工控設備智能儀器汽車電子環(huán)境監(jiān)測信息家電 智能玩具機器人軍事電子通信設備網(wǎng)絡設備移動計算電子商務醫(yī)療儀器1.5嵌入式系統(tǒng)的產(chǎn)品n 網(wǎng)絡設備:交換機、路由器,modemn 消費電子:手機、mp3、pda 、可視電話、電視機頂盒、數(shù)字電視、數(shù)碼照相機、數(shù)碼攝像機、信息家電n 辦公設備:打印機、傳真機、掃描儀n 汽車電子:abs(防死鎖剎車系統(tǒng))、供油噴射控制系統(tǒng)、車載gps。n 工業(yè)控制:各種自動控制設備1.6嵌入式系統(tǒng)的歷史n 20 世紀70 年代:單片機出現(xiàn)嵌入式系統(tǒng)最初的應用是基于單片機。汽車,工業(yè)機器,通信裝置等成千上萬種產(chǎn)品通過內(nèi)嵌電子裝置獲得更佳的使用性能。n 20 世紀80 年代:嵌入式操作系統(tǒng)出現(xiàn)商業(yè)嵌入式實時內(nèi)核包含傳統(tǒng)操作系統(tǒng)的特征,使得開發(fā)周期縮短,成本降低,效率提高促使嵌入式系統(tǒng)有了更為廣闊的應用空間。n 20 世紀90 年代:實時多任務操作系統(tǒng)軟件規(guī)模的不斷上升,對實時性要求的提高,使得實時內(nèi)核逐步發(fā)展為實時多任務操作系統(tǒng),并作為一種軟件平臺逐步成為目前國際嵌入式系統(tǒng)的主流。1.7巨大的市場n 計算機應用的普及、互聯(lián)網(wǎng)技術的實用以及納米微電子技術的突破,正有力推動著21 世紀工業(yè)生產(chǎn),商業(yè)活動科學試驗和家庭生活等領域自動化和信息化進程。n 嵌入式產(chǎn)品的巨大商機全過程自動化產(chǎn)品制造、大范圍電子商務活動、高度協(xié)同科學實驗以及現(xiàn)代化家庭起居。n 你接觸的每一樣東西將裝有芯片和嵌入式軟件1.8創(chuàng)新的機遇n 通用計算機產(chǎn)業(yè)是壟斷的。n 嵌入式系統(tǒng)與技術是一個分散的工業(yè),充滿競爭、機遇與創(chuàng)新。n 沒有哪一個系列的處理器和操作系統(tǒng)能夠壟斷全部市場即便在體系結構上存在著主流,但各不相同的應用領域決定了不可能有少數(shù)公司,少數(shù)產(chǎn)品壟斷全部市場。因此嵌入式系統(tǒng)領域的產(chǎn)品和技術,必然是高度分散的,留給各個行業(yè)的中小規(guī)模高技術公司的創(chuàng)新余地很大。2. 嵌入式系統(tǒng)的基本知識2.1嵌入式系統(tǒng)的基本結構n 嵌入式系統(tǒng)的構架n 嵌入式微處理器n 嵌入式操作系統(tǒng)n 啟動程序bootloader介紹2.2嵌入式系統(tǒng)的硬件基本結構2.3嵌入式處理器1. 支持實時多任務.2. 較短的中斷響應時間3. 存儲區(qū)保護功能4. 可擴展的處理器結構5. 較低的功耗分類:嵌入式微控制器(microcontrollerunit)嵌入式dsp處理器edsp(embedded digital signal processor)嵌入式微處理器(embedded microprocessor unit)嵌入式片上系統(tǒng)soc(system on chip)2.3.1嵌入式微處理器特點:n 功能和微處理器基本一樣,是具有32位以上的處理器,具有較高的性能.n 具有體積小,功耗少,成本低,可靠性高的特點.n 有的可提供工業(yè)級應用.流行的嵌入式微處理器:n arm/strong (arm公司)n powerpc (motorol公司)n 68000 (motorol公司)n mips(mips公司)mips處理器 mips技術公司是一家設計制造高性能、高檔次及嵌入式32位和64位處理器的廠商。在risc處理器方面占有重要地位。 mips的意思是無內(nèi)鎖流水段微處理器(microprocessor without interlocked pipedstages),最早是在80年代初期由美國斯坦福大學hennessy教授領導的研究小組研制出來的。 1986年推出r2000處理器,1988年推出r3000處理器,1991年推出第一款64位商用微處理器r4000。之后,又陸續(xù)推出r8000(于1994年)、r10000(于1996年)和r12000(于1997年)等型號。之后,mips公司的戰(zhàn)略發(fā)生變化 此外,24k微架構能符合各種新興的服務趨勢,為寬頻存取以及還在不斷發(fā)展的網(wǎng)絡基礎設施、通訊協(xié)議提供軟件可編程的彈性。 在嵌入式方面,mips 系列微處理器是目前僅次于arm的用得最多的處理器之一(1999年以前mips是世界上用得最多的處理器),其應用領域覆蓋游戲機、路由器、激光打印機、掌上電腦等各個方面。mips的系統(tǒng)結構及設計理念比較先進,在設計理念上mips強調(diào)軟硬件協(xié)同提高性能,同時簡化硬件設計。powerpc處理器 powerpc架構的特點是可伸縮性好,方便靈活。powerpc處理器品種很多,既有通用的處理器,又有嵌入式控制器和內(nèi)核,應用范圍非常廣泛,從高端的工作站、服務器到桌面計算機系統(tǒng),從消費類電子產(chǎn)品到大型通信設備,無所不包。 處理器芯片主要型號是powerpc 750,它于1997年研制成功,最高的工作頻率可以達到500mhz,采用先進的銅線技術。該處理器有許多品種,以便適合各種不同的系統(tǒng)。包括ibm小型機、蘋果電腦和其他系統(tǒng)。 嵌入式的powerpc 405(主頻最高為266mhz)和powerpc 440(主頻最高為550mhz)處理器內(nèi)核可以用于各種soc設計上,在電信、金融和其他許多行業(yè)具有廣泛的應用。2.3.2嵌入式微控制器嵌入式微控制器就是將整個計算機系統(tǒng)的主要硬件集成到一塊芯片中,芯片內(nèi)部集成rom/eprom,ram,總線,總線邏輯,定時/計數(shù)器,watchdog,i/o,串行口等各種必要功能和外設.其特點為:n 一個系列的微控制器具有多種衍生產(chǎn)品;n 單片化,體積大大減小,功耗和成本降低,可靠性提高;n 是目前嵌入式工業(yè)的主流,約占嵌入式系統(tǒng)70%的份額;n 多是8位和16位處理器n 流行的嵌入式微控制器n 通用系列:8051,mcs251,mcs-96/196/296n 半通用系列:支持i2c,can bus,lcd及眾多專用mcu和兼容系列2.3.3嵌入式dsp嵌入式dsp處理器有兩個發(fā)展方向: 是嵌入式dsp處理器和嵌入式處理器經(jīng)過單片化設計,片上增加豐富的外設成為具有高性能dsp功能的soc; 是在通用微處理器、微控制器或soc中增加dsp協(xié)處理器,例如intel的mcs-296和siemens的tricore。2.3.4 嵌入式外圍接口電路和設備接口根據(jù)外圍設備的功能可分為以下5類存儲器類型通信接口輸入輸出設備設備擴展接口電源及輔助設備存儲器類型:n 存儲器是嵌入式系統(tǒng)中存儲數(shù)據(jù)和程序的功能部件,目前常見的存儲設備按使用的存儲器類型分為:n 靜態(tài)易失型存儲器(ram,sram);n 動態(tài)存儲器(dram);n 非易失性存儲器rom(romeprom,eeprom,flash);n 硬盤、軟盤、cdrom等。通信接口目前存在的所有計算機通信接口在嵌入式領域中都有其廣泛的應用,應用最為廣泛的接口設備包括 rs-232接口(串口uart) usb接口(通用串行總線接口) irda(infra red data association紅外線接口)、 spi(串行外圍設備接口)、 i2c、can總線接口、 藍牙接口(bluetooth) ethernet(以太網(wǎng)接口)、 ieee1394接口和通用可編程接口gpio 。輸入輸出設備 crt、lcd和觸摸屏等,構成了嵌入式系統(tǒng)中重要的信息輸入輸出設備,應用廣泛。 觸摸屏可以方便的實現(xiàn)鼠標和鍵盤功能。設備擴展接口 簡單的嵌入式系統(tǒng)如具有簡單的記事本、備忘錄以及日程計劃等功能的pda,它所需要存儲的數(shù)據(jù)量并不需要很大的內(nèi)存。 由于目前的嵌入式系統(tǒng)功能越來越復雜,需要大容量內(nèi)存,大的內(nèi)存使得系統(tǒng)成本和體積加大。 目前一些高端的嵌入式系統(tǒng)都會預留可擴展存儲設備接口,為日后用戶有特別需求時,可購買符合擴展接口規(guī)格的裝置直接接入系統(tǒng)使用。 常用的擴展卡還有各種cf卡、sd卡、memory stick等。目前高端的嵌入式系統(tǒng)都留有一定的擴展卡接口。電源及輔助設備 嵌人式系統(tǒng)力求外觀小型化、重量輕以及電源使用壽命長,例如移動電話或pda,體積較大或者過重的機型已經(jīng)被淘汰。 目前發(fā)展的目標是體積小、易攜帶和外觀設計新穎等。在便攜式嵌入式系統(tǒng)的應用中,必須特別關注電源裝置等輔助設備。2.4嵌入式操作系統(tǒng)嵌入式操作系統(tǒng)是嵌入式應用軟件的基礎和開發(fā)平臺.嵌入式系統(tǒng)的出現(xiàn),解決了嵌入式軟件開發(fā)標準化的難題.嵌入式系統(tǒng)具有操作系統(tǒng)的最基本的功能:n 進程調(diào)度n 內(nèi)存管理n 設備管理n 文件管理n 操作系統(tǒng)接口(api調(diào)用)嵌入式操作系統(tǒng)具有的特點:n 系統(tǒng)可裁減,可配置.n 系統(tǒng)具備網(wǎng)絡支持功能n 系統(tǒng)具有一定的實時性2.4.1嵌入式操作系統(tǒng)的分類n 按照對實時系統(tǒng)的定義,嵌入式系統(tǒng)可分為實時嵌入式系統(tǒng)與非實時嵌入式系統(tǒng):n 實時系統(tǒng)的定義:能夠?qū)ν獠渴录龀黾皶r響應的系統(tǒng)。響應時間要有保證。n 對外部事件的響應包括n 事件發(fā)生時要識別出來n 在給定時間約束內(nèi)必須輸出結果實時操作系統(tǒng):vxworks,wince,qnx,nucleus非實時操作系統(tǒng):嵌入式linux2.4.2嵌入式實時操作系統(tǒng)的特點n 實時系統(tǒng)必須產(chǎn)生正確的結果n 實時系統(tǒng)的響應必須在預定的周期內(nèi)完成n 這兩點同樣重要n 實時系統(tǒng)是具有確定性的。在這些實時系統(tǒng)中,響應時間決定事件是有界的。一個確定的實時系統(tǒng)意味著系統(tǒng)的每個部件都必須具有確定的行為,使得整個系統(tǒng)是確定性的。2.5幾種主流的嵌入式操作系統(tǒng)n vxworks: 美國windriver公司于1983年開發(fā),具有可靠、實時、可裁減特性。n windows embedded:支持具有豐富應用程序和服務的32位嵌入式系統(tǒng)。主要系列:windows ce3.0,windows nt embedded 4.0和帶有server appliance kit的windows 2000n palm os: com公司產(chǎn)品,在pda市場占據(jù)很大份額,具有開放的操作系統(tǒng)應用程序接口(api),可讓用戶靈活方便地定制操作系統(tǒng)。n 嵌入式linux:近兩年來,linux在嵌入式領域異軍突起,他的獨特性,使其作為開發(fā)嵌入式產(chǎn)品的操作系統(tǒng)具備巨大的潛力。linux具有一些獨特的優(yōu)勢:層次結構及內(nèi)核完全開放;強大的網(wǎng)絡支持功能;具備一整套工具鏈;廣泛的硬件支持特性。2.6嵌入式系統(tǒng)軟件的層次結構n 如當設計一個簡單的應用程序時,可以不使用操作系統(tǒng),但是當設計較復雜的程序時,可能就需要一個操作系統(tǒng)(os)來管理、控制內(nèi)存、多任務、周邊資源等等。依據(jù)系統(tǒng)所提供的程序界面來編寫應用程序,可以大大的減少應用程序員的負擔。n 對于使用操作系統(tǒng)的嵌入式系統(tǒng)來說,嵌入式系統(tǒng)軟件結構一般包含四個層面:設備驅(qū)動層、實時操作系統(tǒng)(rtos)、應用程序接口(api)層、實際應用程序?qū)?。有些資料將應用程序接口api歸屬于os層,如圖1-1的上半部分所示的嵌入式系統(tǒng)的軟件結構,是按三層劃分的。由于硬件電路的可裁減性和嵌入式系統(tǒng)本身的特點,其軟件部分也是可裁減的。n 對于功能簡單僅包括應用程序的嵌入式系統(tǒng)一般不使用操作系統(tǒng),僅有應用程序和設備驅(qū)動程序。現(xiàn)代高性能嵌入式系統(tǒng)應用越來越廣泛,操作系統(tǒng)使用成為必然發(fā)展趨勢。本節(jié)主要講述的具有操作系統(tǒng)的嵌入式軟件層次。嵌入式系統(tǒng)軟件的層次結構具有操作系統(tǒng)的嵌入式軟件層次 驅(qū)動層程序 實時操作系統(tǒng)(rtos) 操作系統(tǒng)的應用程序接口(api) 應用程序2.7啟動程序bootloader介紹對于pc機,其開機后的初始化處理器配置、硬件初始化等操作是由bios(basic input/output system)完成的,但對于嵌入式系統(tǒng)來說,出于經(jīng)濟性、價格方面考慮一般不配置bios,因此我們必須自行編寫完成這些工作的程序。這就是所需要的開機程序,在嵌入式中稱為bootloader程序。系統(tǒng)加電復位后,幾乎所有的 cpu都從由復位地址上取指令。因此在系統(tǒng)加電復位后,處理器將首先執(zhí)行boot loader 程序。bootloader是系統(tǒng)加電后、操作系統(tǒng)內(nèi)核或用戶應用程序運行之前,首先必須運行的一段程序代碼。通過這段程序,為最終調(diào)用操作系統(tǒng)內(nèi)核、運行用戶應用程序準備好正確的環(huán)境。對于嵌入式系統(tǒng)來說,有的使用操作系統(tǒng),也有的不使用操作系統(tǒng),但在系統(tǒng)啟動時都必須運行bootloader,為系統(tǒng)運行準備好軟硬件環(huán)境。系統(tǒng)啟動代碼完成基本軟硬件環(huán)境初始化后,對于有操作系統(tǒng)的情況下,啟動操作系統(tǒng)、啟動內(nèi)存管理、任務調(diào)度、加載驅(qū)動程序等,最后執(zhí)行應用程序或等待用戶命令;對于沒有操作系統(tǒng)的系統(tǒng)直接執(zhí)行應用程序或等待用戶命令系統(tǒng)的啟動通常有兩種方式,一種是可以直接從flash啟動,另一種是可以將壓縮的內(nèi)存映像文件從flash(為節(jié)省flash資源、提高速度)中復制、解壓到ram,再從ram啟動。當電源打開時,一般的系統(tǒng)會去執(zhí)行rom(應用較多的是flash)里面的啟動代碼。這些代碼是用匯編語言編寫的,其主要作用在于初始化cpu和板上的必備硬件如內(nèi)存、中斷控制器等。有時候用戶必須根據(jù)自己板子的硬件資源情況做適當?shù)恼{(diào)整與修改。主流bootloader介紹n u-bootn ppcbootn armbootn blobn redboot3. 嵌入式系統(tǒng)的設計原則及方法1. 嵌入式系統(tǒng)的設計準則嵌入式系統(tǒng)設計不同于桌面系統(tǒng),它非常受制于功能和具體的應用環(huán)境。所以嵌入式系統(tǒng)的設計具有一些特殊的要求。嵌入式系統(tǒng)的設計要求:n 并發(fā)處理,及時響應n 接口方便,操作容易n 穩(wěn)定可靠,維護簡便n 功耗管理,降低成本n 功能實用,便于升級2. 嵌入式系統(tǒng)的設計流程嵌入式系統(tǒng)開發(fā)的最大特點就是需要軟硬件綜合開發(fā)。其原因在于:一方面,任何一個嵌入式產(chǎn)品都是軟件和硬件的結合體;另一方面,一旦嵌入式產(chǎn)品研發(fā)完成,軟件就固化在硬件環(huán)境中,嵌入式軟件是針對相應的嵌入式硬件開發(fā)的是專用的。嵌入式系統(tǒng)的這一特點決定了嵌入式應用開發(fā)方法不同于傳統(tǒng)的軟件工程方法。3.2.2從生命周期看嵌入式系統(tǒng)的設計流程3. 嵌入式系統(tǒng)的開發(fā)方法n 設計過程的明確目標是建造一個有用的產(chǎn)品- 產(chǎn)品功能- 產(chǎn)品性能- 制造成本- 功耗特性- 上市時間n 嵌入式產(chǎn)品設計需要一個小組的技術人員協(xié)作完成n 設計過程會受內(nèi)外因素的影響而變化3.3.1嵌入式系統(tǒng)分層設計模型3.3.2嵌入式系統(tǒng)的軟硬件并行設計4. 嵌入式系統(tǒng)的開發(fā)模式n 嵌入式系統(tǒng)的軟件使用交叉開發(fā)平臺進行開發(fā)。n 系統(tǒng)軟件和應用軟件在主機開發(fā)平臺上開發(fā)n 系統(tǒng)軟件和應用軟件在嵌入式硬件平臺上運行。n 宿主機(host)是用來開發(fā)嵌入式軟件的系統(tǒng)。n 目標機(target)是被開發(fā)的目的嵌入式系統(tǒng)。n 交叉編譯器(cross-compiler)是進行交叉平臺開發(fā)的主要軟件工具。它是運行在一種處理器體系結構上,但是可以生成在另一種不同的處理器體系結構上運行的目標代碼的編譯器。5. 嵌入式系統(tǒng)的測試3.5嵌入式系統(tǒng)的測試n 測試目的:n 找到軟硬件設計中的錯誤n 減少風險n 節(jié)約成本n 提高性能測試什么:n 功能調(diào)試(黑盒測試)n 壓力測試,邊界測試,異常測試n 錯誤測試,隨機測試,性能測試n 覆蓋測試(白盒測試)n 語句測試,判定和分支測試,條件覆蓋第 2 章 linux操作系統(tǒng)簡介2.1 linux的發(fā)展2.1.1 什么是linuxlinux是一個網(wǎng)絡操作系統(tǒng)(network operating system,nos)。網(wǎng)絡操作系統(tǒng)則在一般操作系統(tǒng)的功能上增加了網(wǎng)絡功能,具體包括:(1)實現(xiàn)網(wǎng)絡中各計算機之間的通信和資源共享;(2)提供多種網(wǎng)絡服務軟件;(3)提供網(wǎng)絡用戶的應用程序接口。linux就是這樣一個網(wǎng)絡操作系統(tǒng)。與其他商業(yè)化的網(wǎng)絡操作系統(tǒng)不同,它是由以linus torvalds為首的一批internet上的志愿者開發(fā)的,完全免費,并與另一著名的網(wǎng)絡操作系統(tǒng)unix完全兼容,是一個具有很高性能價格比的網(wǎng)絡操作系統(tǒng)。2.1.2 linux的歷史linux最早是linus torvalds于1991年在芬蘭赫爾辛基大學原創(chuàng)開發(fā)的,并在gnu的gpl(general public license)原則下發(fā)行。2.2 linux的版本linux的版本號又分為兩部分:內(nèi)核(kernel)版本和發(fā)行(distribution)版本。內(nèi)核版本的序號由3部分數(shù)字構成,其形式如下:major.minor.patchlevel如:2 . 4 . 18 2 . 6 . 142.2.1 國外主要發(fā)行版本1red hat linux2suse linux3debian linux4mandrake linux5. turbo linux2.2.2 國內(nèi)主要發(fā)行版本1紅旗linux2中標普華linux3共創(chuàng)桌面linux4沖浪linux5. 藍點linux2.3 linux的特性和功能2.3.1 linux的特性1多任務、多用戶2支持多種文件系統(tǒng)3采用虛擬內(nèi)存管理技術4良好的可移植性5設備獨立性6豐富的網(wǎng)絡功能7提供全部源代碼2.3.2 linux的功能1穩(wěn)定的核心2豐富的應用軟件3x window系統(tǒng)4多重啟動5網(wǎng)絡功能6軟件開發(fā)工具2.4 linux的常用軟件2.4.1 基本命令和工具總之,linux是對網(wǎng)絡支持得最好的操作系統(tǒng)之一。linux常用的網(wǎng)絡應用軟件有以下幾類。(1)www服務器:apache、caudium、cern httpd server、netscape fast track server、zeus server;(2)ftp服務器:wu-ftp、proftpd、vsftpd;(3)ftp客戶端:gftp、lftp;(4)mail服務器:qmail、sendmail、xmail;(5)e-mail客戶端:pine、kmail;(6)瀏覽器:netscape、mozilla、phoenix、lynx;(7)虛擬終端:rxvt、xterm、gnome-terminal、mlterm;(8)聊天工具:gaim、licq。(9)網(wǎng)絡共享服務:samba。(10)遠程登陸:telnet、ssh1、ssh22.4.2 辦公軟件2.4.3 程序設計2.4.4 網(wǎng)絡軟件2.4.5 x windowx窗口系統(tǒng)是linux上的標準圖形界面,它是一個有效的支持多種應用的環(huán)境。在xwindow 基礎上實現(xiàn)不同的桌面系統(tǒng),如:kde, gnome桌面系統(tǒng)。2.4.6 多媒體軟件linux在多媒體領域的應用也相當廣泛,下面介紹幾款linux下的多媒體軟件。1gnome cd player gnome cd player是一款基于xwindow的cd播放軟件。2realplayerrm格式的影音文件是網(wǎng)上廣為流傳的電影格式,以其極高的壓縮率而聞名,linux下也可以看rm格式的文件,這就是realplayer for linux。3xmmsxmms(x multi media system)是linux下的mp3播放器。4mplayer這是個vcd播放軟件。5k

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論