當前位置:首頁 » 操作系統 » linux嵌入式論文

linux嵌入式論文

發布時間: 2022-08-27 14:53:19

linux論文

我是一個LINUXD的初學者,在看了N篇LINUX的介紹之後,在本著大膽和心細的原則下,嘗試了一回安裝LINUX。現把我的一些心得和體會和大家分享,希望對一些入門級的兄弟姐妹有所幫助。
我裝的是RED
HAT
LINUX
9.0,我原來的操作系統是WIN2000,本著學習LINUX的和省錢至上的想法,我選擇了安裝2000和LINUX的雙系統,我在我們的校園網上下載了LINUX的3CD印象文件(就是ISO文件),先保存在隨意的一個硬碟里,只要不是你要准備裝LINUX
的那個硬碟就行。然後開始對你的硬碟分區,關於怎麼個分法,這一類的文章相信用GOOGLE一搜,肯定好幾十頁,我就是這么看了兩天的。在這里我講一下實際操作。
你首先要有一個未使用的分區,就是空的分區,並且保證這個分區是你邏輯分區的最後的分區。當然,其他也不是一定不可以,但是等你裝好LINUX後,那麼原先的分區文件的注冊表將遭到破壞,所以我建議最好還是把最後的那個分區清空,空間嗎,根據要安裝的類型而定,我建議10G,反正現在的硬碟都挺大的,要是空間有問題,那就請PQMAGIC來幫忙吧,不會破壞原來的文件。
再下來是做一些准備工作,最好准備一些系統設備的信息,比如鍵盤類型,滑鼠型號什麼什麼的,在系統的設備管理欄都有顯示,你要是嫌麻煩,還有更簡便的,用系統優化大師,保存所有系統信息,然後列印。一般在安裝的時候用不了那麼多,但有備無患嘛。呵呵!然後有兩種方法可以引導系統的安裝程序,看你怎麼選擇,第一就是從進入DOS,在DOS下啟動AUTOBOOT命令(通常在光碟的第一張碟里有個dosutils文件,用虛擬光碟機工具把它COPY出來,保存好,在DOS下就從這個路徑啟動AUTOBOOT命令)。還有一種方法就是做一張引導軟盤,做引導軟盤的文章很多,我這里就不講了。從DOS啟動特點是方便,用引導軟盤呢,做盤麻煩一點,做好盤以後,插入盤就點重啟,就可以等著進入安裝界面了。選哪一種就看個人愛好了!不妨,兩個都准備好。:)
在進入安裝界面後,有詢問ISO文件位置,鍵盤類型,語言,安裝類型的對話界面,一路選好後就到了選擇安裝目標位置的地方,這個地方一定要謹慎!首先選中你准備安裝LINUX的分區,刪除它!再重新分配這個空間,建議分兩個區,一個根分區,掛載點為「/」,類型選EXT3。另一個分區為交換分區,類型是SWAP,大小是你內存大小的一到兩倍。假如你有很多用戶,或是有很多用途,還可以分一些BOOT區、URS區等等,請參照其它一些相關說明文章,我沒有用,在這里也就不敢瞎說了,呵呵!
在後來有選擇軟體包和滑鼠類型的對話界面,很輕松就可以搞定了,後來有一個界面是決定LILO的安裝位置的,LILO是一個雙系統引導程序,假如你已經有了2000或其他的WIN操作系統,我建議你把它裝在MBR,也就是整個硬碟的引導區。要是你不怕麻煩也可以把它裝在LINUX的根分區,以後可以通過設置LINUX分區為活動分區,達到引導雙系統的目的。最後你就等機器慢慢安裝吧,時間視機器速度而定,我的128內存,用了40分鍾左右,最後安裝好了,會提示是否創建啟動盤,我和LINUX的建議一樣,強烈建議建一個,以後大有用處!!
經過一大段的OK之後,你就正式進入LINUX了。在第一次進入LINUX時候,系統回要求你做一些回答,很簡單,幾乎一路點下去就可以了。再往後就要看你怎麼去跑你的REDHAT了。

❷ 想做嵌入式開發,為什麼要學習linux

