久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久


Linux內核移植的簡介

分享(xiang)到:
           

    所謂移(yi)植就(jiu)是(shi)把(ba)程(cheng)序代(dai)碼從一種運行(xing)環(huan)境轉移(yi)到(dao)另一種運行(xing)環(huan)境。對于內核移(yi)植來(lai)說,主要是(shi)從一種硬(ying)件平(ping)臺轉移(yi)到(dao)另一種硬(ying)件平(ping)臺上運行(xing)。

    在一個目標板上Linux內核的移植包括3個層次,分(fen)別為體系結構級別的移植、SoC級別的移植和(he)主板級別的移植。

    體(ti)系結(jie)構(gou)(gou)級別(bie)的(de)移(yi)植是指在不同體(ti)系結(jie)構(gou)(gou)平臺上Linux內核的(de)移(yi)植,例如,在ARM、MIPS、PPC等(deng)不同體(ti)系結(jie)構(gou)(gou)上分別(bie)都(dou)要對每個體(ti)系結(jie)構(gou)(gou)進(jin)行特定的(de)移(yi)植工作。一個新的(de)體(ti)系結(jie)構(gou)(gou)出現就需要進(jin)行這個層次上的(de)移(yi)植。

    SoC級別的(de)移(yi)植是指(zhi)在(zai)具(ju)體的(de)SoC處理器平(ping)臺(tai)上Linux內核(he)的(de)移(yi)植,例如,ARM920T IP核(he)的(de)兩個處理器S3C2410和AT91RM9200等平(ping)臺(tai)都分別要進行SoC特定的(de)移(yi)植工作。

    主(zhu)(zhu)板(ban)級別的(de)移植是(shi)指在具體的(de)目(mu)標主(zhu)(zhu)板(ban)上Linux內核的(de)移植,例如,在FS2410目(mu)標板(ban)上,需要進行主(zhu)(zhu)板(ban)特(te)定的(de)移植工作。

    在這(zhe)里討論主板(ban)級別(bie)的(de)(de)(de)移(yi)植,主要是添加開發(fa)板(ban)初始(shi)化(hua)和驅動程序的(de)(de)(de)代(dai)碼。這(zhe)部(bu)(bu)分代(dai)碼大(da)部(bu)(bu)分是與體系(xi)結構相(xiang)關的(de)(de)(de),在arch目錄下按(an)照(zhao)不(bu)同的(de)(de)(de)體系(xi)結構管理。

    Linux 2.6內(nei)核已經支持(chi)S3C2410處理器的(de)多種硬件板,例如,SMDK2410、Simtec-BAST、IPAQ-H1940、Thorcom-VR1000等。我們可以參考SMDK2410參考板來移植(zhi)開發板的(de)內(nei)核。

    S3C2410屬于片上(shang)系(xi)統,處理(li)器芯(xin)片具(ju)備串口(kou)、LCD等外圍接口(kou)的控(kong)制器。這樣,參考板上(shang)的設備驅動程序多數(shu)可(ke)以直(zhi)接使用(yong)(yong)。但(dan)并不(bu)是(shi)所有的外部設備都相同,不(bu)同的開發板可(ke)以使用(yong)(yong)不(bu)同的SDRAM、Flash、以太(tai)網接口(kou)芯(xin)片等。這就需要根據硬件修改或者(zhe)開發驅動程序。

    例如,串(chuan)(chuan)口驅(qu)動程序是典型(xing)的(de)設備(bei)驅(qu)動程序之一,這個驅(qu)動程序幾乎(hu)不需要任何改動。然(ran)而,如果(guo)用2.4內(nei)(nei)核的(de)配(pei)置(zhi)使用方式,是不能得(de)到串(chuan)(chuan)口控制臺(tai)信息(xi)的(de)。在2.6的(de)內(nei)(nei)核中,串(chuan)(chuan)口設備(bei)在/dev目(mu)錄下對應的(de)設備(bei)節點(dian)為/dev/ttySAC0、/dev/ttySAC1等。所以,再使用過去的(de)串(chuan)(chuan)口設備(bei)ttyS0,就(jiu)得(de)不到控制臺(tai)打印信息(xi)了。現在可以很簡單地解決這個問題,把內(nei)(nei)核命(ming)令行參(can)數(shu)的(de)控制臺(tai)設置(zhi)修改為console = ttySAC0,115200。

    在內核已經(jing)支持S3C2410處理器(qi)以(yi)后,基本(ben)上無須(xu)改(gai)動代碼就可以(yi)讓(rang)內核運行起來(lai)。但是,在有些情況(kuang)下,我們(men)必須(xu)針對不同的設備進行驅動級的移植(zhi),至少(shao)硬件(jian)地址(zhi)和(he)中斷號(hao)可能(neng)會不同。例(li)如,有時需要(yao)移植(zhi)網絡芯(xin)片(pian)和(he)Nand Flash芯(xin)片(pian)等外設的驅動程(cheng)序。

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》。更多linux內核移植學習可以參考華清遠見《嵌入式Linux系統開發班》課程大綱。

   熱(re)點鏈接:

   1、Linux內核配置與編譯
   2、Linux內核結構介紹
   3、Linux內核主要功能介紹
   4、Linux內核模塊程序結構
   5、如何分析Linux內核源碼

更多新聞>>