久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区


曙海教育集團論壇Linux專區Linux驅動開發 → 嵌入式設計及Linux驅動開發指南——基于ARM9處理器


  共有5812人關注過本帖樹形打印

主題:嵌入式設計及Linux驅動開發指南——基于ARM9處理器

美女呀,離線,留言給我吧!
wangxinxin
  1樓 個性首頁 | 博客 | 信息 | 搜索 | 郵箱 | 主頁 | UC


加好友 發短信
等級:青蜂俠 帖子:1393 積分:14038 威望:0 精華:0 注冊:2010-11-12 11:08:23
嵌入式設計及Linux驅動開發指南——基于ARM9處理器  發帖心情 Post By:2010-11-24 8:33:09

我也是剛剛接觸嵌入式Linux開發,感覺這門技術相對而言需要軟件知識(操作系統、C編程)比硬件知識更多些。所以這幾個星期來,作為一個自動化專業的學生,我深深感覺到自己軟件知識的匱乏。但畢設又不能不按時完成,為了更快掌握嵌入式開發的知識,同時記錄下自己學習的歷程,我把讀過的這本書摘要記錄下來。一方面便于自己對知識的整理回顧,另一方面也方便和大家學習交流。

這本書由孫天澤、袁文菊、張海峰編著。雖稱不上經典,但電子工業出版社(我最信賴的出版社)的字號擺在那。而且,我把這份筆記貼出來,并不是想以一個老鳥的身份現身說法,而是希望和大家創造一個寫讀書筆記的氛圍,對初學者(包括我自己)的入門以及大家選擇圖書有所幫助。

《嵌入式設計及Linux驅動開發指南--基于ARM9處理器》

讀書筆記

第一章嵌入式系統基礎

1、 嵌入式系統定義:

"嵌入式系統是用來控制或者監視機器、裝置、工廠等大規模系統的設備。"

--電氣工程師協會

  "嵌入到對象體系中的專用計算機系統"

--北京航空航天大學何立民教授

  "嵌入性"、"專用性"與"計算機系統"是嵌入式系統的三個基本要素。

2、 嵌入式操作系統:

硬實時系統有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤超時錯誤會帶來損害甚至導致系統失敗、或者導致系統不能實現它的預期目標。

軟實時系統的時限是柔性靈活的,它可以容忍偶然的超時錯誤。失敗造成的后果并不嚴重,僅僅是輕微地降低了系統的吞吐量。

我們可以認為至少嵌入式系統都是軟實時系統,所有的嵌入式系統都是實時系統,但并不是所有的實時系統都是嵌入式系統。

常用的嵌入式操作系統有:Linux, uC/OS, Windows CE, VxWorks, Palm OS, QNX等。

3、 選擇Embedded OS的原則:

* 系統成本;

* 市場進入時間及技術支持;

* 可移植性;

* 可利用資源;

* 系統定制能力。

第二章 基于ARM9處理器的硬件開發平臺

1、 ARM的歷史:

ARM(Advanced RISC Machine)公司于1990年11月在英國劍橋成立。

1991年,ARM推出第一個嵌入式RISC核心--ARM6系列處理器,VLSI、夏普、GEC Plessey、德州儀器、Cirrus Logic等公司相繼同ARM公司簽署了授權協議。

1998年4月,ARM在倫敦證券交易所和納斯達克交易所上市。

ARM中國安謀咨詢上海有限公司于2002年7月在中國上海成立。

目前基于ARM核的處理器有以下幾類:

* ARM7家族;

* ARM9家族;

* ARM9E家族;

* ARM10E家族;

* ARM11家族;

* SecurCore家族;

* OptimoDE數據引擎內核;

* MPCore多處理器家族;

* Intel公司的StrongARM/XScale。

  2、ARM7和ARM9處理器的主要區別:

  指令流水線:

ARM7:三級,(取指令,譯碼,執行);

ARM9:五級,(取指,譯碼,執行,緩沖/數據,回寫)。

3、三星S3C2410X處理器:

基于ARM920T核(由ARM9TDMI、存儲管理單元MMU和高速緩存三部分組成),片上資源包括:

