精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

嵌入式uboot的簡介、特性以及裁剪的方法和思路

電子工程師 ? 來源:互聯網 ? 作者:佚名 ? 2018-01-23 09:03 ? 次閱讀

一、uboot簡介

U-Boot,全稱 Universal Boot Loader,是遵循GPL條款的從FADSROM、8xxROM、PPCBOOT逐步發展演化而來的開放源碼項目。

操作系統方面,U-Boot不僅支持嵌入式Linux系統的引導,它還支持NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android嵌入式操作系統。目前支持的目標操作系統是OpenBSD, NetBSD, FreeBSD,4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks, LynxOS, pSOS, QNX, RTEMS, ARTOS, android。

CPU架構方面,U-Boot除了支持PowerPC系列的處理器外,還能支持MIPS、x86、ARM、NIOS、XScale等諸多常用系列的處理器。

U-Boot項目的開發目標是支持盡可能多的嵌入式處理器和嵌入式操作系統。
嵌入式 uboot的簡介、特性以及裁剪的方法和思路

二、uboot的特性

Uboot的特性:

1、開放源碼;

2、支持多種嵌入式操作系統內核,如Linux、NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS, android;

3、支持多個處理器系列,如PowerPC、ARM、x86、MIPS;

4、較高的可靠性和穩定性;

5、高度靈活的功能設置,適合U-Boot調試、操作系統不同引導要求、產品發布等;

6、豐富的設備驅動源碼,如串口、以太網、SDRAM、FLASH、LCD、NVRAM、EEPROM、RTC、鍵盤等;

7、較為豐富的開發調試文檔與強大的網絡技術支持;

三、嵌入式 uboot裁剪

u-boot裁減的主要方法是通過刪除不需要的命令來減小可執行代碼體積。比如說,如果不需要網絡相關的功能,則可以將網絡相關的所有命令全部刪除,可以節約可觀的flash空間。一般u-boot的大小為100k左右,通過刪除命令(如果刪除網絡相關的命令),可以裁減到64k以內,只保留一些經常使用的命令。

另外,如果需要動態修改環境變量,環境變量還需要單獨分配一個flash扇區用于保存。這樣大約就需要64k+64k的flash空間。如果我們不需要動態修改環境變量,可以省去一個扇區的Flash開銷。

以下是本人裁減u-boot的基本步驟:

1,刪除除默認命令以外的命令:

刪除include/configs/naribf533.h中CONFIG_COMMANDS的定義,直接采樣默認的命令。可以將u-boot從108k裁減到79k。2,刪除其他不需要的命令,只保留常用命令:

通過修改include/cmd_confdefs.h中的CFG_CMD_NONSTD常量,進一步裁減u-boot命令。CFG_CMD_NONSTD為“non-standard”命令,除了這個常量定義的命令外,其余都是常用命令。我們可以通過在這個常量中添加不需要的命令來減少默認命令的數量。我們這里只保留以下命令,其余全部裁減掉:

- alias for 'help'autoscr - run script from memorybase- print or set address offsetbdinfo- print Board Info structurebootm- boot application image from memorycmp- memory compareconinfo - print console devices and informationcp- memory copycrc32- checksum calculationecho- echo args to consoleerase- erase FLASH memoryfl- flush a file to FLASH memoryflinfo- print FLASH memory informationgo- start application at address 'addr'help- print online helploadb- load binary file over serial line (kermit mode)loads- load S-Record file over serial lineloop- infinite loop on address rangemd- memory displaymm- memory modify (auto-incrementing)mtest- simple RAM testmw- memory write (fill)nm- memory modify (constant address)oc- over clockingprintenv- print environment variablesprotect - enable or disable FLASH write protectionreset- Perform RESET of the CPUrun- run commands in an environment variablesaveenv - save environment variables to persistent storagesetenv- set environment variablessleep- delay execution for some timeversion - print monitor version

最終可以將uboot裁減到63k。

3,修改控制臺返回信息和環境變量:修改環境變量的存儲扇區地址,并刪除無用的環境變量或相應修改成對應于我們開發板的環境變量。相應修改一些控制臺返回信息。

4,如果不動態修改環境變量,建議刪除saveenv命令,以免誤擦除u-boot程序。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5044

    文章

    18811

    瀏覽量

    298417
  • Uboot
    +關注

    關注

    4

    文章

    124

    瀏覽量

    28053

