1. 程式人生 > 其它 >u-boot README翻譯

u-boot README翻譯

技術標籤:U-bootu-boot嵌入式linux

u-boot 根目錄README檔案 翻譯

# SPDX-License-Identifier: GPL-2.0+
#
# (C)
Copyright 2000 - 2013 # Wolfgang Denk, DENX Software Engineering, [email protected].de.

Summary

This directory contains the source code for U-Boot, a boot loader for
Embedded boards based on PowerPC, ARM, MIPS and several other
processors, which can be installed in a boot ROM and used to
initialize and test the hardware or to download and run application
code.
  • 這個目錄包含了U-Boot的原始碼,一個為基於PowerPC,ARM,MIPS和幾種其他處理器的嵌入式開發板的Boot載入程式,這個程式可以被安裝在Boot ROM中,用來初始化或測試硬體或者用來下載和執行應用程式。
The development of U-Boot is closely related to Linux: some parts of
the source code originate in the Linux source tree, we have some
header files in common, and special provision has been made to
support booting of Linux images.
  • U-Boot的發展是跟Linux息息相關的:原始碼的一些內容來源於Linux原始碼樹,我們有一些通用的標頭檔案,已經為支援引導Linux映象做了一些準備。
Some attention has been paid to make this software easily
configurable and extendable. For instance, all monitor commands are
implemented with the same call interface, so that it's very easy to
add new commands. Also, instead of permanently adding rarely used
code (for instance hardware test utilities) to the monitor, you can
load and run it dynamically.
  • 我們已經花費了好多精力,使這個程式更容易被配置和擴充套件。例如,所有的monitor 命令可以使用相同的介面來執行,因此新增新的命令是很容易的事。同時,這個程式沒有一直都包含很少使用的一些程式碼,你可以動態地載入和執行那些很少使用的程式碼;

Status

In general, all boards for which a configuration option exists in the
Makefile have been tested to some extent and can be considered
"working". In fact, many of them are used in production systems.
  • 總的說來,那些在Makefile中存在的配置項在某種程度上已經被測試過,可以認為它們都是有效的。事實上,這些配置好多都在生產系統上使用。
In case of problems see the CHANGELOG file to find out who contributed
the specific port. In addition, there are various MAINTAINERS files
scattered throughout the U-Boot source identifying the people or
companies responsible for various boards and subsystems.
  • 如果有什麼問題,可以檢視CHANGELOG檔案,可以找出誰為某個特定的介面做出過貢獻。此外,。。。。。省略了,哈哈哈哈。

Where to get help

從哪裡獲得幫助

Where to get source code

從哪裡獲得原始碼

Where we come from

我們來自哪裡

Names and Spelling

名字和拼寫

Versioning

版本說明

Directory Hierarchy

目錄等級

Software Configuration

Configuration is usually done using C preprocessor defines; the
rationale behind that is to avoid dead code whenever possible.
  • 配置通常通過C前處理器定義來完成;使用這種方法的根本原因就是為了儘可能的減少dead程式碼;
There are two classes of configuration variables:

* Configuration _OPTIONS_:
  These are selectable by the user and have names beginning with
  "CONFIG_".

* Configuration _SETTINGS_:
  These depend on the hardware etc. and should not be meddled with if
  you don't know what you're doing; they have names beginning with
  "CONFIG_SYS_".
  • 有兩類配置變數:

    *配置 OPTIONS
    這些是由使用者自行選擇的,有好多名稱都是由"CONFIG_"打頭;

    *配置 SETTINGS
    這些取決於硬體。如果你不知道你在做什麼的話,最好別亂動這些配置;他們的名稱由"CONFIG_SYS_"打頭;

Previously, all configuration was done by hand, which involved creating
symbolic links and editing configuration files manually. More recently,
U-Boot has added the Kbuild infrastructure used by the Linux kernel,
allowing you to use the "make menuconfig" command to configure your
build.
  • 以前,所有的配置都是手動完成的,需要手動去建立符號連結,編輯配置檔案。最近以來,U-boot已經把Linux核心中使用的Kbuild 結構加入進來,允許你使用“make menuconfig”命令來配置你的build;

Selection of Processor Architecture and Board Type

For all supported boards there are ready-to-use default
configurations available; just type "make <board_name>_defconfig".

Example: For a TQM823L module type:

	cd u-boot
	make TQM823L_defconfig

