欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      嵌入式Linux學(xué)習(xí)筆記(四)-內(nèi)存管理單元mmu5篇范文

      時間:2019-05-14 21:58:04下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《嵌入式Linux學(xué)習(xí)筆記(四)-內(nèi)存管理單元mmu》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《嵌入式Linux學(xué)習(xí)筆記(四)-內(nèi)存管理單元mmu》。

      第一篇:嵌入式Linux學(xué)習(xí)筆記(四)-內(nèi)存管理單元mmu

      嵌入式Linux學(xué)習(xí)筆記

      (四)-內(nèi)存管理單元mmu

      一、內(nèi)存管理單元MMU介紹內(nèi)存管理單元簡稱MMU,它負(fù)責(zé)虛擬地址到物理地址的映射,并提供硬件機(jī)制的內(nèi)存訪問權(quán)限檢查。MMU使得每個用戶進(jìn)程擁有自己獨立的地址空間,并通過內(nèi)存訪問權(quán)限的檢查保護(hù)每個進(jìn)程所用的內(nèi)存不被其他進(jìn)程破壞。

      重點就在于地址映射:頁表的結(jié)構(gòu)與建立、映射的過程。

      1、S3C2440 MMU地址變換過程

      1)地址的分類

      一個程序在運行之前,沒有必要全部裝入內(nèi)存,僅需要將那些要運行的部分先裝入內(nèi)存,其余部分在用到時從磁盤載入,當(dāng)內(nèi)存不足時,再將暫時不用的部分調(diào)出到磁盤。

      這使得大程序可以在較小的內(nèi)存空間中運行,也使得內(nèi)存中可以同時裝入更多的程序并發(fā)執(zhí)行,這樣的存儲器一般稱為虛擬存儲器。

      虛擬地址最終需要轉(zhuǎn)換為物理地址才能讀寫實際的數(shù)據(jù),通過將虛擬地址空間和物理空間劃分為同樣大小的空間(段或頁),然后兩個空間建立映射關(guān)系。

      由于虛擬地址空間遠(yuǎn)大于物理地址,可能多塊虛擬地址空間映射到同一塊物理地址空間,或者有些虛擬地址空間沒有映射到具體的物理地址空間上去(使用到時再映射)。

      ARM cpu地址轉(zhuǎn)換涉及三種地址:虛擬地址(VA,Virtual Address)、變換后的虛擬地址(MVA,Modified Virtual Address)、物理地址(PA,Physical Address)

      沒有啟動MMU時,CPU核心,cache,MMU,外設(shè)等所有部件使用的都是物理地址。

      啟動MMU后,CPU核心對外發(fā)出虛擬地址VA;VA被轉(zhuǎn)換為MVA供cache,MMU使用,在這里MVA被轉(zhuǎn)換成PA;最后使用PA讀取實際設(shè)備

      ①CPU核心看到和用到的只是虛擬地址VA,至于VA如果去對應(yīng)物理地址PA,CPU核心不理會 ②caches和MMU看不到VA,他們利用MVA轉(zhuǎn)換得到PA ③實際設(shè)備看不到VA、MVA,讀寫它們使用的是物理地址PA

      MVA是除CPU核心外的其他部分看到的虛擬地址,VA與MVA的變化關(guān)系

      如果VA<32M,需要使用進(jìn)程標(biāo)識號PID(通過讀CP15的C13獲得)來轉(zhuǎn)換為MVA

      if(VA < 32M)then

      MVA = VA |(PID << 25)else

      MVA = VA

      使用MVA,而不使用VA的目的是,當(dāng)有重疊的VA時,轉(zhuǎn)換為MVA地址并不重疊,減小轉(zhuǎn)換為PA的代價

      比如兩個進(jìn)程1、2,VA都是0-(32M-1),則MVA分別為0x02000000-0x03ffffff,0x04000000-0x05ffffff。下文說到虛擬地址,如果沒有特別指出,就是指MVA

      2)虛擬地址到物理地址的轉(zhuǎn)換過程

      arm cpu使用頁表來進(jìn)行轉(zhuǎn)換,頁表由一個個條目組成,每個條目存儲一段虛擬地址對應(yīng)的物理地址及訪問權(quán)限,或者下一級頁表的地址 S3C2440最多會用到兩級頁表,以段(Section,1M)的方式進(jìn)行轉(zhuǎn)換時只用到一級頁表,以頁(Page)的方式進(jìn)行轉(zhuǎn)換時用到兩級頁表。

      頁的大小有3種:大頁(64KB),小頁(4KB),極小頁(1KB)。條目也稱為描述符,有:段描述符、大頁描述符、小頁描述符、極小頁描述符-保存段、大頁、小頁、極小頁的起始物理地址;粗頁表描述符、細(xì)頁表描述符,它們保存二級頁表的物理地址。

      下圖為S3C2440的地址轉(zhuǎn)換圖

      TTB base代表一級頁表的地址,將它寫入?yún)f(xié)處理器CP15的寄存器C2(稱為頁表基址寄存器)即可,一級頁表的地址是16K對齊,使用[31:14]存儲頁表基址,[13:0]為0 一級頁表使用4096個描述符來表示4GB空間,每個描述符對應(yīng)1MB的虛擬地址,存儲它對應(yīng)的1MB物理空間的起始地址,或者存儲下一級頁表的地址。使用MVA[31:20]來索引一級頁表(20-31一共12位,2^12=4096,所以是4096個描述符),得到一個描述符,每個描述符占4個字節(jié)。一級頁表描述符格式如下:

      一級頁表描述符

      最低兩位: 0b00:無效

      0b01:粗頁表(Coarse page table)

      [31:10]為粗頁表基址,此描述符低10位填充0后就是一個二級頁表的物理地址,二級頁表含256個條目(使用[9:2],2^8=256個),稱為粗頁表(Coarse page table)。其中每個條目表示4KB大小的物理地址空間,一個粗頁表表示1MB物理地址

      0b10:段(Section)

      [31:20]為段基址,、此描述符低20位填充0后就是一塊1MB物理地址空間的起始地址。MVA[19:0],用來在這1MB空間中尋址。描述符的位[31:20]和MVA[19:0]構(gòu)成了這個虛擬地址MVA對應(yīng)的物理地址

      以段的方式進(jìn)行映射時,虛擬地址MVA到物理地址PA的轉(zhuǎn)換過程如下:

      ①頁表基址寄存器位[31:14]和MVA[31:20]組成一個低兩位為0的32位地址,MMU利用這個地址找到段描述符

      ②取出段描述符的位[31:20](段基址),它和MVA[19:0]組成一個32位的物理地址(這就是MVA對應(yīng)的PA)

      段地址轉(zhuǎn)換過程

      0b11:細(xì)頁表(Fine page table)

      [31:12]為細(xì)頁表基址(Fine page table base address),此描述符的低12位填充0后,就是一個二級頁表的物理地址。此二級頁表含1024個條目(使用[11:2],10位),其中每個條目表示大小1kb的物理地址空間,一個細(xì)頁表表示1MB物理地址空間

      以大頁(64KB),小頁(4KB)或極小頁(1KB)進(jìn)行地址映射時,需要用到二級頁表,二級頁表有粗頁表、細(xì)頁表兩種,二級頁表描述符格式如下:

      二級頁表描述符

      最低兩位: 0b00:無效

      0b01:大頁描述符

      位[31:16]為大頁基址,此描述符的低16位填充0后就是一塊64KB物理地址空間的起始地址粗頁表中的每個條目只能表示4KB物理空間,如果大頁描述符保存在粗頁表中,則連續(xù)16個條目都保存同一個大頁描述符。類似的,細(xì)頁表中每個條目只能表示1KB的物理空間,如果大頁描述符保存在細(xì)頁表中,則連續(xù)64個條目都保存同一個大頁描述符。

      下面以保存在粗頁表中的大頁描述符為例,說明地址轉(zhuǎn)化那過程

      ①頁表基址寄存器[31:14]和MVA[31:20]組成一個低兩位為0的32位地址,MMU利用這個地址找到粗頁表描述符

      ②取出粗頁表描述符的[31:10](即粗頁表基址),它和MVA[19:12]組成一個低兩位為0的32位物理地址,通過這個地址找到大頁描述符

      ③取出大頁描述符的[31:16](即大頁基址),它和MVA[15:0]組成一個32位的物理地址,即MVA對應(yīng)的PA 步驟②和③中,用于在粗頁表中索引的MVA[19:12]、用于在大頁內(nèi)尋址的MVA[15:0]有重合的位[15:12],當(dāng)位[15:12]從0b0000變化到0b1111時,步驟②得到的大頁描述符相同,所以粗頁表中有連續(xù)16個條目保存同一個大頁描述符

      大頁的地址轉(zhuǎn)換過程(大頁描述符保存在粗頁表中)

      0b10:小頁描述符

      [31:12]為小頁基址(Small page base address),此描述符的低12位填充0后就是一塊4kb([11:0],一共12位,2^12=4096)物理地址空間的起始地址。粗頁表中每個條目表示4kb的物理空間,如果小頁描述符保存在粗頁表中,則只需要用一個條目來保存一個小頁描述符。類似的,細(xì)頁表中每個條目只能表示1kb的物理空間,如果小頁保存在細(xì)頁表中,則連續(xù)4個條目都保存同一個小頁描述符。下面以保存在粗頁表中的小頁描述符為例,說明地址轉(zhuǎn)換過程:

      ①頁表基址[31:14]和MVA[31:20]組成一個低兩位為0的32位地址,MMU利用這個地址找到粗頁表描述符

      ②取出粗頁表描述符[31:10](即粗頁表基址),它和MVA[19:12]組成一個低兩位為0的32位物理地址,用這個地址找到小頁描述符

      ③取出小頁描述符的位[31:12](即小頁基址),它和MVA[11:0]組成一個32位物理地址(即MVA對應(yīng)的PA)

      小頁描述符保存在細(xì)頁表中,地址轉(zhuǎn)換過程和上面類似。

      小頁的地址轉(zhuǎn)換過程(小頁描述符保存在粗頁表中)

      0b11:極小頁描述符

      [31:10]為極小頁基址(Tiny page base address),此描述符的低10位填充0后就是一塊1KB物理地址空間的起始地址。極小頁描述符只能保存在細(xì)頁表中,用一個條目來保存一耳光極小頁描述符 下面是極小頁的地址轉(zhuǎn)換過程:

      ①頁表基址寄存器[31:14]和MVA[31:20]組成一個低兩位為0的32位地址,MMU通過這個地址找到細(xì)頁表描述符

      ②取出細(xì)頁表描述符[31:12](即細(xì)頁表基址),它和MVA[19:10]組成一個低兩位為0的32位物理地址,通過這個地址即可找到極小頁描述符

      ③取出極小頁描述符[31:10](即極小頁基址),它和MVA[9:0]組成一個32位的物理地址(即MVA對應(yīng)的PA)

      極小頁的地址轉(zhuǎn)換過程(極小頁描述符保存在粗頁表中)

      從段、大頁、小頁、極小頁的地址轉(zhuǎn)換過程可知

      ①以段進(jìn)行映射時,通過MVA[31:20]結(jié)合頁表得到一段(1MB)的起始物理地址,MVA[19:0]用來在段中尋址

      ②以大頁進(jìn)行映射時,通過MVA[31:16]結(jié)合頁表得到一個大頁(64KB)的起始物理地址,MVA[15:0]用來在小頁中尋址

      ③以小頁進(jìn)行映射時,通過MVA[31:12]結(jié)合頁表得到一個小頁(4KB)的起始物理地址,MVA[11:0]用來在小頁中尋址

      ④以極小頁進(jìn)行映射時,通過MVA[31:10]結(jié)合頁表得到一個極小頁(1KB)的起始物理地址,MVA[9:0]用來在極小頁中尋址

      第二篇:mmu學(xué)習(xí)筆記之-----段式轉(zhuǎn)換

      ARM中MMU之地址轉(zhuǎn)換

      第一次發(fā)帖略微有點激動,有不足的地方還請各位大神指教。

      最近看了看mmu,找了好多資料,看了好多博文終于稍微清楚了一點,現(xiàn)在我把自己理解的內(nèi)容總結(jié)一下:

      首先我來說一下MMU的作用,MMU就是負(fù)責(zé)虛擬地址(virtual address)轉(zhuǎn)化成物理地址(physical address)。下面我來說一下ARM CPU上的地址轉(zhuǎn)換過程涉及三個概念:虛擬地址(VA)(CPU內(nèi)核對外發(fā)出VA),變換后的虛擬地址(MVA)(VA被轉(zhuǎn)換為MVA供cache和MMU使用,在此將MVA轉(zhuǎn)換為PA),物理地址(PA)(最后使用PA讀寫實際設(shè)備)。

      (1)CPU看到的用到的只是VA,CPU不管VA最終是怎樣到PA的;

      (2)而cache、MMU也是看不到VA的,它們使用的是MVA(VA到MVA的轉(zhuǎn)換是由硬件自動完成的);

      (3)實際設(shè)備看不到VA、MVA,讀寫設(shè)備使用的是PA物理地址。

      前期的鋪墊基本完成,接下來進(jìn)入重點。

      在此過程中要用到以下兩個必備的東西:

      1、cp15協(xié)處理器的c2寄存器(這個里面的東西需要程序員自己裝載)

      2、虛擬地址MVA。

      接下來我說以下mmu對虛擬地址到物理地址的轉(zhuǎn)化過程。

      1、無論進(jìn)行那種有效轉(zhuǎn)換都必須進(jìn)行一級頁表的轉(zhuǎn)換,所以我們先去產(chǎn)生一級頁表。

      產(chǎn)生一級頁表經(jīng)過以下步驟

      a)由協(xié)處理器CP15中的寄存器C2(高18位,即[31:14]為轉(zhuǎn)換表基地址,低

      14位為0)為一級轉(zhuǎn)換表基地址,即TTB該地址指向了一個2^14=16KB大

      小的存儲區(qū),即一級轉(zhuǎn)換表。

      b)將MVA的高12位,即位[31:20]作為一級轉(zhuǎn)換表的地址索引,因此一級轉(zhuǎn)換

      表具有2^12=4096項,這4096項的地址為32位,最高的18位[31:14]為

      寄存器C2的高18位,中間12位為MVA的高12位[31:20],最低2位為0b00。

      這4096項中的內(nèi)容稱為一級描述符。至此一級頁表產(chǎn)生完畢。

      2、mmu拿到一級描述符首先看它的后兩位也就是bits[1:0],根據(jù)這兩位的取值mmu

      會進(jìn)入不同的轉(zhuǎn)換模式,這兩位會出現(xiàn)下面四種取值。其中這四種取值分別對應(yīng)四種模式,下面我一一解釋。

      a)00無效不進(jìn)行轉(zhuǎn)換

      b)01進(jìn)行粗頁式轉(zhuǎn)換

      c)10進(jìn)行段式轉(zhuǎn)換

      d)11進(jìn)行細(xì)頁式轉(zhuǎn)換

      3、接下來對于不同的轉(zhuǎn)換模式,就要進(jìn)行不同的轉(zhuǎn)換。我下面將對三種轉(zhuǎn)換模式進(jìn)行

      一一分析。

      a)0b10(段式轉(zhuǎn)換),把段式轉(zhuǎn)換放在第一個說的原因是在ARM中大量用到了

      段式 和細(xì)頁式轉(zhuǎn)換。

      段式轉(zhuǎn)換是最簡單的一種轉(zhuǎn)換方式,它是將我們剛才產(chǎn)生的一級描述符

      (即4096項中的內(nèi)容)的高12位作為段的基地址,用MVA的低20位作為每個段的偏移量,由此我們可以輕松的推出每個段的大小為2^20=1MB,至此我們就得到了一個物理地址PA。

      b)0b11(細(xì)頁式轉(zhuǎn)換)

      細(xì)頁式轉(zhuǎn)換,它是將我們剛才產(chǎn)生的一級描述符的高20位bits[31:12],再加上MVA的bits[19:10](第二級表索引)合體,bits[1:0]補(bǔ)0,獲取第二級描述符的地址,至此其一級轉(zhuǎn)換結(jié)束,因為其二級轉(zhuǎn)換方式和粗頁式的二級轉(zhuǎn)換方式相同所以我下面一塊分析。

      c)0b01(粗頁式轉(zhuǎn)換)

      粗頁式轉(zhuǎn)換,它是將我們剛才產(chǎn)生的一級描述符的高22位bits[31:10],再加上MVA的bits[19:12](第二級表索引)合體,最后兩位補(bǔ)0,獲取

      第二級描述符的地址(32位),至此其一級轉(zhuǎn)換結(jié)束。

      4、下面我們將進(jìn)入二級轉(zhuǎn)換,對于二級轉(zhuǎn)換只針對細(xì)頁式和粗頁式,沒有段式轉(zhuǎn)換。

      a)經(jīng)過一級轉(zhuǎn)換我們得到了二級描述符的地址,我們通過此地址可以得到二級描

      述符,我們根據(jù)二級描述符的低兩位bits[1:0]同樣可以分為四種轉(zhuǎn)換模式:

      i.00無效不進(jìn)行轉(zhuǎn)換

      ii.01大頁描述符

      iii.10小頁描述符

      iv.11極小頁描述符

      b)接下來我將對各個模式進(jìn)行分析。

      i.01(大頁描述符)

      此時我們?nèi)〕龆壝枋龇械腷its[31:16]——大頁基址,它和MVA的bits[15:0]組成一個32位的物理地址,這就是MVA對應(yīng)的PA。

      ii.10(小頁描述符)

      此時我們?nèi)〕龆壝枋龇械腷its[31:12]與MVA的bits[11:0]組成一個32

      位的地址,這就是MVA對應(yīng)的PA。

      iii.11(極小頁描述符)

      此時我們?nèi)〕龆壝枋龇械腷its[31:10]與MVA的bits[9:0]組成一個32

      位的地址,這就是MVA對應(yīng)的PA。

      以上就是MMU對虛擬地址轉(zhuǎn)換到物理地址的過程,本人第一次寫學(xué)習(xí)筆記,還有很多不足之處還請各位前輩指教,謝謝各位。

      第三篇:《四風(fēng)之害》學(xué)習(xí)筆記

      學(xué)習(xí)時間:

      學(xué)習(xí)內(nèi)容:觀看專題片《四風(fēng)之害》

      一、“工作作風(fēng)上的問題絕對不是小事,如果不堅決糾正不良風(fēng)氣,任其發(fā)展下去,就會像一座無形的墻把我們黨和人民群眾隔開,我們黨就會失去根基、失去血脈、失去力量?!?/p>

      二、所謂作風(fēng),是在思想、工作和生活等方面一貫表現(xiàn)出來的態(tài)度或行為。理論聯(lián)系實際、密切聯(lián)系群眾、批評與自我批評以及艱苦奮斗、求真務(wù)實,是我們黨一貫堅持的優(yōu)良作風(fēng)。但隨著世情、國情、黨情的深刻變化,形式主義、官僚主義、享樂主義、奢靡之風(fēng)等一些不良風(fēng)氣在黨內(nèi)大量存在,正在對黨的肌膚造成致命的傷害。

      三、黨與群眾的血肉聯(lián)系是立黨之本、執(zhí)政之基、力量之源。執(zhí)政黨的作風(fēng)問題關(guān)系到人心向背、關(guān)系到黨的生死存亡。

      四、有些專家學(xué)者把群體事件的頻發(fā)歸結(jié)為仇富、仇官、仇警的社會心理。其實,真正的根源在于我們一些黨員干部丟掉了黨的優(yōu)良傳統(tǒng)作風(fēng),淡化了黨的宗旨,忘記了群眾路線,脫離群眾的現(xiàn)象大量存在,形式主義、官僚主義、享樂主義和奢靡之風(fēng)盛行。歸根到底,是“四風(fēng)”之害引發(fā)了“三

      1仇”之病。

      五、水可載舟,亦可覆舟。如果說脫離群眾是我們黨執(zhí)政后的最大危險,那么可以說,危險已經(jīng)顯現(xiàn),危機(jī)就在眼前。消除危險、化解危機(jī)的良藥,就是按照中央“照鏡子、正衣冠、洗洗澡、治治病”的要求,對作風(fēng)之弊、行為之垢來一次大排查、大檢修、大掃除,讓黨的優(yōu)良作風(fēng)發(fā)揚(yáng)光大,把為民務(wù)實清廉的價值追求深深根植于黨員干部的思想和行動中,以作風(fēng)建設(shè)的新成效凝心聚力、取信于民,永葆黨的生機(jī)和活力!

      第四篇:學(xué)習(xí)嵌入式Linux系統(tǒng)的筆記和體會

      學(xué)習(xí)嵌入式Linux系統(tǒng)的筆記和體會

      一個典型的桌面Linux系統(tǒng)包括3個主要的軟件層---linux內(nèi)核、C庫和應(yīng)用程序代碼。

      內(nèi)核是唯一可以完全控制硬件的層,內(nèi)核驅(qū)動程序代表應(yīng)用程序與硬件之間進(jìn)行會話。內(nèi)核之上是C庫,負(fù)責(zé)把POSIX API轉(zhuǎn)換為內(nèi)核可以識別的形式,然后調(diào)用內(nèi)核,從應(yīng)用程序向內(nèi)核傳遞參數(shù)。應(yīng)用程序依靠驅(qū)動內(nèi)核來完成特定的任務(wù)。

      在設(shè)計嵌入式應(yīng)用的時候,可以不按照這種層次,應(yīng)用程序越過C庫直接和內(nèi)核會話,或者把應(yīng)用和內(nèi)核捆綁在一起,甚至可以把應(yīng)用寫為內(nèi)核的一個線程,在內(nèi)核中運行,雖然這樣在移植上帶來了困難,但考慮嵌入式系統(tǒng)對尺寸要求小的特點,是完全可行的。不過我們使用三層軟件結(jié)構(gòu)的模式來學(xué)習(xí)嵌入式linux將會是我們認(rèn)識更清晰,簡單可行并使應(yīng)用具有彈性。

      快速入門

      最簡單的建立嵌入式Linux應(yīng)用的方法就是從我們使用的桌面Linux入手,安裝一個喜愛的版本,把我們的某個應(yīng)用作為初始化的一部分,框架就算完成了。

      當(dāng)然,嵌入式linux應(yīng)用遠(yuǎn)比我們的桌面版本功能簡單專一,它也許就是一個用于足彩的終端機(jī),或是一個數(shù)碼音頻播放器,這些系統(tǒng)除了使用嵌入式CPU外,僅僅再需要一個串口,網(wǎng)口等少量的輸入輸出接口就可以完成它們特定的應(yīng)用了。

      在軟件上,它可以按照三層的概念由內(nèi)核裝載器,定制的內(nèi)核和較少的為特定任務(wù)設(shè)計的靜態(tài)連接的應(yīng)用程序組成。之所以使用靜態(tài)連接的應(yīng)用程序,是因為少量的靜態(tài)連接程序所要的存儲空間,比同樣數(shù)量的動態(tài)連接的程序所占的空間小,這個平衡點需要我們在實際開發(fā)中去獲取。也許你正在設(shè)計的是個PDA,它的應(yīng)用程序較多,那么你很可能就要使用動態(tài)連接程序來減少存儲空間。在你的/bin或者/sbin目錄下,用廠列表看看bash,ifconfig,vi...,也許只用幾十K,當(dāng)你運行 ldd /bin/bash 時,你會看到它們都和好幾個庫文件相連。好了,這樣看來,我們得把PC想像成一個嵌入式硬件平臺,再重新制作一個特定功能的嵌入式linux。

      基礎(chǔ)知識

      再進(jìn)行實際操作之前,先來搞清楚幾個基礎(chǔ)知識。

      內(nèi)核裝載器Loader,它的作用是把內(nèi)核從外部存儲器,移動到內(nèi)存中。它只作這個事情,一旦完成了調(diào)入內(nèi)核的工作,Loader就跳轉(zhuǎn)到內(nèi)核位置開始執(zhí)行。不同架構(gòu)有不同的 Loader,在x86結(jié)構(gòu)的PC上,通常使用的loader有LILO,GRUB,syslinux,syslinux在嵌入式linux中也同樣工作。其他非x86架構(gòu)的應(yīng)用中,你必須使用專門的loader,或者自己編寫loader來裝入內(nèi)核。也有不使用loader的情況,系統(tǒng)加電以后,內(nèi)核直接從燒錄有映象的Flash上開始執(zhí)行。

      內(nèi)核,一旦內(nèi)核開始執(zhí)行,它將通過驅(qū)動程序初始化所有硬件,這可以從我們的pc機(jī)監(jiān)視器的輸出看出來,每個驅(qū)動程序都打印一些有關(guān)它的信息。初始化完成后,計算機(jī)就準(zhǔn)備運行嵌入式應(yīng)用。也許一個,也許是多個應(yīng)用程序組成了嵌入式應(yīng)用,但通常首先調(diào)用的是init(通過loader 向核心傳入init=/program 可以定制首先運行的程序)。桌面linux中,init會讀取/etc/inittab文件,來決定執(zhí)行級別和哪些腳本和命令。嵌入式應(yīng)用中,可以根據(jù)實際的情況決定是否使用標(biāo)準(zhǔn)的init執(zhí)行方式,也許這個init是個靜態(tài)程序,它能夠完成我們的嵌入應(yīng)用的特定任務(wù),那完全不用考慮inittab了。

      initrd文件系統(tǒng),initrd以一種把內(nèi)核從存儲介質(zhì)裝入到內(nèi)存的相同的機(jī)制來裝入一個小型文件系統(tǒng)。這個文件系統(tǒng)最好是以壓縮的方式存儲在介質(zhì)上的,解壓縮到RAM盤上。通過使用initrd,包含有核心驅(qū)動和啟動腳本的小文件系統(tǒng),就可以直接從介質(zhì)上和內(nèi)核一起啟動起來,內(nèi)核屆壓縮這個文件系統(tǒng),并執(zhí)行這個文件系統(tǒng)上叫做/linuxrc的腳本文件,這個腳本通常會把啟動過程中所需要的驅(qū)動程序裝入。腳本退出以后,initrd文件系統(tǒng)也卸下了,啟動過程進(jìn)入真正初始化過程。對于嵌入式來講,可以將需要的應(yīng)用軟件都運行在這個initrd文件系統(tǒng)上,只要/linxrc文件不結(jié)束,內(nèi)核啟動過程的其他部分就不會繼續(xù)。

      做個試驗:

      cp /boot/initrd-2.4.20.img /tmp

      cd /tmp

      mv initrd-2.4.2-.img initrd.img.gz

      gunzip initrd.img.gz

      mount-o loop initrd.img /mnt

      cd /mnt

      ls

      cat linuxrc 可以看到里面執(zhí)行了加載了兩個模塊的操作,你在啟動linxu的時候會看見屏幕打印信息。

      入門試驗,制作一個簡單的應(yīng)用

      我們使用一張軟盤啟動一臺假象的只有一個串口,鍵盤輸入,顯示輸出的x86架構(gòu)的linux系統(tǒng),執(zhí)行的特定應(yīng)用就是運行minicom,通過串口撥號。需要軟件: minicom-xx.src.tar.gz 和 syslinux-xx.tar.gz,xx代表版本號,開始之前,在主目錄建立一個目錄,來釋放這兩個軟件包:

      cd

      mkdir-p project/minilinux

      cd project/minilinux

      tar zxvf minicom-xx.src.tar.gz

      tar zxvf syslinux-xx.tar.gz1、裁減linux內(nèi)核(需要系統(tǒng)安裝內(nèi)核文件包)

      配置內(nèi)核的時候,我們需要選擇這些:摸塊編入內(nèi)核,386處理器、物理內(nèi)存off、支持ELF、標(biāo)準(zhǔn)PC軟盤、支持RAM盤(4096)、支持 initial RAM disk(initrd)、虛你終端、虛擬終端控制臺、標(biāo)準(zhǔn)串口、ext2文件系統(tǒng)、控制臺驅(qū)動,VGA text console、DOS FAT、MSDOS文件系統(tǒng),其他的都可以不要,這樣內(nèi)核編出來較小。

      步驟:

      cd /usr/src/linux

      make mrproper

      make xconfig

      make dep && make bzImage

      得到 /usr/src/linux/arch/i386/boot/目錄的內(nèi)核文件bzIamge。

      2、編譯一個靜態(tài)的minicom,把它作為將來的linuxrc

      cd minicom-xx/src

      vi Makefile

      修改下面這行

      minicom: $(minicom_OBJECTS)$(minicom_DEPENDENCIES)

      rm-f minicom 下面的行加上-static,連接為靜態(tài)程序

      (LINK)-static $(minicom_LDFLAGS)$(minicom_OBJECTS)$(minicom_LDADD)$(LIBS)

      vi minicom.c

      找到 if(real_uid==0 && dosetup==0)刪除這個判斷條件語句,主要是用于權(quán)限判斷的,因為這個嵌入應(yīng)用不關(guān)注權(quán)限問題,否則會出錯。

      make

      得到可執(zhí)行程序,用ldd 檢查一下是不是靜態(tài)程序。

      3、準(zhǔn)備initrd壓縮文件image.gz

      dd if=/dev/zero of=image bs=1k count=4096

      losetup /dev/loop0 image

      mke2fs-m 0 /dev/loop0

      mounmt-t ext2 /dev/loop0 /mnt/

      mkdir-p /mnt/dev

      mkdir-p /mnt/usr/share/terminfo/l/

      cd /dev

      cp-a consle null tty tty0 zero mem /mnt/dev

      cp-P /usr/share/terminfo/l/linux /mnt/usr/share/terminfo/l/linux

      cp ~/project/minilinux/mincom/src/minicom /mnt/linuxrc

      umount /mnt

      losetup-d /dev/loop0

      sync

      gzip-9 image4、制作軟盤引導(dǎo),并拷貝文件 bzimage image.gz 到軟盤

      A.使用grub

      fdformat /dev/fd0

      mke2fs /dev/fd0

      mount /mnt/fd0 /mnt/floppy

      mkdir-p /mnt/floppy/boot/grub

      cp /boot/grub/stage1 /boot/grub/stage2 /mnt/floppy/boot/grub

      執(zhí)行 grub,在軟盤上創(chuàng)建引導(dǎo)

      grub > root(fd0)

      grub > setup(fd0)

      grub > quit

      cp /usr/src/linux/arch/i386/boot/bzImge /mnt/floppy

      cp ~/porject/minilinux/image.gz /mnt/floppy

      編輯 /mnt/floppy/boot/grub/grub.conf

      default =0

      timeout-=10

      title minilinux

      root(fd0)

      kernel /bzImage

      initrd /image.gz

      卸下軟盤

      umount /mnt/floppy

      B.使用syslinux

      fdformat /dev/fd0

      mkfs.msdos /dev/fd0

      mount-t msdos /dev/fd0 /mnt/floppy

      cp /usr/src/linux/arch/i386/boot/bzImge /mnt/floppy

      cp ~/porject/minilinux/image.gz /mnt/floppy

      cp syslinux-xx/ldlinxu.sys /mnt/floppy

      cat > /mnt/floppy/syslinux.cfg

      LABEL linux

      KERNEL bzimage

      APPEND initrd=image.gz

      umont /mnt/floppy

      syslinux-xx/syslinux /dev/fd0

      sync5、用軟盤啟動計算機(jī),如果幸運,minicom的運行畫面出現(xiàn)在屏幕上。

      到此,我們的單應(yīng)用嵌入式linux做好了,但它還很簡陋,沒有什么實際用途,但通過這個實驗,可以了解嵌入式系統(tǒng)的大致結(jié)構(gòu)和開發(fā)過程。在進(jìn)行實際的嵌入式開發(fā)時,通常要在PC機(jī)上借助嵌入式linux開發(fā)工具包,如:uclinux,bluecat等,對相應(yīng)的硬件平臺(目標(biāo)機(jī))進(jìn)行軟件編寫編譯,調(diào)試成功后,將內(nèi)核及應(yīng)用程序?qū)懭氲侥繕?biāo)機(jī)的存儲器中,從而完成整個應(yīng)用。

      第五篇:溝通管理學(xué)習(xí)筆記

      溝通管理學(xué)習(xí)筆記

      溝通管理計劃應(yīng)包括發(fā)布結(jié)構(gòu)(這個結(jié)構(gòu)顯示了用于發(fā)布不同類別信息的方法,以及信息所分發(fā)給的個人或組織);生成的進(jìn)度,該進(jìn)度說明每類信息將于何時生成;在各排定的溝通間獲取信息的方法。還應(yīng)包括針對隨著需求變更將如何更新并修訂計劃的討論。溝通管理計劃是項目管理計劃的一個組成部分。其內(nèi)容的詳盡程度應(yīng)與項目的規(guī)模和復(fù)雜程度相匹配?!疽?guī)劃】 ____項目管理協(xié)會,《項目管理知識體系指南》,2008年,第257頁

      溝通管理計劃應(yīng)確定負(fù)責(zé)發(fā)布信息的團(tuán)隊成員。其他屬性包括要溝通的信息及其溝通方式,溝通的目的、頻率和時間范圍,以及傳遞信息的方法?!疽?guī)劃】 ____項目管理協(xié)會,《項目管理知識體系指南》,第257頁

      攻擊者具有破壞性,因為攻擊者批評他人并企圖貶低他人的地位。具有破壞性的其他團(tuán)隊角色有阻礙者、退縮者、尋求認(rèn)同者、游離主題者、統(tǒng)治者,有時候還包括吹毛求疵者。若任之發(fā)展,破壞性行為會危及為團(tuán)隊建設(shè)所付出的努力。

      項目經(jīng)理應(yīng)該在溝通計劃中記錄與干系人進(jìn)行有效率和有效果的溝通的方法

      有效果的溝通(Effective communication)是指用正確的格式、在正確的時間提供信息,并且使信息產(chǎn)生正確的影響。

      有效率的溝通(Efficient communication)是指只提供所需要的信息。

      行動導(dǎo)向的人,喜歡行動,不喜歡花太多時間溝通,所以與其溝通要簡短。

      項目環(huán)境中有效率的會議、“作戰(zhàn)室”和緊密的矩陣可以提高溝通效率。

      規(guī)劃溝通:工具與技術(shù)”,“溝通技術(shù)”。可能影響項目溝通技術(shù)的因素包括: ·信息需求的緊迫性?!た捎眉夹g(shù)。·預(yù)期的項目人員配備。·項目的持續(xù)時間。·項目環(huán)境。

      績效測量基準(zhǔn)是一個經(jīng)過批準(zhǔn)的項目工作計劃,用來與項目執(zhí)行情況比較(compared),以測量偏差(deviations),進(jìn)行管理控制(control)。通常,績效測量基準(zhǔn)是項目的范圍(scope)、進(jìn)度(schedule)和成本參數(shù)(cost,parameters)的整合,有時也可包括技術(shù)和質(zhì)量參數(shù)。

      扣留信息、傲慢專橫和噪聲都是溝通障礙,都會帶來溝通中信息的選擇接收,而對內(nèi)容不熟悉則可以通過積極傾聽等方式來使得溝通得以順利進(jìn)行。

      項目溝通只能針對那些有利于項目成功或不溝通會導(dǎo)致項目失敗的信息。

      有效的溝通是成功談判的關(guān)鍵。誤解是最常見的溝通問題。項目經(jīng)理應(yīng)主動傾聽、告知收到他人所述信息,并且要帶有目的地表述?!緢?zhí)行】 ____Fisher等人,1991年,第32~34頁;Verma,1996年,第1_65頁

      通過溝通需求分析,確定項目干系人的信息需求,包括信息的類型和格式以及信息對干系人的價值?!ろ椖抠Y源只能用來溝通有利于成功的信息,或者那些因缺乏溝通會造成失敗的信息?!ぴ谝?guī)劃項目溝通時,需要做的一件重要工作就是,確定(determine)和限制(limit)誰應(yīng)該與誰溝通,以及誰將接受何種信息?!ろ椖拷?jīng)理還應(yīng)該使用潛在溝通渠道或路徑的數(shù)量,來反映項目溝通的復(fù)雜程度。從上面第二點看到,衡量是否應(yīng)該收集和溝通某信息的最好方法是看信息對項目成功與否的關(guān)系如何。該主要項目干系人所要求的信息將占用很多項目時間卻沒有意義。

      項目經(jīng)理往往利用四種基本決策風(fēng)格:命令、商議、一致同意,以及擲硬幣或抽簽。若驗收和質(zhì)量二者都重要,則更傾向于商議的風(fēng)格。商議允許團(tuán)隊成員在一定程度上的參與,但項目經(jīng)理仍保持對最終決策的控制。在采用這種風(fēng)格的情況下,團(tuán)隊成員自由表述其觀點,但項目經(jīng)理做出最終決策。

      溝通方式:

      交互式溝通,就是互動式溝通,如你一言我一語的會談。推式溝通適合于溝通對象不多的情況,如發(fā)送郵件。

      拉式溝通適用于溝通對象很多或者要溝通的信息很多的情況。建立電子網(wǎng)站,屬于拉式溝通

      溝通規(guī)劃通常帶來更新項目文件的需求,其中包括項目進(jìn)度計劃、干系人登記冊,以及干系人管理策略。【規(guī)劃】 ____項目管理協(xié)會,《項目管理知識體系指南》,2008年,第258頁

      下行溝通為項目團(tuán)隊成員和其他員工提供了指導(dǎo)和控制。它包括與工作相關(guān)的信息,例如,所需行動、標(biāo)準(zhǔn)、應(yīng)執(zhí)行的各項活動的時間、要完成的各項活動,以及進(jìn)度測量結(jié)果。

      支持性行為以關(guān)系為導(dǎo)向,它表示領(lǐng)導(dǎo)者在多大程度上參與雙向溝通、傾聽,提供支持與鼓勵,促進(jìn)相互影響,以及使下屬參與決策制定。建立結(jié)構(gòu)意味著一定程度的剛性和不變性,它不是與支持性行為相關(guān)的術(shù)語。

      溝通被視做項目成敗的最有力的單一指標(biāo)之一。有效的溝通包括知曉可能會妨礙或過度使用溝通的所有類型的過濾器。傾聽對于良好的溝通至關(guān)重要。

      下載嵌入式Linux學(xué)習(xí)筆記(四)-內(nèi)存管理單元mmu5篇范文word格式文檔
      下載嵌入式Linux學(xué)習(xí)筆記(四)-內(nèi)存管理單元mmu5篇范文.doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        成本管理學(xué)習(xí)筆記

        成本管理學(xué)習(xí)筆記成本的管理和控制重點關(guān)注偏差的臨界值。某些偏差是可以接受的,而另一些超出特定范圍的偏差是不可接受的。項目經(jīng)理針對偏差所采取的行動在成本管理計劃中予......

        《文件管理》學(xué)習(xí)筆記

        文件管理 一、基本概念 1. 什么是文件?什么是文件夾?2. 文件和文件夾是按_________組織并存入磁盤。 3. 通過_____________實現(xiàn)網(wǎng)絡(luò)資源共享。 4. 下面哪一種不是文件管理的途......

        三治三提學(xué)習(xí)筆記四

        學(xué)習(xí)筆記8 治理“庸懶散” 就要動真格 7月30一、為期半年的治理“庸、懶、散”活動,不到一個月時間就有干部受到處理,這表明:我們市開展“三治三提”活動,不是光喊在嘴上、登在......

        學(xué)習(xí)情境三——單元四

        復(fù)習(xí)上節(jié)內(nèi)容: 1、原始卡片錄入與新卡片錄入有什么區(qū)別? 答:①開始使用時間:前者為錄入月份前已開始使用的固定資產(chǎn);后者為錄入月份開始使用的固定資產(chǎn)。②開始計提折舊的時間:前......

        PMP學(xué)習(xí)筆記溝通管理

        PMP學(xué)習(xí)筆記-溝通管理 2007-8-10 作者:lxp轉(zhuǎn)載自:mypm編輯:眼鏡丟了點擊進(jìn)入論壇 溝通是為了及時與恰當(dāng)?shù)纳伞⑺鸭?、傳播、存儲、檢索和最終處置項目信息所需的過程。它在人員......

        系統(tǒng)集成項目管理工程師學(xué)習(xí)筆記

        1計算機(jī)基本組成:運算器、控制器、存儲器、輸入設(shè)備、輸出設(shè)備 并行性是指計算機(jī)系統(tǒng)具有可以同時進(jìn)行運算或操作的特性,包括同時性與并發(fā)性。 基本思想:時間重疊、資源重疊、......

        管理策略學(xué)習(xí)筆記之五

        管理策略學(xué)習(xí)筆記之五(李強(qiáng):為自己工作) 為金錢工作,工作只能無味,但為自己工作,工作能給你輕松愉快的心情,而且人們也會更加重視你,仰慕你。因為你的付出帶給別人快樂,使別人從中獲......

        房地產(chǎn)計劃管理學(xué)習(xí)筆記(最終版)

        房地產(chǎn)計劃管理 一、通過計劃管理要解決的五個問題 第一,公司的生存與發(fā)展的戰(zhàn)略性規(guī)劃問題。 第二,當(dāng)年度公司層面的經(jīng)營與管理安排問題。 第三,各項目的開發(fā)經(jīng)營工作計劃問題......