原文標題:嵌入式 uboot裁剪的方法及思路

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式系統有哪些特性

    系統是個專用系統,結構精簡,在硬件和軟件上都只保留需要的部分,而將不需要的部分裁去(可裁剪)。所以嵌入式系統一般都具有便攜、低功耗、性能單一等特性。然后,MCU、DSP、FPGA這些都屬于嵌入
    發表于 07-13 09:22

    嵌入式系統簡介

    1. 嵌入式系統簡介嵌入式系統一般定義: 以應用為中心、以計算機技術為基礎,軟硬件可裁剪,應用系統對功能、可靠性、成本、體積、功耗和應用環境有特殊要求的專用計算機系統。
    發表于 09-09 06:05

    嵌入式之Linux系統裁剪和定制

    嵌入式之Linux系統裁剪和定制:—(kernel+busyboxy+dropbear+nginx)topNginx在嵌入式系統中的應用
    發表于 11-04 06:00

    嵌入式Linux開發簡介

    目錄1、嵌入式Linux開發簡介1.1嵌入式系統1.2嵌入式操作系統簡介1.2.1嵌入式操作系統
    發表于 12-14 08:24

    ALPHA V2.2 Uboot簡介

    使用的開發板:正點原子ALPHA V2.2Uboot簡介在學習STM32的過程中使用過IAP在線升級就會知道,有引導程序+APP程序,即bootloader程序+APP。在學習嵌入式Linux的時候
    發表于 02-17 07:04

    嵌入式操作系統裁剪技術研究

    本文以提高繪圖機數據傳輸率為目的,通過裁剪普通ⅡnIlx操作系統,最終獲得繪圖機需要的嵌入式UnIl】【操作系統。本文首先介紹了嵌入式操作系統和嵌入式Ijnux,然后詳細
    發表于 10-30 16:28 ?18次下載

    關于嵌入式Linux操作系統開發簡介

    關于嵌入式Linux操作系統開發簡介   嵌入式系統是以應用為中心,以計算機技術為基礎、軟硬件均可裁剪、適應應用系統對功能、可靠性、成本、體積
    發表于 04-17 18:08 ?905次閱讀

    嵌入式系統原理簡介與入門

    嵌入式系統原理簡介與入門
    發表于 10-30 16:02 ?3次下載
    <b class='flag-5'>嵌入式</b>系統原理<b class='flag-5'>簡介</b>與入門

    嵌入式,為啥要有uboot?

    嵌入式的,為啥要有uboot?
    的頭像 發表于 02-05 12:00 ?2853次閱讀

    基于arm的嵌入式linux內核的裁剪移植

    基于arm的嵌入式linux內核的裁剪移植(嵌入式開發與實踐張勇答案)-隨著計算機技術和微電子的迅速發展,嵌入式系統已經被廣泛應用到許多領域,如科學研究,工程計算,軍事技術,
    發表于 07-30 13:01 ?2次下載
    基于arm的<b class='flag-5'>嵌入式</b>linux內核的<b class='flag-5'>裁剪</b>移植

    嵌入式】構建嵌入式Linux系統(uboot、內核、文件系統)

    嵌入式Linux系統知識架構及層次嵌入式Linux系統構成及啟動略析嵌入式Linux三劍客之uboot技術嵌入式Linux三劍客之內核技術
    發表于 10-20 18:20 ?41次下載
    【<b class='flag-5'>嵌入式</b>】構建<b class='flag-5'>嵌入式</b>Linux系統(<b class='flag-5'>uboot</b>、內核、文件系統)

    嵌入式復習

    文章目錄第一章嵌入式系統簡介嵌入式操作系統(Embedded Operating System,EOS)是指用于嵌入式系統的操作系統。嵌入式
    發表于 11-03 10:51 ?11次下載
    <b class='flag-5'>嵌入式</b>復習

    嵌入式linux學習 Day1 uboot基礎

    嵌入式linux學習 Day1 uboot基礎
    發表于 12-05 20:51 ?7次下載
    <b class='flag-5'>嵌入式</b>linux學習 Day1 <b class='flag-5'>uboot</b>基礎

    嵌入式Python簡介

    嵌入式Python簡介
    的頭像 發表于 12-28 09:51 ?2698次閱讀

    記錄一下uboot編譯的問題

    前幾天編譯uboot時遇到一些問題,先記錄一下,linux嵌入式開發還是蠻意思的,要想玩的溜,就必須掌握最基本的uboot、kernel移植、適配、裁剪。
    的頭像 發表于 07-21 16:05 ?720次閱讀
    記錄一下<b class='flag-5'>uboot</b>編譯的問題