目前為止,還是有很多人不知道為什麼嵌入式要學linux,學linux有什麼用,用windows的人那麼多,為什麼要學linux啊?那麼就來好好講解,學習linux有什麼用!
至少在這個世界上,伺服器領域是Linux的天下。所以如果你是要進入IT行業工作的話,就必須學習Linux——因為它的穩定性、安全性、內核小以及在低配置電腦可以很流暢的運行。另外使用linux學習c語言能學的更透徹,vs可能會蒙蔽你的雙眼。嵌入式分硬體\系統\軟體,不往底層去學習很難融會貫通,可以不接觸硬體,但系統和應用部門好了解。有許多linux開源軟體,學習它,這種工程在代碼質量和數量上都會回答你為什麼要學習。
學習linux後,如果還想學編程語言的話,有如下選擇:可以學C,因為Linux內核就是C編出來的,學好了C能更好的理解Linux;或者python,一種很強大的面向對象編程語言,學好了,進行Linux伺服器管理相當的方便;還有就是php,現在很多公司招Linux方向的人員時,都會問你會不會php編程,如果你精通linux,還有php編程,那就很厲害了,至少找工作絕對沒問題。編程語言都是相同的,VB是一種很好的編程語言,同時它也給微軟造成了很大的安全隱患,但是這幾年好像用的少了,java雖然好學,但是人才太多了,頂尖的不多。C++挺不好學的,但是它的用途很廣,搞圖形開發常用它。至於重新學習,完全不用,如果你VB非常熟練,再學其他的編程語言,會很輕松,剛開始可能有點費勁,一旦你深入進去了,就什麼都不怕了。

❸ linux系統與嵌入式linux有什麼區別和關系

二者是同根生哦,聯系:都屬於linux,都必須符合通用的語法和結構;區別:前者屬於大的通用的,後者屬於適合嵌入式系統應用的,前者包含後者。比喻:前者相當於西瓜,後者相當於無籽西瓜

❹ 碩士論文寫 嵌入式linux 怎麼樣

可以,嵌入式linux可以寫的東西很多,硬體設計,Uboot,內核,應用,演算法等。如果你能自己做個實物,並且能運行基本的功能,論文基本就過關了,如果有一些創新的演算法,創新的設計,那會給你的論文加分,對你自身能力的提高也有幫助。當然,你在校期間要弄的很精通也是不現實的。嵌入式這東西都是一步一個腳印,通過不斷做項目來提高的。

❺ 懂計算機的,英語比較好的進來啊

At present, both in daily life, or in instrial control, aerospace, and military, embedded systems have a very wide range of applications. Embedded Linux for its very low price, significantly lower costs, become embedded operating system of choice. However, as a general operating system Linux, because of its real-time applications in the field of technical barriers to embedded applications in the field, the Linux kernel must also make the necessary improvements. Paper outlined the first real-time embedded Linux technology of great significance. Chapter II linux real-time embedded systems research. Chapter III real-time multi-task scheling algorithm, Chapter IV Uc / OS-II real-time kernel scheling algorithm. Chapter V of the papers will be embedded real-time scheling algorithm design and its core summed up. Finally, there is little feelings and prospects.
關鍵詞: Embedded Linux Linux kernel real-time systems embedded systems

❻ 嵌入式操作系統技術研究(論文)

