嵌入式系統(tǒng)設(shè)計(jì)從入門到精通

出版時(shí)間:2009-3  出版社:北京航空航天大學(xué)出版社  作者:覃朝東  頁數(shù):329  字?jǐn)?shù):476000  
Tag標(biāo)簽:無  

前言

很多年前,實(shí)驗(yàn)室里有位老師經(jīng)常和我們說起“嵌入式系統(tǒng)”,大家有很多疑問:“嵌入式系統(tǒng)”到底是什么?32位單片機(jī)和8位單片機(jī)的差別是什么?32位單片機(jī)系統(tǒng)的開發(fā)能不能像8位單片機(jī)一樣方便?經(jīng)過多年實(shí)際從事嵌入式系統(tǒng)開發(fā)工作之后,仍然不能給出一個(gè)完美的答案,說明什么是“嵌入式系統(tǒng)”。而與此同時(shí),幾乎生活中的所有電器設(shè)備都和嵌人式系統(tǒng)有關(guān),如掌上PDA、移動(dòng)計(jì)算設(shè)備、電視機(jī)頂盒、手機(jī)上網(wǎng)、數(shù)字電視、多媒體、汽車、微波爐、數(shù)碼相機(jī)、家庭自動(dòng)化系統(tǒng)、電梯、空調(diào)、安全系統(tǒng)、自動(dòng)售貨機(jī)、蜂窩式電話、消費(fèi)電子設(shè)備、工業(yè)自動(dòng)化儀表與醫(yī)療儀器等。其實(shí),基于805l單片機(jī)的系統(tǒng)也都納入了“嵌入式系統(tǒng)”的范疇。ARM處理器在嵌入式系統(tǒng)領(lǐng)域占據(jù)重要的地位,2008年ARM公司宣布由其合作伙伴出貨的處理器總量已超過l00億個(gè),年出貨量已接近30億個(gè)。因此,學(xué)習(xí)基于ARM處理器的嵌入式系統(tǒng)設(shè)計(jì)就比較有實(shí)用的意義。Linux是一個(gè)源代碼開放、免費(fèi)的操作系統(tǒng),并且支持包括ARM在內(nèi)的多種處理器。目前有很多關(guān)于LinuX內(nèi)核分析、設(shè)備驅(qū)動(dòng)的書籍.因此,Linux無論是在商業(yè)應(yīng)用上還是在教學(xué)使用中都有巨大的優(yōu)勢。本書的例子多數(shù)基于S3C24lO處理器和LinuX一2.6.22操作系統(tǒng)。在實(shí)際工作中,選擇哪種處理器和哪一個(gè)操作系統(tǒng)會(huì)有多方面的考慮,包括成本、供貨和開發(fā)周期等。因此,學(xué)習(xí)嵌入式系統(tǒng)開發(fā),最重要的是掌握一種方法,即面對(duì)一個(gè)新的硬件平臺(tái)和操作系統(tǒng),應(yīng)該從哪里著手進(jìn)行考慮,抓住問題的關(guān)鍵點(diǎn)。在學(xué)習(xí)過程中,經(jīng)常要考慮的問題是:‘勺口果這是另外一個(gè)芯片,應(yīng)該怎么辦?”任何一本書,都只能在某一個(gè)特定的硬件和軟件的平臺(tái)上分析、討論問題。例如本書中大部分例子所使用的S3C;2410處理器,盡管目前仍在大量使用,但總會(huì)有新型號(hào)的產(chǎn)品替代它(也許是S3C2440或是其他)。本書的第l章簡單介紹基于ARM處理器的嵌入式系統(tǒng)開發(fā)的基礎(chǔ)知識(shí)。第2章介紹嵌入式系統(tǒng)開發(fā)的硬件和軟件環(huán)境。要真正地理解嵌入式系統(tǒng),就要親自動(dòng)手做實(shí)驗(yàn),而建立實(shí)驗(yàn)的工作環(huán)境就是邁出丫第一步。第3章介紹在一個(gè)最小系統(tǒng)的硬件平臺(tái)上實(shí)現(xiàn)一個(gè)“Hello,World!”程序。說明只要你愿意,就可以像805l單片機(jī)的開發(fā)一樣去寫程序。

內(nèi)容概要

