新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 利用SD卡實現(xiàn)嵌入式Linux系統(tǒng)的自動升級

        利用SD卡實現(xiàn)嵌入式Linux系統(tǒng)的自動升級

        作者: 時間:2012-12-06 來源:網(wǎng)絡 收藏

        2 關鍵技術
        2.1 工作原理
        是一個由德國DENX發(fā)起的,遵循GPL條款的開源項目,支持ARM、X86、MIPS、PowerPC等處理器,可啟動、VxWorks、TREMS等嵌入式操作系統(tǒng),其提供了豐富的配置、管理以及運行命令。
        與大多數(shù)Bootloader一樣都包含兩種操作模式:
        ①啟動加載(Bootloading)模式:即Uboot從目標機上的某個固態(tài)存儲設備上將操作系統(tǒng)加載到RAM中運行,整個過程都是自動完成的。
        ②下載(Downloading)模式:在這種模式下,目標機的Uboot將通過串口或網(wǎng)絡等通信方式將內核或文件系統(tǒng)印象下載到RAM當中,然后再寫入相應的存儲設備中。這種工作模式通常在系統(tǒng)初次安裝和更新時使用。
        Uboot的實現(xiàn)依賴于CPU的體系結構,它分為stage1和stage2兩大部分。stage1存放用匯編語言實現(xiàn)的依賴于CPU體系結構的代碼,比如設備初始化代碼等;stage2則通常用具有更好的可讀性和可移植性的C語言來實現(xiàn)。
        Uboot Stage1的主要功能有:
        ①硬件設備初始化;
        ②為Uboot重定位至RAM中,準備RAM空間;
        ③重定位Uboot代碼到RAM中;
        ④設置堆棧,將BSS段清零;
        ⑤跳轉到第二階段的C程序入口點。
        Uboot Stage2的主要功能有:
        ①初始化硬件設備;
        ②將內核和文件系統(tǒng)映像從Flash讀到RAM中;
        ③設定內核啟動參數(shù)和調用內核。
        通過上面這兩個階段,Uboot就完成了引導內核啟動的任務。
        2.2 Uboot擴展升級功能
        Uboot本身并不帶有系統(tǒng)升級功能,本文在Uboot現(xiàn)有的功能上做擴展,使其完成系統(tǒng)升級的功能,將新的內核或者文件系統(tǒng)映像燒寫到Flash的相應分區(qū)中。本文的實驗對象是Samsung公司的S3C2440微處理器,該設備上有64 MB的SDARM和256 MB的NAND Flash,NAND Flash的起始地址映射到0x00000000,SDRAM的起始地址映射到0x30000000。設備上的Uboot將256 MBNAND Flash分為Bootloader、Bootloader參數(shù)、ker nel和rootfs四個區(qū)。其中,Bootloader分區(qū)是用于存放Uboot映像,它的起始地址為NAND Flash的起始地址0x00000000;Bootloader參數(shù)區(qū)是用于存放Uboot的參數(shù);kernel區(qū)用于存放內核;rootfs區(qū)用于存放文件系統(tǒng),在我們的設備上使用的文件系統(tǒng)是Yaffs2。這4個分區(qū)的起始地址和大小如表1所列。

        本文引用地址:http://www.104case.com/article/148225.htm

        b.JPG

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        linux相關文章:linux教程




        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 大埔县| 监利县| 孟村| 涞水县| 南昌县| 凤冈县| 交城县| 宣威市| 顺义区| 郸城县| 黄冈市| 囊谦县| 通辽市| 烟台市| 蓬溪县| 永善县| 临夏市| 西林县| 柘城县| 曲周县| 玛多县| 朝阳市| 碌曲县| 茶陵县| 海伦市| 南澳县| 遂昌县| 岑巩县| 定陶县| 赞皇县| 昆明市| 沁源县| 渭南市| 永修县| 固始县| 罗定市| 大姚县| 称多县| 普兰县| 陕西省| 东光县|