MicroC/OS-II The Real-Time Kernel Second Edition By Jean J. Labrosse CMP Books, CMP Media LLC Copyright 2002 by CMP Books ISBN 1-57820-103-9 CMP Books CMP Media LLC 1601 West 23rd Street, Suite 200 Lawrence, Kansas 66046 785-841-1631 www.cmpbooks.com email: books@cmp.com The programs and applications on this disk have been carefully tested, but are not guaranteed for any particular purpose. The publisher does not offer any warranties and does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information.
標簽: MicroCOS_II 嵌入式 實時操作系統
上傳時間: 2013-06-09
上傳用戶:zhyiroy
人臉自動識別技術是模式識別、圖像處理等學科的一個最熱門研究課題之一。隨著社會的發展,各方面對快速有效的自動身份驗證的要求日益迫切,而人臉識別技術作為各種生物識別技術中最重要的方法之一,已經越來越多的受到重視。對于具有實時,快捷,低誤識率的高性能算法以及對算法硬件加速的研究也逐漸展開。 本文詳細分析了智能人臉識別算法原理,發展概況和前景,包括人臉檢測算法,人眼定位算法,預處理算法,PCA和ICA 算法,詳細分析了項目情況,系統劃分,軟硬件平臺的資源和使用。并在ISE軟件平臺上,用硬件描述語言(verilog HDL)對算法部分嚴格按照FPGA代碼風格進行了RTL 硬件建模,并對C++算法進行了優化處理,通過仿真與軟件算法結果進行比對,評估誤差,最后在VirtexII Pro FPGA 上進行了綜合實現。 主要研究內容如下: 首先,對硬件平臺xilinx的VirtexII Pro FPGA 上的系統資源進行了描述和研究,對存儲器sdram,RS-232 串口,JTAG 進行了研究和調試,對Coreconnect的OPB總線仲裁機理進行了兩種算法的比較,RTL 設計,仿真和綜合。利用ISE和VC++軟件平臺,對verilog和C++算法進行同步比較測試,使每步算法對應正確的結果。對軟硬件平臺的合理使用使得在項目中能盡可能多的充分利用硬件資源,制板時正確選型,以及加快設計和調試進度。其次,對人臉識別算法流程中的人臉檢測,人眼定位,預處理,識別算法分別進行了比較研究,選取其中各自性能最好的一種算法對其原理進行了分析討論。人臉檢測采用adaboost 算法,因其速度和精度的綜合性能表現優異。人眼定位采用小塊合并算法,因為它具有快速,準確,弱時實的特點。預處理算法采用直方圖均衡加平滑的算法,簡單,高效。 識別算法采用PCA 加ICA 算法,它能最大的弱化姿態和光照對人臉識別的影響。 最后,使用Verilog HDL 硬件描述語言進行算法的RTL 建模,在C++算法的基礎上,保證原來效果的前提下,根據FPGA 硬件特點對算法進行了優化。視頻輸入輸出是人臉識別的前提,它提供FPGA 上算法需要處理的數據,預處理算法在C++算法的基礎上進行了優化,最大的減少了運算量,提高了運算速度,16 位計算器模塊使得在算法實現時可以根據系統要求,在FPGA的ip 核和自己設計的模塊之間選擇性能更好的一個來調用,FIFO的設計提供同步和異步時鐘域的數據緩存。設計在ISE和VC++軟件平臺同時進行,隨時對verilog和C++數據進行監測和比對。全部設計模塊通過仿真,達到預定的性能要求,并在FPGA 上綜合實現。
上傳時間: 2013-07-13
上傳用戶:李夢晗
汽車行駛記錄儀(文中也簡稱為記錄儀),亦稱“汽車黑匣子”,是安裝在車輛上,對車輛行駛速度、時間、里程以及有關車輛行駛的其它狀態信息進行監控、記錄、存儲并可通過接口實現數據輸出的數字式電子記錄裝置。為分析和判斷汽車駕駛狀態和處理交通事故提供了可靠準確的科學依據。本課題的來源是國家信息產業部下達的電子發展基金項目,與同類產品相比,增加了音/視頻功能,目前已通過信產部驗收。 本文主要分析和設計了一種具有低成本高擴展性的基于ARM與ARMLinux的汽車行駛記錄儀方案,該系統作為信產部項目中的主控模塊實現了記錄儀的標準功能。硬件方面分析了汽車行駛記錄儀的標準功能對應ARM片內外圍電路與外部器件的設計。軟件方面分析了基于YAFFS文件系統與Linux 2.6的軟件平臺在嵌入式應用方面的高可用性,主要描述YAFFS的特點與基本原理,Linux中線程的實現機制與Linux Kernel 2.6在響應時間上的改進。并給出了該記錄儀基于Liinux的多線程結構應用程序的設計要點、流程圖和主要的數據結構。 作為擴展,為記錄儀增加了采集和處理音/視頻信號的DSP模塊。DSP采用TI公司的專用于數字媒體應用的高性能DSP DM642。DSP模塊同時采集3路視頻并進行壓縮,壓縮算法可以采用MPEG-2、MPEG-4、H.263、H.264等。論述了實現音/視頻功能的基本原理、DSP模塊的存儲器結構、ARM與DSP的通信及一些實用性的考慮。
上傳時間: 2013-07-02
上傳用戶:W51631
目 錄 前 言 ..........................................................................................2 1 嵌入式開發平臺......................................................................4 1.1 ARM 的開發平臺:.........................................................4 1.2 器件選型.........................................................................7 2 工具選擇...............................................................................11 3 編譯和連接............................................................................13 3.1 RVCT 的優化級別與優化方向.......................................16 3.2 Multifile compilation ......................................................21 3.3 調試...............................................................................22 4 操作系統...............................................................................23 4.1 哪里可以得到 os 軟件包 (Open Source and Linux Kernel) ................................................................................25 4.2 安裝鏡像.......................................................................26 4.3 交叉編譯.......................................................................26 總結..........................................................................................27
上傳時間: 2013-04-24
上傳用戶:trepb001
T-Kernel作為一種嵌入式操作系統,由于實時性和開源性,在嵌入式操作系統領域中的應用越來越廣泛。ARM是一款比較好的微處理器,T-Kernel在ARM上的應用研究基本上是空白,所以結合兩者進行研究促進T-Kernel在國內嵌入式領域的發展。同時,T-Kernel內部調度機制存在著優先級反轉缺陷,優先級反向使得高優先級任務的執行時間無法預測,增加了實時系統的不確定性。早期的解決協議較好地解決了優先級反轉問題,但同時也存在著自身不足之處。 針對T-Kernel存在的缺陷,在深入研究相關協議的基礎上,本論文提出了一種新的改進的優先級繼承協議。該協議設置超時保護機制,避免任務在獲取信號量時長時間的阻塞,結合Havender提出的“有序資源使用法”防止死鎖發生,給出該協議的分析過程,并把該協議結合到T-Kernel中。在這個基礎之上,建立研究開發平臺;針對硬件設備,研究引導程序的執行原理,實現系統的引導程序;構建T-Kennel內核;移植內核到開發板;最后對T-Kernel的啟動過程進行了詳細的分析。 T-Kernel在ARM上的移植研究,為嵌入式系統開發的提供了一種開發流程,同時對于T-Kernel的啟動過程的分析,為以后的應用程序開發提供了一個接口;對于T-Kernel存在的優先級反轉問題的解決,可以改進T-Kernel的實時性和靈活性,同時為實時系統的性能改進提供了參考。
上傳時間: 2013-04-24
上傳用戶:shangdafreya
關于如何從moonshell退出到燒錄卡內核-Out on how to burn cards from moonshell kernel
標簽: Exploration Edition Deep CAD
上傳時間: 2013-08-05
上傳用戶:vvbvvb123
■ 硬件平臺:realARM 6410 ■ 操作系統:fedora kernel 2.6.33.3-85.fc13.i686.PAE ■ 交叉編譯器:arm-none-linux-gnueabi gcc version 4.3.2 ■ WIFI模組:磊科NW336 芯片 realtek 8188cus 介紹在嵌入式linux方面如何移植usb wifi相關
上傳時間: 2013-07-14
上傳用戶:lishuoshi1996
本書面向由傳統51單片機轉向ARM嵌入式開發的硬件工程師、由硬件轉嵌入式軟件開發的工程師、沒有嵌入式開發經驗的軟件工程師。分9個部分:1、開發環境建立2、S3C2410功能部件介紹與實驗(含實驗代碼)3、bootloader vivi詳細注釋4、linux移植5、linux驅動6、yaffs文件系統詳解7、調試工具8、GUI開發簡介9、UC/OS移植通過學習第二部分,即可了解基于ARM CPU的嵌入式開發所需要的外圍器件及其接口。對應的實驗代碼實現了對這些接口的操作,這可以讓硬件工程師形成一個嵌入式硬件開發的概念。這部分也可以當作S3C2410的數據手冊來使用。一個完整的嵌入式linux系統包含4部分內容:bootloader、parameters、kernel、root file system。3、4、5、6部分詳細介紹了這4部分的內容,這是linux底層軟件開發人員應該掌握的。通過學習這些章節,您可以詳細了解到如何在一個裸板上裁減、移植linux,如何構造自己的根文件系統,如何編寫適合客戶需求的驅動程序——驅動程序這章將結合幾個經典的驅動程序進行講解。您還可以了解到在用在nand flash上的非常流行的yaffs文件系統是如何工作的,本書將結合yaffs代碼詳細介紹yaffs文件系統。第7部分介紹了嵌入式linux開發中使用gdb進行調試的詳細過程。
上傳時間: 2013-10-31
上傳用戶:yunfan1978
第一章 序論……………………………………………………………6 1- 1 研究動機…………………………………………………………..7 1- 2 專題目標…………………………………………………………..8 1- 3 工作流程…………………………………………………………..9 1- 4 開發環境與設備…………………………………………………10 第二章 德州儀器OMAP 開發套件…………………………………10 2- 1 OMAP介紹………………………………………………………10 2-1.1 OMAP是什麼?…….………………………………….…10 2-1.2 DSP的優點……………………………………………....11 2- 2 OMAP Architecture介紹………………………………………...12 2-2-1 OMAP1510 硬體架構………………………………….…12 2-2.2 OMAP1510軟體架構……………………………………...12 2-2.3 DSP / BIOS Bridge簡述…………………………………...13 2- 3 TI Innovator套件 -- OMAP1510 ……………………………..14 2-2.1 General Purpose processor -- ARM925T………………...14 2-2.2 DSP processor -- TMS320C55x …………………………15 2-2.3 IDE Tool – CCS …………………………………………15 2-2.4 Peripheral ………………………………………………..16 第三章 在OMAP1510上建構Embedded Linux System…………….17 3- 1 嵌入式工具………………………………………………………17 3-1.1 嵌入式程式開發與一般程式開發之不同………….….17 3-1.2 Cross Compiling的GNU工具程式……………………18 3-1.3 建立ARM-Linux Cross-Compiling 工具程式………...19 3-1.4 Serial Communication Program………………………...20 3- 2 Porting kernel………………………………………………….…21 3-2.1 Setup CCS ………………………………………….…..21 3-2.2 編譯及上傳Loader…………………………………..…23 3-2.3 編譯及上傳Kernel…………………………………..…24 3- 3 建構Root File System………………………………………..…..26 3-3.1 Flash ROM……………………………………………...26 3-3.2 NFS mounting…………………………………………..27 3-3.3 支援NFS Mounting 的kernel…………………………..27 3-3.4 提供NFS Mounting Service……………………………29 3-3.5 DHCP Server……………………………………………31 3-3.6 Linux root 檔案系統……………………………….…..32 3- 4 啟動及測試Innovator音效裝置…………………………..…….33 3- 5 建構支援DSP processor的環境…………………………...……34 3-5.1 Solution -- DSP Gateway簡介……………………..…34 3-5.2 DSP Gateway運作架構…………………………..…..35 3- 6 架設DSP Gateway………………………………………….…36 3-6.1 重編kernel……………………………………………...36 3-6.2 DEVFS driver…………………………………….……..36 3-6.3 編譯DSP tool和API……………………………..…….37 3-6.4 測試……………………………………………….…….37 第四章 MP3 Player……………………………………………….…..38 4- 1 MP3 介紹………………………………………………….…….38 4- 2 MP3 壓縮原理……………………………………………….….39 4- 3 Linux MP3 player – splay………………………………….…….41 4.3-1 splay介紹…………………………………………….…..41 4.3-2 splay 編譯………………………………………….…….41 4.3-3 splay 的使用說明………………………………….……41 第五章 程式改寫………………………………………………...…...42 5-1 程式評估與改寫………………………………………………...…42 5-1.1 Inter-Processor Communication Scheme…………….....42 5-1.2 ARM part programming……………………………..…42 5-1.3 DSP part programming………………………………....42 5-2 程式碼………………………………………………………..……43 5-3 雙處理器程式開發注意事項…………………………………...…47 第六章 效能評估與討論……………………………………………48 6-1 速度……………………………………………………………...48 6-2 CPU負載………………………………………………………..49 6-3 討論……………………………………………………………...49 6-3.1分工處理的經濟效益………………………………...49 6-3.2音質v.s 浮點與定點運算………………………..…..49 6-3.3 DSP Gateway架構的限制………………………….…50 6-3.4減少IO溝通……………….………………………….50 6-3.5網路掛載File System的Delay…………………..……51 第七章 結論心得…
上傳時間: 2013-10-14
上傳用戶:a471778
實時操作系統,Kernel部分完成于2006年上半年,其IPC部分甚至是年中時才具備相 應的雛形。最開始時是因為要為朋友做一個小型的手持設備,而本人起初又是另一國內老牌 實時操作系統:DOOLOO RTOS開發人員,但這個團隊在2005年底已經解散。但朋友的系統要 上,用其他小型系統嗎,一不熟悉,二看不上。答應朋友的事,總得有解決方法吧,即使是原來 的DOOLOO RTOS,因為其仿VxWorks結構,導致它的核心太大,包括太多不必要的東西(一套 完整的libc庫),這些方案都否決了。怎么辦?當時朋友那邊也不算太急,先自己寫一套內核吧。 這個就是源頭!(后來雖然朋友的項目夭折了,但這套OS則保留下來了,并開源了,萬幸) 1 序 3 1.1 RT-Thread誕生 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 艱難的發展期 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 一年增加0.0.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.4 Cortex-M3的變革 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.5 面向對象設計方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.6 文檔結構 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 實時系統 7 2.1 嵌入式系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2 實時系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3 軟實時與硬實時 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3 快速入門 11 3.1 準備環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2 初識RT-Thread . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.3 系統啟動代碼 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.4 用戶入口代碼 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.5 跑馬燈的例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.6 生產者消費者問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 4 RT-Thread簡介 25 4.1 實時內核 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 4.2 虛擬文件系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.3 輕型IP協議棧 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.4 shell系統 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.5 圖形用戶界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.6 支持的平臺 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 5 內核對象模型 29 5.1 C語言的對象化模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5.2 內核對象模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 6 線程調度與管理 39 6.1 實時系統的需求 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
上傳時間: 2013-10-14
上傳用戶:1234321@q