本書介紹了以ARM處理器(S3C2410)為核心的嵌入式系統(tǒng)設(shè)計(jì),由淺到深介紹嵌入式系統(tǒng)的硬件和軟件設(shè)計(jì)。首先介紹如何建立嵌入式開發(fā)的軟件、硬件環(huán)境,接著介紹引導(dǎo)程序和操作系統(tǒng)的移植。通過一個(gè)簡單的“Hello,World!”程序,讓讀者了解最基本的嵌入式系統(tǒng)。嵌入式系統(tǒng)開發(fā)很大一部分工作是設(shè)備驅(qū)動(dòng)程序的編寫,本書詳細(xì)講解Linux系統(tǒng)下I2C、串口、以太網(wǎng)口、LCD和Flash等設(shè)備驅(qū)動(dòng)程序。最后簡單介紹嵌入式系統(tǒng)最基本的電磁兼容設(shè)計(jì)。    本書適合從事嵌入式系統(tǒng)設(shè)計(jì)、研究的工程技術(shù)人員用作參考書,也可供嵌入式系統(tǒng)相關(guān)專業(yè)的本科生或研究生作為教材或參考書。

書籍目錄

第1章  ARM嵌入式系統(tǒng)概論  1.1  ARM處理器系列  1.2  ARM處理器的系統(tǒng)結(jié)構(gòu)  1.3  ARM處理器的選擇  1.4  操作系統(tǒng)的選擇    1.4.1  ARM—Linux    1.4.2  uC/OS—II    1.4.3  eCos  1.5  ARM嵌入式系統(tǒng)的一般結(jié)構(gòu)    1.5.1  ARM嵌入式系統(tǒng)的硬件結(jié)構(gòu)    1.5.2  ARM嵌入式系統(tǒng)的軟件結(jié)構(gòu)  1.6  硬件基礎(chǔ)知識(shí)    1.6.1  電容    1.6.2  電感和磁珠    1.6.3  電阻    1.6.4  電平轉(zhuǎn)換第2章  嵌入式開發(fā)環(huán)境  2.1  建立嵌入式系統(tǒng)的硬件開發(fā)環(huán)境    2.1.1  恒溫烙鐵    2.1.2  熱風(fēng)槍    2.1.3  萬用表    2.1.4  示波器  2.2  建立嵌入式系統(tǒng)的軟件開發(fā)環(huán)境    2.2.1  在虛擬機(jī)上運(yùn)行Linux操作系統(tǒng)    2.2.2  其他常用輔助工具(secureCRT、超級(jí)終端和串口工具)  2.3  研發(fā)調(diào)試燒寫工具    2.3.1  制作JTAG燒寫下載線    2.3.2  燒寫程序Jflash簡介  2.4  深入分析Jflash    2.4.1  計(jì)算機(jī)并行口編程    2.4.2  Jflash源文件    2.4.3  main函數(shù)    2.4.4  Jflash中的JTAG技術(shù)細(xì)節(jié)    2.4.5  移植Jflash到新的硬件平臺(tái)    2.4.6  Nor Flash的燒寫過程    2.4.7  Nand Flash的燒寫過程  2.5  編譯環(huán)境的建立第3章  嵌入式系統(tǒng)的“Hello,World!”  3.1  最小系統(tǒng)硬件設(shè)計(jì)  3.2  嵌入式系統(tǒng)的“Hello,World!”  3.3  代碼解釋第4章引導(dǎo)程序  4.1  BootLoader概述  4.2  處理器啟動(dòng)的硬件設(shè)計(jì)  4.3  BootLoader(vivi)的代碼分析  4.4  從Nand Flash裝載引導(dǎo)程序  4.5  vivi的移植第5章  Linux操作系統(tǒng)移植  5.1  Linux操作系統(tǒng)目錄結(jié)構(gòu)  5.2  引導(dǎo)程序與Linux操作系統(tǒng)  5.3  移植到新平臺(tái)的相關(guān)代碼分析  5.4  編譯內(nèi)核  5.5  制作根文件系統(tǒng)第6章  Linux設(shè)備驅(qū)動(dòng)程序  6.1  概述  6.2  Linux設(shè)備驅(qū)動(dòng)模型    6.2.1  sysfs文件系統(tǒng)    6.2.2  內(nèi)核相關(guān)數(shù)據(jù)結(jié)構(gòu)  6.3  一個(gè)簡單的設(shè)備驅(qū)動(dòng)程序  6.4  設(shè)備驅(qū)動(dòng)程序與硬件  6.5  用戶程序和內(nèi)核之間傳遞數(shù)據(jù)  6.6  中斷處理  6.7  軟中斷和tasklets  6.8  /proc文件系統(tǒng)第7章  I2C總線設(shè)備  7.1 I2C總線接口設(shè)計(jì)  7.2  簡單的I2C設(shè)備驅(qū)動(dòng)程序  7.3  Linux的I2C驅(qū)動(dòng)程序結(jié)構(gòu)  7.4  用戶模式下訪問I2C設(shè)備  7.5  I2C接口的實(shí)時(shí)時(shí)鐘設(shè)備驅(qū)動(dòng)第8章  串行通信接口  8.1  串行通信接口規(guī)范  8.2  RS485規(guī)范  8.3  串行接口硬件設(shè)計(jì)  8.4  RS485接口硬件設(shè)計(jì)  8.5  linux串口設(shè)備驅(qū)動(dòng)程序第9章  Flash存儲(chǔ)設(shè)備  9.1  概述  9.2  Flash硬件接口設(shè)計(jì)  9.3  MTD驅(qū)動(dòng)程序結(jié)構(gòu)  9.4  Nor Flash設(shè)備驅(qū)動(dòng)程序  9.5  Nand Flash設(shè)備驅(qū)動(dòng)程序  9.6  Yaffs2文件系統(tǒng)第10章  以太網(wǎng)接口  10.1  概述  10.2  以太網(wǎng)接口硬件設(shè)計(jì)  10.3  Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)  10.4  DM9000驅(qū)動(dòng)程序第11章  液晶顯示屏接口設(shè)計(jì)  11.1  概述  11.2  液晶屏接口設(shè)計(jì)  11.3  通用I/O接口驅(qū)動(dòng)液晶屏  11.4  Linux幀緩沖設(shè)備驅(qū)動(dòng)程序結(jié)構(gòu)  11.5  S3C2410液晶顯示設(shè)備驅(qū)動(dòng)程序第12章  嵌入式系統(tǒng)的電磁兼容基本設(shè)計(jì)  12.1  概述  12.2  浪涌防護(hù)設(shè)計(jì)  12.3  電快速瞬變脈沖群防護(hù)設(shè)計(jì)  12.4  靜電防護(hù)設(shè)計(jì)參考文獻(xiàn)

