999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式Linux在ARM9(TQ)上的移植

2014-05-04 00:24:54張先杰
山東工業技術 2014年11期

張先杰

(山東科技大學電氣與自動化工程學院,山東 青島 266510)

嵌入式Linux在ARM9(TQ)上的移植

張先杰

(山東科技大學電氣與自動化工程學院,山東青島266510)

【摘要】微處理器技術的發展使得小型、實時、性能良好的嵌入式操作系統得到廣泛的應用。分析了Linux操作系統的結構,描述了將Linux內核移植到ARM9開發板TQ2440上的方法和完整過程。介紹目標平臺以及移植環境的構建,重點介紹Bootloader的架構和功能以及Linux內核的移植,移植后運行結果良好可行。

【關鍵詞】TQ2440;ARM9;系統移植;Boot loader;Linux內核

0 引言

本文中使用的TQ2440開發板CPU是三星公司生產的S3C2440,內核為ARM 920T,采用0.13um CMOS標準單元和存儲器編譯器開發。以此作為硬件平臺來實現Linux系統的完整移植。而嵌入式系統其本身具有結構較小、穩定性好等優點,因為Linux本身具有良好的可移植性,通過構建相應的開發環境,能夠進行獨立的產品開發,使得它被廣泛應用于多種硬件平臺。

1 Linux系統分析

1.1Linux系統的基本體系結構

Linux系統主要由內核、shell、文件系統和應用程序4個部分組成。用戶通過它們來運行程序、管理文件和使用系統。

1.2Linux內核

內核是操作系統的核心,負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。

Linux內核由如下幾部分組成:內存管理、進程管理、硬件驅動程序、文件系統和網絡管理等。

圖1 Linux內核結構圖

圖2 交叉編譯環境圖

2 Linux操作系統移植

2.1交叉編譯環境的搭建

硬件環境構建采用的是主機與目標板結合的交叉開發模式,TQ2440開發板配有S3C2440處理器,64MB的SDRAM內存,256MB的Nand lash,2MB的NOR LASH,串口,網絡接口,USB接口等強大的硬件系統。

軟件環境的搭建是由GNU 庫(glibc),GNU inutils以及GNU編譯器gee等一系列交叉開發工具組成,如下圖2所示。

2.2引導加載程序Boot oader

Bootloader是這么是一段系統上電時候開始執行,并初始化硬件設備,預備軟件環境,然后調用操作系統的程序。TQ2440開發板中ARM上電CPU是從0x0000000開始執行,Bootloader存放在此處。根據開發板的需要,我們適當的修改CPU的頻率、支持NOR LASH的支持和SDRAM的配置及大小、環境變量的位置等相關數據。

3 移植Linux內核

3.1Linux移植準備

載內核源文件linux-2.6.22.tar.bz2、補丁文件patch-2.6.22.6.bz2,將兩個文件放在同一個目錄下面解壓如下:

$tar jf inux-2.6.22.tar.bz2

結論:C、D泊位靠泊5000DWT油船時,A、B泊位可靠泊2000DWT及以下噸級雜貨船,5000DWT及3000DWT雜貨船不能在A、B泊位進行靠泊作業。

$tar jf atch-2.6.22.6.bz2.22.6

$cd inux-2.6.22

$patch p1< ./patch-2.6.22.6

由此我們得到了內核源碼。

Makef e由配置文件.confg確定部分文件與內核、模塊和子目錄的關系。在內核目錄下執行“make enuconfg RCH=arm ROSS_ OMPILE=arm-linux-”得到內核配置界面,通過配置界,我們可以選擇我們所需要的芯片類型,文件類型等。

3.2Linux內核移植

修改內核以支持TQ2440開發板,首先修改頂層(即是根目錄下)的Makefle文件,修改為ARCH=arm,cross_COMPILE=arm-linux-;修改時鐘:amdk2440_map_io()中的s3c24xx_init_(12000000);修改機器碼為168;通過內核的配置單按用戶需求配置好內核并保存為.confg,即可編譯。

使用命令:vim arch/arm/plat-s3c24xx/common-smdk.c修改文件內容,將NAND FLASH分為uboot,ysffs2和kernel這3個分區,并修改相關偏移量。

