在ARMSYS上進行uClinux核心移植的總結(轉)
在ARMSYS上進行uClinux核心移植的總結(轉)[@more@] 1. 簡述
針對“如何在以S3C44B0X為核心的ARMSYS開發板上建立uClinux核心移植”的一個總結,其內容包括對Bootloader的功能分析和uClinux2.4.24發行版核心基礎上針對S3C44B0X開發板進行修改的重點內容的逐一列舉。
2. Bootloader
2.1 Bootloader概述
Boot Loader 就是在作業系統核心執行之前執行的一段程式。透過這段程式,我們可以初始化硬體裝置、建立記憶體空間的對映圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終呼叫作業系統核心準備好正確的環境。因此,正確建立uClinux的移植的前提條件是具備一個與uClinux配套、易於使用的 Bootloader。
ARMSYS開發板提供了這樣一個uClinux專用的Bootloader,該Bootloader程式燒錄在系統的地址0x0處,每次上電即執行,能夠正確完成硬體系統的初始化和uClinux的引導。
理論上,uClinux引導時並非一定需要一個獨立於核心的Bootloader。然而,將Bootloader與核心分開設計能夠使軟體架構更加清晰,也有助於靈活地支援多種引導方式,實現一些有用的輔助功能。
ARMSYS提供的Bootloader的主要任務可以概括如下:
1.硬體初始化;
2.從主機下載新的核心映像和檔案系統映像;
3.燒寫NorFlash和Nandflash;
4.載入uClinux 核心映像並啟動執行;
5.提供序列超級終端上的人機操作介面。
2.2 儲存空間分佈
Bootloader採用預設的儲存空間分佈地址來載入uClinux核心、檔案系統,並按照正確引導uClinux的執行。在ARMSYS的Bootloader中,預設的儲存空間分佈如下表:
針對“如何在以S3C44B0X為核心的ARMSYS開發板上建立uClinux核心移植”的一個總結,其內容包括對Bootloader的功能分析和uClinux2.4.24發行版核心基礎上針對S3C44B0X開發板進行修改的重點內容的逐一列舉。
2. Bootloader
2.1 Bootloader概述
Boot Loader 就是在作業系統核心執行之前執行的一段程式。透過這段程式,我們可以初始化硬體裝置、建立記憶體空間的對映圖,從而將系統的軟硬體環境帶到一個合適的狀態,以便為最終呼叫作業系統核心準備好正確的環境。因此,正確建立uClinux的移植的前提條件是具備一個與uClinux配套、易於使用的 Bootloader。
ARMSYS開發板提供了這樣一個uClinux專用的Bootloader,該Bootloader程式燒錄在系統的地址0x0處,每次上電即執行,能夠正確完成硬體系統的初始化和uClinux的引導。
理論上,uClinux引導時並非一定需要一個獨立於核心的Bootloader。然而,將Bootloader與核心分開設計能夠使軟體架構更加清晰,也有助於靈活地支援多種引導方式,實現一些有用的輔助功能。
ARMSYS提供的Bootloader的主要任務可以概括如下:
1.硬體初始化;
2.從主機下載新的核心映像和檔案系統映像;
3.燒寫NorFlash和Nandflash;
4.載入uClinux 核心映像並啟動執行;
5.提供序列超級終端上的人機操作介面。
2.2 儲存空間分佈
Bootloader採用預設的儲存空間分佈地址來載入uClinux核心、檔案系統,並按照正確引導uClinux的執行。在ARMSYS的Bootloader中,預設的儲存空間分佈如下表:
CODE:
內容 起始地址 儲存介質
Bootloader程式空間 0x00000000 Flash 壓縮核心映像 0x00010000 Flash ROM檔案系統映像 0x000e0000 Flash 核心執行地址 0x0c008000 SDRAM 壓縮核心解壓地址 0x0c100000 SDRAM 檔案系統載入 0x0c700000 SDRAM 來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-960587/,如需轉載,請註明出處,否則將追究法律責任。
下一篇:
linux完整的啟動體系(轉)
請登入後發表評論
登入
全部評論
|
相關文章
- uClinux 在 S3C4510B 嵌入式開發板上的移植和開發詳解LinuxS3
- GPUImage移植總結GPUUI
- 總結:在DB2中進行XML文件拆分JBDB2XML
- Oracle行轉列、列轉行的Sql語句總結OracleSQL
- 以uClinux為核心 DS Linux即將釋出NDS專用瀏覽器(轉)Linux瀏覽器
- 在ListCtrl中進行排序 (轉)排序
- laravel核心概念總結Laravel
- kafka核心原理總結Kafka
- 剖析Linux 2.6核心移植--超執行緒篇(zt)Linux執行緒
- 對 Linux 核心進行壓力測試(轉)Linux
- 省時省力—在Linux系統上進行自動備份(轉)Linux
- 利用Weblogic進行入侵的一些總結Web
- 工作在矛盾糾結中進行著
- 在 Android 上利用 tcpdump 進行抓包AndroidTCP
- 在 Linux 上如何得到一個段錯誤的核心轉儲Linux
- javaSE總結(轉+總結)Java
- 使用RPM包對RedHat進行核心升級(轉)Redhat
- 分析核心對gzip壓縮檔案進行解壓的方法(轉)
- Redis總結(上)Redis
- 上機總結
- TTS的總結 (轉)TTS
- 使用 Eclipse 在 Fedora 上進行 PHP 開發EclipsePHP
- 嵌入式linux應用程式移植方法總結Linux
- QT移植到Linux總結(一)tslib1.0QTLinux
- 在Linux行內直接進行大小寫轉換Linux
- 上週剛面試回來後的面試總結,想進BAT必看面試BAT
- Java 的可移植性 (轉)Java
- iOS多執行緒程式設計總結(上)iOS執行緒程式設計
- 進入windows核心態的通用方法 (轉)Windows
- 在JavaScript中對HTML進行反轉義JavaScriptHTML
- Dubbo是什麼?核心總結
- Kubernetes核心概念總結
- 基於SBC-2410開發板的linux2.4核心移植(轉)Linux
- (轉)網上總結的 NIPS 201 參會感受
- 在一個系統上編譯多個核心版本的驅動模組(轉)編譯
- 在Centos和Docker上安裝STF 遇到的若干問題總結CentOSDocker
- 在RHAS2.1上打9205的補丁簡單總結!
- linux高通核心移植工具十教程Linux