章節(jié)摘錄

插圖:從第3章“Hello,World!”的代碼中看到,嵌入式系統(tǒng)要用很多的代碼在硬件的管理上。實(shí)際應(yīng)用中,要面對(duì)更多的硬件設(shè)備,同時(shí)還可能處理很多復(fù)雜的協(xié)議,如USB通信協(xié)議和各種網(wǎng)絡(luò)協(xié)議等。在具體的項(xiàng)目中,通常希望集中所有的力量進(jìn)行業(yè)務(wù)方面的開發(fā),同時(shí)利用現(xiàn)有的操作系統(tǒng)(Iinux和WinCE等)處理硬件設(shè)備管理和各種通用的協(xié)議。應(yīng)用于嵌入式系統(tǒng)時(shí),LinuX操作系統(tǒng)需要有一個(gè)引導(dǎo)程序(BootLoader)。引導(dǎo)程序需要建立LinuX的運(yùn)行環(huán)境,包括配置系統(tǒng)內(nèi)存、裝置內(nèi)核到內(nèi)存相應(yīng)的位置和默認(rèn)啟動(dòng)參數(shù)等。同時(shí)引導(dǎo)程序還提供一些簡單的調(diào)試手段,方便在系統(tǒng)開發(fā)初期的調(diào)試。4.1  BOOtLoadel概述基于Intel x86體系結(jié)構(gòu)的PC也一樣需要使用BootLoadet。計(jì)算機(jī)上電后從地址0xFFFF0取第一條指令,這個(gè)地址存放的就是計(jì)算機(jī)主板的BIOS.BIOS完成開機(jī)時(shí)的硬件啟動(dòng)檢測,然后讀取硬盤的引導(dǎo)扇區(qū)。對(duì)于使用LinuX操作系統(tǒng)的計(jì)算機(jī),引導(dǎo)扇區(qū)上的程序先讀人引導(dǎo)程序LILO或是GRUB,再由引導(dǎo)程序把Linux裝入到內(nèi)存中,然后把控制權(quán)交給LinuX。嵌入式系統(tǒng)中引導(dǎo)程序完成了PC中BIOS和LILO等引導(dǎo)程序完成的任務(wù)。BootLoad-er其實(shí)就是一個(gè)嵌入式應(yīng)用程序,它的功能根據(jù)不同的需求會(huì)有很大的不同,可能非常簡單,也可能比較復(fù)雜。ARM處理器通常默認(rèn)是從地址0X0取第一條指令,在電路設(shè)計(jì)時(shí),把存儲(chǔ)BootLoader的Flash地址安排在OXO的位置。這樣在系統(tǒng)上電后,就從Flash開始運(yùn)行Boot-Loader。BootLoader主要的功能包括啟動(dòng)和下載。啟動(dòng)功能:所謂啟動(dòng)功能就是BootLoader從嵌入式系統(tǒng)的固態(tài)存儲(chǔ)設(shè)備(通常都是Flash)上將操作系統(tǒng)加載到RAM中運(yùn)行,然后將控制權(quán)交給操作系統(tǒng),之后由操作系統(tǒng)接管系統(tǒng)的管理。這是嵌入式系統(tǒng)正常工作模式。在這種情況下,BootLoader就是簡單的進(jìn)行系統(tǒng)的初始化和引導(dǎo)操作系統(tǒng)。對(duì)于使用LinuX操作系統(tǒng)的ARM嵌入式系統(tǒng),BootLoader必須給LinuX準(zhǔn)備必要的運(yùn)行環(huán)境。