YAFFS是專門為NAND FLASH存儲器設計的嵌入式文件系統,遵循GPL協議。添加YAFFS2文件系統的支持,就是在內核上打支持YAFFS2的補丁,之后對內核添加YAFFS的相關配置。

內核配置完畢后保存退出,最后編譯內核,輸入命令#make zImage,成功編譯后,生成zlmage內核映像文件,該文件在arch/arm/boot目錄下產生,完成內核的配置編譯,只需要將編譯好的內核映像文件zllnage下載到開發板的Flash中就可以了,使用以下命令:

set bootcmd 'nboot 0x32000000 0 0; bootm 0x32000000'

saveenv

開發板上電后內核自動啟動,到此我們就完成了Linux在TQ2440開發板上的移植工作。

4 結束語

本文通過TQ2440開發板,研究了將Linux移植到ARM9統上的整個移植流程。ARM平臺下嵌入式Linux的移植,包括熟悉硬件平臺,構建嵌入式Linux系統的軟件平臺,建立交叉編譯環境,Bootioader的移植,Linux內核的配置與編譯等許多相關內容,對于學習ARM的人員來書具有很好的指導和實踐意義。

【參考文獻】

[1]李延鵬.嵌入式開發工程師入行手冊[M].北京:中國鐵道出版社,2013-8.

[2]韋東山.嵌入式Linux應用開發完全手冊[M].北京:人民郵電出版社,2012-1.

[3]曾福振,閔聯營.基于ARM和Linux的嵌入式平臺的構建[J].微型機與應用,2011,30(12).

主站蜘蛛池模板: 无遮挡一级毛片呦女视频| 欧美中文字幕一区二区三区| 欧美日本在线| 日本一本正道综合久久dvd| 久久综合色播五月男人的天堂| 在线观看热码亚洲av每日更新| 中文字幕亚洲电影| 色婷婷综合激情视频免费看| 国产v精品成人免费视频71pao| 亚洲一区二区三区国产精品| 国产最爽的乱婬视频国语对白| 亚洲成人一区二区| 91黄视频在线观看| 91福利国产成人精品导航| 91成人在线观看| 亚洲第一色网站| 亚洲日韩图片专区第1页| 成年A级毛片| 伊人久久大香线蕉aⅴ色| 国产精品欧美激情| 亚洲一区精品视频在线| 久久精品人人做人人综合试看 | 色哟哟精品无码网站在线播放视频| 久久精品91麻豆| 99青青青精品视频在线| 久久综合AV免费观看| 亚洲AⅤ永久无码精品毛片| 色精品视频| 欧美亚洲一区二区三区导航| 亚洲五月激情网| 亚洲,国产,日韩,综合一区| 欧美va亚洲va香蕉在线| 2020精品极品国产色在线观看| 国产真实二区一区在线亚洲| 亚洲91在线精品| 亚洲不卡网| 日韩中文精品亚洲第三区| 欧美精品1区2区| 无码丝袜人妻| 日本在线视频免费| 亚洲高清在线播放| 全午夜免费一级毛片| 国产毛片不卡| 久久96热在精品国产高清| 久久99国产综合精品女同| 在线国产91| 91久久性奴调教国产免费| 精品无码专区亚洲| 一级爱做片免费观看久久| 国产91色| 日韩天堂视频| 成年A级毛片| 性网站在线观看| 亚洲精品中文字幕无乱码| 中文字幕首页系列人妻| 亚洲一级毛片免费观看| 9丨情侣偷在线精品国产| 免费人成视网站在线不卡| 国产玖玖玖精品视频| 久久一本精品久久久ー99| 久久综合伊人 六十路| 免费又黄又爽又猛大片午夜| 91久久夜色精品国产网站 | YW尤物AV无码国产在线观看| 麻豆a级片| 欧美日在线观看| 久久久久免费看成人影片| 国产又爽又黄无遮挡免费观看 | 国产日本欧美亚洲精品视| 国产午夜看片| 日韩中文无码av超清| 找国产毛片看| 九九九精品视频| 精品视频福利| 国产aⅴ无码专区亚洲av综合网| 韩日无码在线不卡| 毛片a级毛片免费观看免下载| 国产黄在线观看| 波多野结衣无码中文字幕在线观看一区二区 | 强乱中文字幕在线播放不卡| 国产成人无码AV在线播放动漫| 日韩在线永久免费播放|