女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

詳解U-Boot引導內核分析

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:李倩 ? 2018-04-13 15:22 ? 次閱讀

U-Boot的命令為用戶提供了交互功能,并且已經實現了幾十個常用的命令。如果開發板需要很特殊的操作,可以添加新的U-Boot命令。U-Boot的每一個命令都是通過U_Boot_CMD宏定義的。這個宏在頭文件中定義

#defineU_BOOT_CMD(name,maxargs,rep,cmd,usage,help)\

cmd_tbl_t__u_boot_cmd_##nameStruct_Section={#name,maxargs,rep,cmd,usage}

其中:

·name:命令的名字,他不是一個字符串,不能用雙引號括起來

·maxargs:最大的參數個數

·command:對應的函數指針

·usage:一個字符串,簡短的使用說明

·help:一個字符串,比較詳細的使用說明

對于bootm命令,其定義如下:

[plain]view plaincopy

1.U_BOOT_CMD(//bootm命令

2.bootm,CFG_MAXARGS,1,do_bootm,

3."bootm-bootapplicationimagefrommemory\n",

4."[addr[arg...]]\n-bootapplicationimagestoredinmemory\n"

5."\tpassingarguments'arg...';whenbootingaLinuxkernel,\n"

6."\t'arg'canbetheaddressofaninitrdimage\n"

7.#ifdefCONFIG_OF_FLAT_TREE

8."\tWhenbootingaLinuxkernelwhichrequiresaflatdevice-tree\n"

9."\tathirdargumentisrequiredwhichistheaddressoftheofthe\n"

10."\tdevice-treeblob.Tobootthatkernelwithoutaninitrdimage,\n"

11."\tusea'-'forthesecondargument.Ifyoudonotpassathird\n"

12."\tabd_infostructwillbepassedinstead\n"

13.#endif

14.);

bootm命令是用來引導經過U-Boot的工具mkimage打包后的kernelimage的。U-Boot源代碼的tools/目錄下有mkimage工具,這個工具可以用來制作不壓縮或者壓縮的多種可啟動映象文件。 mkimage在制作映象文件的時候,是在原來的可執行映象文件的前面加上一個0x40字節的頭,記錄參數所指定的信息,這樣uboot才能識別這個映象是針對哪個CPU體系結構的,哪個OS的,哪種類型,加載內存中的哪個位置,入口點在內存的那個位置以及映象名是什么。

U-Boot正是通過bootm命令引導Linux內核的。bootm命令調用do_bootm函數,下面我們來分析一下:

do_bootm函數流程分析

do_bootm_linux函數

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

    關注

    87

    文章

    11457

    瀏覽量

    212770
  • Uboot
    +關注

    關注

    4

    文章

    126

    瀏覽量

    28879

原文標題:非常詳細!圖文帶你詳解U-Boot引導內核分析

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    U-Boot介紹

    在移植 Linux之前我們需要先移植一個 bootloader 代碼,這個 bootloader 代碼用于啟動 Linux 內核, bootloader有很多,常用的就是 U-Boot
    的頭像 發表于 10-08 10:50 ?4660次閱讀

    U-boot的基本介紹

    從本文開始,將陸續推送“手把手教你移植U-boot”系列文章,目標是由淺入深地講解U-boot的工作流程、原理、配置方法和移植方法,手把手教你完成U-boot的移植工作,默認硬件開發平臺為ARM,操作系統為Linux。
    發表于 07-14 16:52 ?3513次閱讀
    <b class='flag-5'>U-boot</b>的基本介紹

    U-Boot是如何引導系統的

    內核的參數。run是運行環境變量中的命令,bootcmd中包含run命令。所以分析引導過程要從bootcmd開始。在U-Boot的命令行中輸入printenv可顯示所有的環境變量,我已
    發表于 10-22 17:43

    u-boot詳解

    工作不斷展開和深入,以支持更多的嵌入式操作系統的裝載與引導。 選擇U-Boot的理由: ① 開放源碼; ② 支持多種嵌入式操作系統內核,如Linux、NetBSD, VxWorks, QNX
    發表于 07-04 04:56

    u-boot引導啟動Linux 2.6的內核

    我想用u-boot引導啟動Linux 2.6的內核。打算用jffs2作為根文件系統,但在配置u-boot時聽說需要定義#define CONFIG_JFFS2_DEV "nor0&qu
    發表于 05-27 00:38

    U-boot引導內核詳細流程

    U-boot引導內核流程分析
    發表于 03-30 12:34

    U-Boot的啟動及移植分析

    bootloader 開發是嵌入式系統必不可少而且十分重要的部分,U-Boot 為功能強大的bootloader 開發軟件。本文詳細分析U-Boot 的啟動流程,并結合其源碼,闡述了U-Bo
    發表于 09-01 16:34 ?27次下載

    Porting U-Boot to the Control

    In this paper, the way of porting U-Boot to Control Computer Based MPC8349 will beintroduced
    發表于 01-25 15:45 ?13次下載

    u-boot的Makefile分析

    u-boot的Makefile分析 U-BOOT是一個LINUX下的工程,在編譯之前必須已經安裝對應體系結構的交叉編譯環境,這里只針對ARM,編譯器系列軟件為arm-linux-*。 U-
    發表于 05-17 09:16 ?2132次閱讀

    U-Boot結構功能介紹

      U-Boot,全稱 Universal Boot Loader,是遵循GPL條款的開放源碼項目。從FADSROM、8xxROM、PPCBOOT逐步發展演化而來。其源碼目錄、編譯形式與Linux內核很相似,事實上,不少
    發表于 07-30 09:17 ?1251次閱讀
    <b class='flag-5'>U-Boot</b>結構功能介紹

    U-Boot源代碼分析之Linux的引導

    映象文件必須滿足U-Boot的格式要求,才能被識別和引導。U-Boot中映象文件必須以一個固定格式的頭部開始。這個頭部由structimage_header_t描述,image_header_t的定義在文件include/ima
    發表于 04-03 22:39 ?51次下載

    u-boot簡介

    U-Boot,全稱 Universal Boot Loader,是遵循GPL條款的開放源碼項目。U-Boot的作用是系統引導。U-Boot
    發表于 10-14 11:17 ?3695次閱讀

    S3C6410的u-boot分析與移植

    S3C6410的u-boot分析與移植
    發表于 10-31 14:44 ?28次下載
    S3C6410的<b class='flag-5'>u-boot</b><b class='flag-5'>分析</b>與移植

    U-Boot架構淺析

    導讀:嵌入式Linux系統搭建,bootloader是必不可少的一環,而U-Boot已成嵌入式Linux事實標準。所以較為深入的分析U-Boot的設計,對于更...
    發表于 02-07 11:56 ?7次下載
    <b class='flag-5'>U-Boot</b>架構淺析

    tiny4412編譯與移植U-Boot

    U-Boot 是一個主要用于嵌入式系統的引導加載程序, U-Boot本質是一個裸機程序,是一種普遍用于嵌入式系統中的開源的Bootloader,作用是用來引導操作系統,以及給開發人員
    的頭像 發表于 08-31 08:59 ?2249次閱讀
    tiny4412編譯與移植<b class='flag-5'>U-Boot</b>