編輯推薦

《嵌入式系統(tǒng)設(shè)計(jì)從入門到精通:基于S3C2410和Linux》介紹了以ARM處理器(S3C2410)為核心的嵌入式系統(tǒng)設(shè)計(jì),由淺到深介紹嵌入式系統(tǒng)的硬件和軟件設(shè)計(jì)。 《嵌入式系統(tǒng)設(shè)計(jì)從入門到精通:基于S3C2410和Linux》適合從事嵌入式系統(tǒng)設(shè)計(jì)、研究的工程技術(shù)人員用作參考書。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    嵌入式系統(tǒng)設(shè)計(jì)從入門到精通 PDF格式下載


用戶評(píng)論 (總計(jì)9條)

 
 

  •   前段時(shí)間在做omap3530開發(fā),完了之后再買這本書看了下,收獲很多,整本書還是很不錯(cuò)的,值得閱讀
  •   過得去!!!
  •   不好,內(nèi)容不豐富
  •   不算很空泛,看了還是有收獲的。
  •   學(xué)習(xí)起來很方便,也比較實(shí)用
  •   拿到這本書時(shí),第一個(gè)感覺就是書薄的嚇人,書薄很簡單,里面要么就是精華,要么就是垃圾,很顯然只要癟幾眼的人就知道這本書是XX,別說精通,恐怕連入門都不太行吧。里面的內(nèi)容感覺就是簡單的ctrl+c、ctrl+v(╮(╯_╰)╭什么意思大家心照不宣了),就連那個(gè)前言都感覺特眼熟,作者自己心得經(jīng)驗(yàn)在里面很少能見到,書中程序多而文字少,我知道作者編程水品高超,字符字符如滔滔江水,綿綿不絕,但你要帶人入門,總得多花點(diǎn)心思解析解析吧,何必這樣惜墨如金呢,書厚一點(diǎn)價(jià)格也自然高一截不也不正合你意?
    30多元可以作為一個(gè)普通學(xué)生4天的伙食費(fèi)了,結(jié)果買來一瓶百年糊涂,嗚呼哀哉!痛徹心扉!
  •   感覺不大實(shí)用的,慎用??!
  •   書的封面被壓得皺皺的。上邊緣很多黑斑,一看就是一本舊書。同當(dāng)當(dāng)客服反饋后無果。
  •   有人能告訴我這本書的代碼哪里能下到嗎, 下不到吧, 是代碼沒法運(yùn)行, 還是雜地啦, 好吧, 我菜了, 沒運(yùn)行成功, 是高手的可飄過了.
 

250萬本中文圖書簡介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7