Note: If you're looking for the default configuration file for a board
you're sure used to be there but is now missing, check the file
doc/README.scrapyard for a list of no longer supported boards.
  • 對於所有已經支援的板子,U-boot已經有可以使用的預設配置;只需要鍵入"make <board_name>_defconfig"就可以進行配置;

例如:對於使用TQM823L模組:
cd u-boot
make TQM823L_defconfig

注意:如果你正在尋找一款板子的預設配置檔案,並且你確定過去是存在的,但現在消失了,你需要閱讀doc/README檔案,那裡有當前U-boot不再支援板子的清單;

Sandbox Environment

U-Boot can be built natively to run on a Linux host using the 'sandbox'
board. This allows feature development which is not board- or architecture-
specific to be undertaken on a native platform. The sandbox is also used to
run some of U-Boot's tests.

See doc/arch/index.rst for more details.
  • U-boot能夠被建立並在使用了sandbox的Linux主機上執行。這允許可以不滿足U-boot執行的板子或架構,而使用sandbox執行U-boot。Sandbox也被用來做一些U-boot的測試。

  • 檢視doc/arch/index.rst來獲得更多細節。

Board Initialisation Flow

This is the intended start-up flow for boards. This should apply for both
SPL and U-Boot proper (i.e. they both follow the same rules).
  • 這是一個為板子設計好的啟動流程。這個流程應當在SPL和U-boot中被正確的使用;
Note: "SPL" stands for "Secondary Program Loader," which is explained in
more detail later in this file.
  • 注意:“SPL”表示“Secondary Program Loader”,這個將在本文中稍後進行詳細解釋;
At present, SPL mostly uses a separate code path, but the function names
and roles of each function are the same. Some boards or architectures
may not conform to this.  At least most ARM boards which use
CONFIG_SPL_FRAMEWORK conform to this.
  • 目前,SPL大多使用一個分離的程式碼路徑,但是函式名稱和每個函式的作用都是一樣的。有些板子或架構也許不遵守這個規則。但是,至少在大多數使用CONFIG_SPL_FRAMEWORK的ARM開發板上,是遵從這個規則的。
Execution typically starts with an architecture-specific (and possibly
CPU-specific) start.S file, such as:

   - arch/arm/cpu/armv7/start.S
   - arch/powerpc/cpu/mpc83xx/start.S
   - arch/mips/cpu/start.S
  • 程式執行通常從某個架構(某個處理器)的start.S檔案開始,例如:
    • arch/arm/cpu/armv7/start.S
    • arch/powerpc/cpu/mpc83xx/start.S
    • arch/mips/cpu/start.S
and so on. From there, three functions are called; the purpose and
limitations of each of these functions are described below.

等等。從這裡,三個函式被呼叫。這些函式中每個的目的和限制將在下面進行說明。

lowlevel_init():
   - purpose: essential init to permit execution to reach board_init_f()
   - no global_data or BSS
   - there is no stack (ARMv7 may have one but it will soon be removed)
   - must not set up SDRAM or use console
   - must only do the bare minimum to allow execution to continue to
   	board_init_f()
   - this is almost never needed
   - return normally from this function
  • lowlevel_init():
    • 目的:必要的初始化來允許執行到board_init_f()
    • 沒有全域性資料或者BSS
    • 沒有堆疊
    • 禁止設定堆疊或者使用後臺
    • 只做一些最小的來執行到board_init_f()
    • 這個總是不是必須的
    • 從這個函式正常返回

Configuration Options

Board initialization settings

Configuration Settings

Low Level (hardware related) configuration options

Freescale QE/FMAN Firmware Support

Freescale Layerscape Management Complex Firmware Support

Freescale Layerscape Debug Server Support

Reproducible builds

Building the Software

Testing of U-Boot Modifications, Ports to New Hardware, etc.

Monitor Commands - Overview

Monitor Commands - Detailed Description

Environment Variables