對系統的移植和裁剪,以達到所需的系統要求
以PowerPC8xx系列處理器為例,通過對此類處理器的引導模式。引導代碼的編寫和調試,以及如何引導操作系統執行等問題的研究,探索嵌入式系統引導過程的一種解決方案。
關鍵詞:MPC860嵌入式操作系統存儲映射引導
嵌入式系統應用開發不同於PC機,其開發過程同時涉及軟硬體,需要將硬體平台的設計。操作系統以及上層應用開發綜合考慮;而PC機應用開發建立在已經定製好的硬體和操作系統平台上,開發者只需調用系統提供的介面和服務完成相應的功能。由於應用和成本約束,嵌入式系統的硬體平台需根據應用量身定製,通常所用的MPU.存儲器。外圍設備等有多種選擇餘地,而且軟體調試技術特殊,使平台的引導設計變得十分復雜。因此,對於嵌入式系統開發者而言,有必要深入分析系統引導過程,將軟硬體開發有效地綜合,即針對不同的硬體平台和軟體運行模式,正確地進行底層上電初始化,進而引導操作系統執行。這個問題的核心在於對系統的引導模式的研究。
嵌入式系統的啟動代碼一般由兩部分構成:引導代碼和操作系統執行環境的初始化代碼。其中引導代碼一般也由兩部分構成:第一部分是板級。片級初始化代碼,主要功能是通過設置寄存器初始化硬體的工作方式,如設置時鍾。中斷控制寄存器等,完成內存映射。初始化MMU等;第二部分是裝載程序,其功能是將操作系統和應用程序的映像從只讀存儲器裝載或者拷貝到系統的RAM中,並跳轉到相應的代碼處繼續執行。操作系統執行環境的初始化代碼主要由硬體抽象層HAL代碼。設備驅動程序初始化代碼和操作系統執行體初始代碼三部分構成。
本文以摩托羅拉MPC860處理器和具有自主知識產權的操作系統CRTOSII為例,研究嵌入式系統引導程序的設計和實現技術。嵌入式軟體的開發涉及調試模式和固化模式兩種運行狀態。調試模式主要解決如何在目標板上調試正確性未經驗證的程序的問題;而固化模式主要解決如何引導已調試成功的程序的問題。相應地,引導代碼的設計應針對兩種模式分別進行。
1調試模式的系統引導
1.1調試模式引導代碼的作用
1調試模式的系統引導
1.1調試模式引導代碼的作用
一個完整的嵌入式軟體的解決方案大致包括四方面:①硬體平台配置初始化和系統引導代碼;②操作系統軟體執行環境的初始化代碼;③操作系統;④應用程序。
在上述四方面中,引導代碼是本研究中力求解決的問題。事實上,板級初始化。操作系統硬體抽象層。設備驅動程序三者整合到一起,就構成了嵌入式系統中BSP(板級支持包)的主體。BSP的代碼與具體的目標板硬體設計相關,同時也與應用程序的設計要求相關,針對應用程序提出的不同要求,例如不同設備驅動程序。不同的中斷源個數。不同的中斷優先順序安排。是否啟用MMU機制等,BSP部分應作出相應的安排。上述第四部分的應用程序是建立在前三部分正確運行的基礎上,並需反復調試。
由上述分析可知,BSP和應用程序代碼的正確性通過一次的編寫不能得到保證,需要經歷「調試——修改——調試」反復的過程,因此需要建立一個可靠的調試環境。該環境建立的基礎正是調模式下的引導代碼。
1.2引導代碼的調試方法
本研究實驗採用一種稱作BDM(Background Debug Mode)的OCD(On Chip Debuging)調試技術。BMD是由Motorola公司提供的一種硬體調試方法,類似於JTAG調試。它利用處理器提供的調試埠調試。MPC860採用一種特殊的BDM——EPBDM,其運作相當於用處理器內嵌的調試模塊接管中斷及異常處理,用戶通過設置調試許可寄存器(debug enable register)指定哪些中斷或異常發生後處理器直接進入調試狀態,而不是操作系統的處理程序。進入調試狀態後,內嵌調試模塊向外部調試通信介面發出信號,通知一直在通信介面監聽的主機調試器,然後調試器便可通過調試模塊使處理器執行系統指令(相當於特權態)。由於專用的片級調試介面裝置(BDI2000)的支持,不需要目標端配備相應的調試代理(Monitor)軟體。
1.3調試模式引導代碼實現
調試模式引導代碼的核心在於使用BDM協議解析微指令,通過調試介面向MPC860發送信號,初始化調試環境。由於MPC860採用RISC結構,所以初始化部分主要是設置處理器內部寄存器,這個過程包括三方面內容:
(1)對處理器相關寄存器進行初始化:主要是關於處理器狀態的寄存器(MSR.SRR1.SIUMCR等),中斷。時鍾相關模塊(SYPCR.SCCR.PLPRCR.TBSCR等)。
(2)對BDM調試埠的初始化:包括調試使能寄存器DER.支持指令斷點的寄存器ICTRL等。
(3)對片級。板級內存映射的初始化:包括內部內存映射寄存器IMMR,內存控制相關寄存器OR0~0R7.BR0~BR7等。它們主要功能是地址映射。片選信號選擇。內存控制器選擇(UMPA.UMPB.GPCM)。如果選擇UPM,由於UPM控制採用微指令方式,而這些微指令根據內存的不同(SRAM.SDRAM.DRAM等),需要設計人員自行編寫代碼寫入MPC860內部存儲區相應位置。對於需要實時刷新的存儲體(如SDRAM),還需設置刷新控制微指令。
上述初始化代碼得以執行,一方面依賴於目標機MPC860提供的調試介面支持,另一方面也需要宿主機GDB的支持。對於宿主機系統,可能選擇Linux,在其下配置GBD;也可以選擇Windows2000,使用可視化的調試工具LambdaTools GDB(Coretek公司產品,不支持硬體斷點),或者使用BDI2000(支持硬體斷點的模擬器)。不管使用哪種調試工具,都可以使用該調試器能夠識別的腳本文伯存放初始化指令。這些腳本在功能上是等效的,指令的描述一般都採用如下格式:操作碼寄存器數值如在嵌入式Linux下SDRAM初始化的代碼片斷為:mpcbdm spr MDR=0x1FF77C35mpcbdm spr MDR=0xEFEABC34mpcbdm spr MDR=0x1FB57C35……而在Windows2000下使用BDI2000代碼為:WUPM 0x00000005 0x1FF77C35WUPM 0x00000006 0xEFEABC34WUPM 0x00000007 0x1FB57C35……腳本描述的指令執行後,MPC860按照預先的設想進入一個可以正常工作的狀態,可以用裝載器將程序下載到SDRAM中調試執行。這個程序主要包含中斷表。操作系統和應用程序映象兩部分,其格式可以為bin.elf.coff等。圖1給出了下載完畢後的內存映象。
當程序下載完成後,PC指針指向Image代碼段(text段)的首條指令,可以利用調試器提供的命令開始調試。
2固化模式的系統引導
2.1概述
經過調試後,OS和上層應用程序構成的Image的正確性得到了保證,但是這個Image不能自主運行。因為調試模式下,是通過BDM介面初始化處理器,並且通過BDM介面將程序下載到RAM中去運行。實際應用環境中,Image必須被存儲在非易失性存儲器中,如Flash.EPROM等,本文選擇Flash。系統啟動時,處理器執行一段引導程序替代調試模式下的調試腳本和裝載程序的功能。啟動代碼主要考慮以下幾個問題:(1)系統上電和復位時程序如何執行,需要初始化哪些寄存器,重點仍然是內存映射相關部分;(2)啟動代碼為幾部分,每部分代碼應該全部還是部分放到Flash或者RAM中執行;(3)在時間效率和空間效率的折衷。
2.2上電初始化
在兩種引導模式下,上電初始化總是必要步驟。它涉及各種核心寄存器初始化。地址映射等問題的處理。
2.2.1地址映射
MPC860的復位是通過一種異常中斷來處理的(可理解為CPU自己產生的中斷),向量號為0x100。異常向量表的基地址加上復位向量號即為復位向量,也就是CPU開始執行指令的地方。異常向量表在內存空間的可能位置有兩個:0x0000000和0xFFF00000。所以PowerPC的復位向量為0x100或0xFFF00100。假設復位向量為0xFFF00100,系統有128K位元組的Flash,並准備把它映射到CPU內存空間0xFE000000開始的地址。MPC860內部的CS0片選信號是默認的系統啟動片選信號,已被連接到Flash的片選線上。上電時,內存控制器會忽略所有參與征選邏輯的地址線的高17位,CS0總是有效。這樣,Flash總會被選中,CPU從Flash偏移0x100的地方取指令,此時CPU的4GB內存空間的每個128KB的塊都被映射到Flash。
2.2.2寄存器初始化
固化方式下的大致相同,但是不再採用腳本文件編寫,而是直接將一段MPC860匯編程序存放在一個start.s文件中。與調試模式初始化程序一樣,主要完成以下處理:
(1)初始化CPU核心寄存器;
(2)設置機器狀態寄存器;
(3)禁止ceche;
(4)初始化IMMR;
(5)初始化系統介面單元(SIU);
(6)初始化時鍾和中斷控制寄存器;
(7)初始化通信處理機(CPM);
(8)初始化內存控制器(UPM);
(9)初始化C語言堆棧。
2.2.3地址空間重映射
上電時,由於只有一個片選信號有效,它選通了Flash,而RAM和其它存儲設備地址無效,需要經過地址空間重映射才能訪問。MPC860的地址空間重映射是通過設置0R0~OR7.BR0~BR7這十六個寄存器完成的。由於上電時4GB的地址空間均被Flash佔用,所以0xFFF00100這個地址仍在Flash的偏移0x100處。在寄存器初始化過程中,需要把SDRAM.MPC860內部寄存器空間以及外設等也映射進來。在進行這些操作前,需要把Flash的位置固定下來,例如映射到0xFE000000,這個操作是通過設置OR0和BR0寄存器實現的。但在寫OR0時,CPU仍然在0xFFF00000的那一塊取指令,而Flash即將被映射到0xFE000000塊,所以程序必定出現「跑飛」的現象,必須對程序計數器(PC)進行調整,然而PC指針對程序員是不可見的,必須用跳轉指令修改它。在Flash地址映射完成後,通過設置OR1~OR7.BR1~BR7可以完成對所有存儲器空間的映射,各種存儲設備可映射在CPU地址空間中的任意位置,但相互之間不能沖突。
2.3引導代碼的構成和運行
系統啟動所涉及的代碼由寄存器初始化匯編文件start.s.一個Load程序以及操作系統與應用程序的Image三部分構成,引導代碼則只包含start.s和Load程序。Load程序的作用是將操作系統與應用程序的構成的Image從Flash拷貝到SDRAM中,並跳轉到Image的首條指令。
調試完成後的Image有兩種運行模式:
Flash-resident image:Load程序僅僅把Image中的數據段(data+bss)復制到RAM中,代碼段(text)在Flash中直接運行。
Flash-based image:Load程序把Image完全搬到RAM中執行,包括image中的代碼段(text)和數據段(data+bss)。
圖2和圖3分別描述了兩種Image的存貯映象,以及從Flash到SDRAM的裝載過程。
2.4時間效率和空間效率上的折衷
在嵌入式系統的應用過程中,針對不同的應用環境,對時間效率和空間效率有不同的要求,基於MPC860的啟動代碼對此有比較充分的解決方案。
2.4.1時間限制
時間限制主要包括兩種情況:系統要求快速啟動和系統啟動後要求程序高速執行。
對於要求快速啟動的系統,應該使在Flash中執行的初始化程序盡量簡短,諸如循環語句之類的語法應該盡量減少,盡快將程序裝載到RAM中執行,這樣做的原因在於Flash的訪存時間與RAM的訪存時間存在數量級上的差距。但是必須根據代碼量以及存儲器的特片進行權衡。因為,雖然RAM中捃速度快,但是將Flash中的代碼復制到RAM中的操作會帶來一定的開銷。由於可見,啟動時間由Flash中引導代碼的運行時間。代碼從Flash拷貝到RAM的時間以及RAM中後續啟動代碼的運行時間三部分組成。啟動時間的最小值是這三者和的最小值。
對於啟動後要求程序高速執行的系統,主要受處理器。存儲器特性以及I/O速度等的影響。在軟體方面,應該採用了上述Flash-based image方式,使得代碼段在RAM中運行,提高運行速度。
2.4.2空間限制
空間限制主要包括兩種情況:Flash等非易失性存儲空間有限和RAM等易失性空間有限兩種系統。
對於採用高性能非易失性存儲器的系統,出於成本因素,Flash等存儲設備不能太大,然而它又是系統存放啟動代碼和操作系統Image的地方。在存放Image時,可以先使用gzip等壓縮工具進行壓縮,在將Image載入到RAM時採用逆向的解壓縮演算法解壓。同時,出於實時性考慮,壓縮演算法不能過於復雜,否則壓縮解壓過程消耗大量時間將與啟動時間限制發生嚴重沖突。採用壓縮策略並不一定會增加系統啟動時間,因為壓縮解壓過程雖然消息了一定的時間,但是由於Image體積減小,由Flash復制到RAM中的時間相應減少,有可能反而減少了時間消耗。
對於採用高性能RAM的系統,同樣出於成本因素,RAM空間有一定限制,此時一般採用前文描述的Flashresident image方式:Load程序把Image中的數據段復制到RAM中,代碼段在Flash中運行。折衷同樣存在,因為code段在低速的Flash中運行,在節省空間的同時,卻犧牲了時間。
本文介紹了基於嵌入式處理器的操作系統引導方法,重點研究嵌入式系統的引導模式以及不同類別的引導方法。以在MPC860C處理器上引導CRTOSII操作系統為例,闡述了調試模式和固化模式下引導代碼的構成。作用以及執行方式,並對不同引導模式下的時空效率的折衷進行了分析。最終,藉助BDI2000模擬器對編寫的引導代碼進行調試,成功實現了調試模式和固化模式下操作系統的引導。後續工作包括:繼續研究在不同硬體平台上的操作系統引導方法,例如最流行的ARM.X86系列;在同一平台上,可以研究不同操作系統的啟動方法,例如嵌入式Linux.Vxworks.WinCE等。

熱點內容
密碼鎖壞了如何打開 發布:2025-05-15 11:30:19 瀏覽:836
怎樣增加共享文件夾連接數量 發布:2025-05-15 11:24:50 瀏覽:961
安卓如何關閉單應用音量 發布:2025-05-15 11:22:31 瀏覽:351
抖音電腦後台伺服器中斷 發布:2025-05-15 11:11:59 瀏覽:307
sql2008伺服器 發布:2025-05-15 11:03:27 瀏覽:306
我的世界pe伺服器創造 發布:2025-05-15 10:51:17 瀏覽:608
移動端打吃雞要什麼配置 發布:2025-05-15 10:48:16 瀏覽:756
我的世界哪五個伺服器被炸了 發布:2025-05-15 10:36:16 瀏覽:994
ehcache存儲對象 發布:2025-05-15 10:35:31 瀏覽:528
搭建虛擬電腦的伺服器 發布:2025-05-15 10:29:31 瀏覽:270