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).

主站蜘蛛池模板: 精品精品国产高清A毛片| 日韩av在线直播| 精品人妻无码区在线视频| 国产午夜在线观看视频| 国产婬乱a一级毛片多女| 一级香蕉人体视频| 亚洲精品无码抽插日韩| 免费看黄片一区二区三区| 曰AV在线无码| 亚洲国产精品日韩av专区| 免费精品一区二区h| 亚洲有码在线播放| 久久精品人人做人人爽| 操操操综合网| 亚洲第一黄片大全| 日韩大乳视频中文字幕| 欧美日韩精品综合在线一区| 不卡的在线视频免费观看| 亚洲欧美综合另类图片小说区| 欧美日韩国产高清一区二区三区| 国产在线一区二区视频| 国产真实乱了在线播放| 亚洲swag精品自拍一区| 久久天天躁狠狠躁夜夜2020一| 亚洲国产无码有码| 丰满人妻中出白浆| 91视频免费观看网站| 日韩视频福利| 日韩久久精品无码aV| 五月激情婷婷综合| 亚洲国产中文在线二区三区免| 午夜久久影院| 日本人妻丰满熟妇区| 国产精品免费电影| 久久中文字幕不卡一二区| 欧美a级在线| 三级视频中文字幕| 鲁鲁鲁爽爽爽在线视频观看| 久久人妻xunleige无码| 国产成人毛片| 亚洲天堂在线免费| 国产女人在线| 国产成人精品第一区二区| 欧洲高清无码在线| 久久久久久久蜜桃| 久久动漫精品| h视频在线观看网站| 亚洲最猛黑人xxxx黑人猛交| 成年A级毛片| 97人人做人人爽香蕉精品| 成人国产精品视频频| 一本一道波多野结衣一区二区| 国产精品女人呻吟在线观看| 福利国产微拍广场一区视频在线 | 全部免费特黄特色大片视频| 视频二区中文无码| 欧美日韩成人在线观看| 免费人成视网站在线不卡| 国产在线欧美| 国产在线一区二区视频| 亚洲an第二区国产精品| 中国一级毛片免费观看| 精品无码一区二区三区在线视频| 尤物成AV人片在线观看| 国内精自视频品线一二区| 国产成人综合在线观看| 国产大片喷水在线在线视频| 91在线播放国产| 亚洲视屏在线观看| 亚洲成肉网| 亚洲婷婷丁香| 国产精品久线在线观看| 亚洲精品自在线拍| 尤物特级无码毛片免费| 国产又粗又猛又爽| 天天综合天天综合| 日本免费一区视频| 国产欧美另类| 国产高清自拍视频| 国产大片黄在线观看| 国产自在线播放| 极品国产一区二区三区|