我們對Markdown編輯器進行了一些功能拓展與語法支援,除了標準的Markdown編輯器功能,我們增加了如下幾點新功能,幫助你用它寫部落格:

  1. 全新的介面設計 ,將會帶來全新的寫作體驗;
  2. 在創作中心設定你喜愛的程式碼高亮樣式,Markdown 將程式碼片顯示選擇的高亮樣式 進行展示;
  3. 增加了 圖片拖拽 功能,你可以將本地的圖片直接拖拽到編輯區域直接展示;
  4. 全新的 KaTeX數學公式 語法;
  5. 增加了支援甘特圖的mermaid語法1 功能;
  6. 增加了 多螢幕編輯 Markdown文章功能;
  7. 增加了 焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設定 等功能,功能按鈕位於編輯區域與預覽區域中間;
  8. 增加了 檢查列表 功能。

功能快捷鍵

撤銷:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜體:Ctrl/Command + I
標題:Ctrl/Command + Shift + H
無序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
檢查列表:Ctrl/Command + Shift + C
插入程式碼:Ctrl/Command + Shift + K
插入連結:Ctrl/Command + Shift + L
插入圖片:Ctrl/Command + Shift + G
查詢:Ctrl/Command + F
替換:Ctrl/Command + G

合理的建立標題,有助於目錄的生成

直接輸入1次#,並按下space後,將生成1級標題。
輸入2次#,並按下space後,將生成2級標題。
以此類推,我們支援6級標題。有助於使用TOC語法後生成一個完美的目錄。

如何改變文字的樣式

強調文字 強調文字

加粗文字 加粗文字

標記文字

刪除文字

引用文字

H2O is是液體。

210 運算結果是 1024.

插入連結與圖片

連結: link.

圖片: Alt

帶尺寸的圖片: Alt

居中的圖片: Alt

居中並且帶尺寸的圖片: Alt

當然,我們為了讓使用者更加便捷,我們增加了圖片拖拽功能。

如何插入一段漂亮的程式碼片

部落格設定頁面,選擇一款你喜歡的程式碼片高亮樣式,下面展示同樣高亮的 程式碼片.

// An highlighted block
var foo = 'bar';

生成一個適合你的列表

  • 專案
    • 專案
      • 專案
  1. 專案1
  2. 專案2
  3. 專案3
  • 計劃任務
  • 完成任務

建立一個表格

一個簡單的表格是這麼建立的:

專案Value
電腦$1600
手機$12
導管$1

設定內容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文字居中第二列文字居右第三列文字居左

SmartyPants

SmartyPants將ASCII標點字元轉換為“智慧”印刷標點HTML實體。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

建立一個自定義列表

Markdown
Text-to- HTML conversion tool
Authors
John
Luke

如何建立一個註腳

一個具有註腳的文字。2

註釋也是必不可少的

Markdown將文字轉換為 HTML

KaTeX數學公式

您可以使用渲染LaTeX數學表示式 KaTeX:

Gamma公式展示 Γ ( n ) = ( n − 1 ) ! ∀ n ∈ N \Gamma(n) = (n-1)!\quad\forall n\in\mathbb N Γ(n)=(n1)!nN 是通過尤拉積分

Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t   . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多關於的資訊 LaTeX 數學表示式here.

新的甘特圖功能,豐富你的文章

Mon 06 Mon 13 Mon 20 已完成 進行中 計劃一 計劃二 現有任務 Adding GANTT diagram functionality to mermaid
  • 關於 甘特圖 語法,參考 這兒,

UML 圖表

可以使用UML圖表進行渲染。 Mermaid. 例如下面產生的一個序列圖:

張三 李四 王五 你好!李四, 最近怎麼樣? 你最近怎麼樣,王五? 我很好,謝謝! 我很好,謝謝! 李四想了很長時間, 文字太長了 不適合放在一行. 打量著王五... 很好... 王五, 你怎麼樣? 張三 李四 王五

這將產生一個流程圖。:

連結 長方形 圓角長方形 菱形
  • 關於 Mermaid 語法,參考 這兒,

FLowchart流程圖

我們依舊會支援flowchart的流程圖:

Created with Raphaël 2.2.0 開始 我的操作 確認? 結束 yes no
  • 關於 Flowchart流程圖 語法,參考 這兒.

匯出與匯入

匯出

如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當你完成了一篇文章的寫作, 在上方工具欄找到 文章匯出 ,生成一個.md檔案或者.html檔案進行本地儲存。

匯入

如果你想載入一篇你寫過的.md檔案,在上方工具欄可以選擇匯入功能進行對應副檔名的檔案匯入,
繼續你的創作。


  1. mermaid語法說明 ↩︎

  2. 註腳的解釋 ↩︎