* 1個LCD控制器(支持STN和TFT帶有觸摸屏的液晶顯示屏);

* SDRAM控制器;

* 3個通道的UART;

* 4個通道的DMA;

* 4個具有PWM功能的計時器和1個內部時鐘;

* 8通道的10位ADC;

* 觸摸屏接口;

* I2S總線接口;

* 2個USB主機接口,1個USB設備接口;

* 2個SPI接口;

* SD接口和MMC卡接口;

* 看門狗計數器;

* 117位通用I/O口和24位外部中斷源;

第三章 調試嵌入式系統程序

1、 嵌入式系統調試方法:

1) 實時在線仿真(In-Circuit Emulator, ICE)

* 優點:功能非常強大,軟硬件均可做到完全實時在線調試。

* 缺點:價格昂貴。

2) 模擬調試

* 優點:簡單方便,不需要目標板,成本低。

* 缺點:功能非常有限,無法實時調試。

3) 軟件調試

* 優點:純軟件,價格較低,簡單,軟件調試能力較強。

* 缺點:需要事先燒制監控程序(Monitor)(往往需多次實驗才能成功)且目標板工作正常,功能有限,特別是硬件調試能力較差。

4) JTAG調試

* 優點:方便、簡單,無需制作Monitor,軟硬件均可調適。

* 缺點:需要工作基本正常(至少CPU工作正常)的目標板,僅適用于有調試接口的芯片。

2、 ARM仿真器工作原理:

利用高速JTAG(Joint Test Action Group)串行掃描鏈,通過調試通信通道(Debug Communication Channel, DCC)連接ARM核心內嵌的名為"Embedded-ICE"的調試邏輯,調試邏輯實時監測ARM核心的寄存器、數據總線和地址總線。調試器設置Breakpoint及Watchpoint后,程序在ARM內核全速運行,調試程序實時監測地址與數據總線并與預設值比較,在吻合時產生異常中斷通知內核并把控制權交給調試器。這樣,在程序全速運行時,可以在斷點處停止,可以設置條件斷點、條件觀測斷點等,而又不占用CPU時間及內存資源。

3、 JTAG接口:

1985年制定的檢測PCB和IC的一個標準,1990年被修改后成為IEEE的一個標準,及IEEE1149.1-1990。通過這個標準,可對具有JTAG接口芯片的電路進行邊界掃描和故障檢測。

第四章 創建嵌入式系統開發環境

1、交叉編譯步驟:

(1) 創建編譯環境。在這個過程中,將設置一些環境變量,創建安裝目錄,安裝內核源代碼和頭文件等。

(2) 創建binutils。這個過程結束后,會創建類似arm-linux-ld等工具。

  Binutils是一組開發工具,包括鏈接器、匯編器以及其他用于目標文件和檔案的工具

  首先要安裝的軟件包使binutils。這非常重要,因為glibc和gcc會針對可用的連接器和匯編器進行多種測試,以決定打開某些特性。

  

(3) 創建一個交叉編譯版本的gcc。注意:在這個過程中只能編譯C程序,而不能編譯C++程序。

  創建交叉編譯版本的gcc,需要交叉編譯版本的glibc及其頭文件,而交叉編譯版本的glibc是通過交叉編譯版本的gcc創建的。面對這個先有雞還是先有蛋的問題,解決辦法是先只編譯對C語言的支持,并禁止支持線程。

(4) 創建一個交叉編譯版本的glibc。這里最容易出現問題。

glibc是一個提供系統調用和基本函數的C語言庫,比如open,malloc和printf等,所有動態鏈接的程序都要用到它。創建glibc需要的時間更長。

(5) 創建一個交叉編譯版本的gdb。在這個過程結束后,會創建ARM-Linux-gdb。

(6) 重新創建gcc。前面創建gcc的過程沒有編譯C++編譯器,現在glibc已經準備好了,所以這個步驟將完善gcc的交叉編譯。

(7) 重新創建glibc。如果成功執行了這個過程,那么你就擁有了一套屬于自己的交叉編譯工具鏈。

2、如果在交叉編譯過程中出現錯誤,那么請檢查:

* 版本選擇是否正確,以及是否安裝了相應的補丁;

