<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM9上linux系統(tǒng)的bootloader設計

          基于ARM9上linux系統(tǒng)的bootloader設計

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

          映射關(guān)系代碼如下:
          void mem_mapping_linear(void)
          { unsigned long descriptor_index, section_base, sdram_base, sdram_size;
          sdram_base=0x30000000;
          sdram_size=0x 4000000;
          for(section_base=sdram_base,descriptor_index=section_base>>
          20;Ssection_basesdram_base+sdram_size; rdescriptor_index+=1;section_base +=0x100000)
          {*(mmu_tlb_base+(descriptor_index))=(section_base>>20)| MMU_OTHER_SECDESC;}
          }

          4.3.裝載內(nèi)核映像和根文件映像

          像ARM這樣的嵌入式CPU通常都是在統(tǒng)一的內(nèi)存地址空間中尋址 Flash 等固態(tài)存儲設備的,因此從Flash上讀取數(shù)據(jù)與從 RAM單元中讀取數(shù)據(jù)用一個簡單的循環(huán)就可以完成從Flash 設備上拷貝映像的工作:

          其中count為根文件映像的大小或內(nèi)核映像的大小。
          While(count){
          *dest++=*src++;//src為fash中的地址,dest為RAM中的地址
          count-=4;}

          4.4.置內(nèi)核的啟動參數(shù)

          內(nèi)核啟動可以從Nand Flash或Nor Flash中啟動運行,需要修改啟動命令如下:
          #ifdef CONFIG_S3C2410_NAND_BOOT
          Char Linux_cmd[]=“noinit root=/dev/bon/2 init =/Linuxrc console=tty0 console=ttys0”;
          #else
          CharLinux_cmd[]=“CharLinux_cmd[]=”noinit root=/dev/bon/3 init =/Linuxrc console=tty0 console=ttys0”;

          其中noinitrd不使用ramdisk。
          root根文件所在MTD分區(qū)。
          Init內(nèi)核運行入口命令文件。
          console 內(nèi)核信息控制臺,ttyS0表示串行口0。
          ttys0表示虛擬終端LCD啟動參數(shù)一般都包括root、init和console。

          5.結(jié)論

          是一項很復雜的工作,需要對硬件資源和所用的操作系統(tǒng)有很深的理解,在實際開發(fā)中可以根據(jù)需要簡化,去除不必要的系統(tǒng)功能,這樣可以大大提高程序執(zhí)行的效率和穩(wěn)定性。

          本文作者創(chuàng)新點:隨硬件不同也盡相同,但本質(zhì)的原理是一樣的,本文給出了一種層次分明設計簡練較之通用的設計方法,使嵌入式工作者可以快速的了解的實現(xiàn)從而寫出符合需要的啟動程序。

          參考文獻
          [1] 萬永波 張根寶 田澤 楊峰,ARM的嵌入式系統(tǒng)Bootloader啟動流程分析, 微計算機信息, 2005年,第21卷11-2期,90頁.
          [2] 嵌入式設計與應用.鄒思軼. 北京:清華大學出版社 2002.
          [3] SUMSUANG ELECTRONICS. S3C2410X User’s Manual[Z].Republic of Korea: Sumsang,2003.
          [4] 馬學文, 朱明日, 程小輝.嵌入式系統(tǒng)中 Bootloader的設計與實現(xiàn).計算機工程,2005年,第31卷7期,96頁.

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

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();