* 庫文件路徑是否正確;

* 系統環境變量是否設置正確。

第五章 Bootloader

1、 Bootloader(引導加載程序)是系統加電后運行的第一段代碼。一般它只在系統啟動時運行非常短的一段時間,但對于嵌入式系統來說,這是一個非常重要的系統組成部分。

2、 嵌入式Linux系統從軟件的角度看通常可以分成4個層次:

(1) 引導加載程序。包括固化在固件(Firmware)中的啟動代碼(可選)和Bootloader兩大部分。

(2) 內核。特定于嵌入式板子的定制內核以及控制內核引導系統的參數。

(3) 文件系統。包括根文件系統和建立于Flash內存設備之上的文件系統。通常用Ramdisk作為根文件系統。它是提供管理系統的各種配置文件以及系統執行用戶應用程序的良好的運行環境的載體。

(4) 用戶應用程序。特定于用戶的應用程序。有時在用戶應用程序和內核層之間可能還會包括一個嵌入式圖形用戶界面。

3、 Bootloader包含兩種不同的操作模式:

1) 啟動加載(Bootloading)模式;

2) 下載(Downloading)模式。

4、 Bootloader的啟動流程:

第一階段:主要包含依賴于CPU的體系結構硬件初始化的代碼,通常都用匯編實現。這個階段的任務有:

* 基本的硬件設備初始化(屏蔽所有的中斷、關閉處理器內部指令/數據Cache等)

* 為第二階段準備RAM空間

* 如果是從某個固態存儲媒質中,則復制Bootloader的第二段代碼到RAM

* 設置堆棧

* 跳轉到第二階段的程序入口點

第二階段:通常用C語言完成,以便實現更復雜的功能,也使程序有更好的可讀性和可移植性。這個階段的任務有:

* 初始化本階段要使用到的硬件設備

* 檢測系統內存映射

* 將內核映像和根文件系統映像從FLASH讀到RAM

* 為內核設置啟動參數

* 調用內核

5、 常用U-Boot命令:

命令名

功能

help / ?

幫助命令。用于查詢U-Boot支持的命令并列出簡單說明,和"?"是同一個命令

bdinfo

察看目標系統參數和變量、目標板的硬件配置、各種變量參數

setenv

設置環境變量。比較常用的有:

setenv ipaddr *.*.*.*

setenv severip *.*.*.*

setenv gatewayip *.*.*.*

setenv ethaddr *.*.*.*.*.*

printenv

查看環境變量

saveenv

保存設置的環境變量到Flash

mw

寫內存

md

察看內存

mm

修改內存

flinfo

察看Flash的信息

erase [起始地址 結束地址]

搽除Flash內容,必須以扇區為單位進行搽除

cp [源地址 目標地址 大小]

內存復制,可以在Flash和ram中交換數據

imi [起始地址]

察看內核映像文件

bootm [起始地址]

從某個地址啟動內核

tftpboot [起始地址 鏡像名]

通過ftp從主機系統下載內核映像文件

reset

復位

第六章 Linux系統在ARM平臺的移植

1、 使某一個平臺的代碼運行在其它平臺上的過程就叫做移植。

2、 Linux內核結構:

* /arch包含了所有硬件結構特定的內核代碼。

Linux系統能支持如此多平臺的部分原因是因為內河把原程序代碼清晰的劃分為體系結構無關部分和體系結構相關部分。對于任何平臺,都必須包含以下幾個目錄:

* boot:包括啟動內核所使用的部分或全部平臺特有代碼。

* kernel:存放支持體系結構特有的(如信號處理和SMP)特征的實現。

* lib:存放高速體系結構特有的(如strlen和memcpy)同用函數的實現。

* mm:存放體系結構特有的內存管理程序的實現。

* math-emu:模擬FPU的代碼。對于ARM處理器來說,此目錄用mach-xxx代替。

顯然,移植工作的重點就是移植arch目錄下的文件。

* /drivers包含了內核中所有的設備驅動程序。

* /fs包含了所有的文件系統的代碼。

* /include包含了建立內核代碼時所需的大部分庫文件,這個模塊利用其他模塊重建內核。該目錄也包含了不同平臺需要的庫文件。比如,asm-arm是arm平臺需要的庫文件。

* /init包含了內核的初始化代碼,內核從此處工作。

不是系統的引導代碼,由main.c和version.c兩個文件。這是研究核心如何工作的好起點。

* /ipc包含了進程間通信代碼。

* /kernel包含了主內核代碼。

* /mm包含了所有內存管理代碼。

* /net包含了和網絡相關的代碼。

3、 在移植過程中,定時器、中斷、CACHE管理、MMU等和硬件密切相關的地方都是要相關平臺的底層代碼支持的,要特別注意。

4、 編譯內核:

1) 配置內核

make ARCH=arm CROSS_COMPILE=arm-Linux- menuconfig

2) 創建內核依賴關系

make dep

3) 創建內核鏡像文件

make zImage

4) 創建內核模塊

make modules


支持(0中立(0反對(0單帖管理 | 引用 | 回復 回到頂部

返回版面帖子列表

嵌入式設計及Linux驅動開發指南——基于ARM9處理器








簽名
久久精品在这里_成人99免费视频_国产激情视频一区二区在线观看_国产伦精品一区二区三区免费 _亚洲午夜免费福利视频_色狠狠色狠狠综合_av在线综合网_91毛片在线观看_欧美视频一区二区在线观看_极品美女销魂一区二区三区免费_国产亚洲欧美激情_在线免费观看不卡av_日韩不卡一区二区三区_91精品国产麻豆国产自产在线_亚洲国产精品一区二区久久恐怖片_a4yy欧美一区二区三区
日本福利一区二区| 国产91社区| 午夜精品久久久久久久| 亚洲制服丝袜av| 日韩精品一级二级| 国产乱码精品1区2区3区| 成人午夜视频在线观看| av在线不卡观看| 日韩精品电影网站| 欧美亚洲一区二区在线观看| 日韩三级免费观看| 亚洲欧洲精品一区二区三区 | 精品污污网站免费看| 日韩欧美精品在线视频| 国产精品国产精品国产专区不蜜| 亚洲成av人片一区二区三区| 激情综合色综合久久| 91麻豆国产福利在线观看| 乱一区二区三区在线播放| 在线观看欧美日本| 久久精品视频在线免费观看| 亚洲黄色在线视频| 国产乱理伦片在线观看夜一区| 成人性色av| 欧洲国产伦久久久久久久| 国产亚洲欧美在线| 日韩av成人高清| 99re这里都是精品| 亚洲一区在线免费| 国产亚洲一本大道中文在线| 亚洲v日本v欧美v久久精品| 岛国精品一区二区| 日韩女优中文字幕| 亚洲精品一区二区三区四区高清| 亚洲国产欧美在线| av在线不卡观看免费观看| 日韩黄色影视| 久久蜜臀精品av| 蜜桃视频一区二区三区| 国内精品久久久久久久果冻传媒| 欧美日韩精品一区二区三区四区| |精品福利一区二区三区| 国产精品一区三区| 日韩欧美亚洲v片| 国产无人区一区二区三区| 久久99蜜桃精品| 品久久久久久久久久96高清| 久久久久久久性| 国产一区二区三区免费看| 日本一区二区三区www| 国产亚洲自拍一区| 国产一区二区三区观看| 亚洲精品影院| 国产精品传媒入口麻豆| 成a人片国产精品| 欧美三级资源在线| 婷婷开心久久网| 欧美日韩一区二区三区在线视频| 欧美成va人片在线观看| 捆绑调教一区二区三区| 涩涩涩999| 亚洲青青青在线视频| 91尤物视频在线观看| 欧美一区二区三区四区视频| 麻豆精品久久精品色综合| 午夜老司机精品| 亚洲欧美日韩中文字幕一区二区三区| 91在线一区二区三区| 日韩午夜中文字幕| 另类小说综合欧美亚洲| 中文字幕日韩精品一区二区| 亚洲综合男人的天堂| 久久福利电影| 中文字幕在线免费不卡| 91在线精品观看| 久久亚洲综合色| av在线播放成人| 欧美α欧美αv大片| 国产成人日日夜夜| 3d动漫精品啪啪一区二区竹菊| 另类的小说在线视频另类成人小视频在线| 欧美一区二区福利| 亚洲精品少妇30p| 另类小说综合网| 亚洲激情网站免费观看| 欧美精品尤物在线| 亚洲精品久久久蜜桃| 精品一区二区三区免费毛片| 国产精品每日更新| 久久香蕉综合色| 一区二区三区在线视频免费观看| 久热这里只精品99re8久| 亚洲精品免费播放| 无码免费一区二区三区免费播放| 亚洲在线中文字幕| 日本精品一区二区三区不卡无字幕| 最新日韩av在线| 日韩av电影免费播放| 亚洲成人av在线电影| 色综合中文字幕国产 | 欧美一级片在线观看| 成人丝袜18视频在线观看| 日韩欧美久久一区| 91一区一区三区| 国产精品色婷婷久久58| 欧美激情第六页| 日韩精品一级中文字幕精品视频免费观看 | 91蜜桃视频在线| 亚洲国产精品精华液2区45| 精品国产一区二区三区麻豆免费观看完整版| 欧美激情一区二区| 久久人人97超碰人人澡爱香蕉| 亚洲一区av在线| 在线精品视频一区二区| 国产成人自拍网| 中文字幕欧美国产| 日韩国产在线一区| 卡一卡二国产精品| 久久综合五月天婷婷伊人| 国产私拍一区| 日韩高清在线一区| 日韩精品资源二区在线| 国产精品一区视频网站| 亚洲大片在线观看| 欧美一三区三区四区免费在线看 | 国产精品一区免费观看| 亚洲一区二区欧美激情| 色噜噜狠狠成人中文综合| 国产剧情在线观看一区二区| 欧美激情一区二区三区蜜桃视频 | 久久精品亚洲麻豆av一区二区| 国产美女99p| 日韩高清在线不卡| 久久午夜国产精品| 亚洲精品二区| eeuss鲁片一区二区三区在线观看| 国产精品初高中害羞小美女文 | 久久久久久久综合色一本| 欧美精品成人一区二区在线观看 | 五月天丁香综合久久国产| 国产在线精品一区二区夜色| 国产亚洲人成网站| 色屁屁一区二区| 91免费视频网址| 日本欧美加勒比视频| 久久在线观看免费| 色综合视频在线观看| 99精品热视频| 免费久久99精品国产| 国产亚洲婷婷免费| 欧美视频一区二区三区在线观看 | av中文字幕一区| 日韩高清在线电影| 国产精品福利一区| 欧美一区二区三区视频免费播放| 欧美在线一区二区三区四区| www.日韩av| 老司机精品视频在线| 亚洲日本乱码在线观看| 欧美一区二区啪啪| 亚洲一区二区三区在线观看视频| av资源站久久亚洲| 国产成人在线看| 丝袜美腿亚洲一区| 亚洲欧美日韩在线不卡| 久久综合色鬼综合色| 欧美日本国产视频| 一区二区三区四区在线视频| 精品视频一区在线| av动漫一区二区| 国模娜娜一区二区三区| 亚洲一区二区av电影| 亚洲国产高清不卡| 精品欧美乱码久久久久久1区2区| 色婷婷av一区二区三区之一色屋| 国产区一区二区三区| 99精品黄色片免费大全| 国产主播一区二区三区| 日本免费新一区视频| 亚洲欧美激情一区二区| 国产女主播在线一区二区| 日韩免费观看高清完整版| 欧美午夜精品免费| 一本久久a久久精品vr综合| 欧美精品亚洲精品| 精品国产一区二区三区麻豆小说 | 日韩欧美一二区| 欧美久久高跟鞋激| 欧美在线视频不卡| 一本色道婷婷久久欧美| 亚洲精品中文字幕在线| 鲁丝一区鲁丝二区鲁丝三区| 岛国视频一区免费观看| 91视频婷婷| 91年精品国产| 成人av播放| 国产伦精品一区二区三区在线| 99视频免费观看| 国产精品v欧美精品v日韩精品 | 欧美午夜精品久久久久免费视|