u-boot README翻譯
u-boot 根目錄README檔案 翻譯
- Summary
- Status
- Where to get help
- Where to get source code
- Where we come from
- Names and Spelling
- Versioning
- Directory Hierarchy
- Software Configuration
- Selection of Processor Architecture and Board Type
- Sandbox Environment
- Board Initialisation Flow
- 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
# 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編輯器功能,我們增加了如下幾點新功能,幫助你用它寫部落格:
- 全新的介面設計 ,將會帶來全新的寫作體驗;
- 在創作中心設定你喜愛的程式碼高亮樣式,Markdown 將程式碼片顯示選擇的高亮樣式 進行展示;
- 增加了 圖片拖拽 功能,你可以將本地的圖片直接拖拽到編輯區域直接展示;
- 全新的 KaTeX數學公式 語法;
- 增加了支援甘特圖的mermaid語法1 功能;
- 增加了 多螢幕編輯 Markdown文章功能;
- 增加了 焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設定 等功能,功能按鈕位於編輯區域與預覽區域中間;
- 增加了 檢查列表 功能。
功能快捷鍵
撤銷: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.
圖片:
帶尺寸的圖片:
居中的圖片:
居中並且帶尺寸的圖片:
當然,我們為了讓使用者更加便捷,我們增加了圖片拖拽功能。
如何插入一段漂亮的程式碼片
去部落格設定頁面,選擇一款你喜歡的程式碼片高亮樣式,下面展示同樣高亮的 程式碼片
.
// An highlighted block
var foo = 'bar';
生成一個適合你的列表
- 專案
- 專案
- 專案
- 專案
- 專案1
- 專案2
- 專案3
- 計劃任務
- 完成任務
建立一個表格
一個簡單的表格是這麼建立的:
專案 | Value |
---|---|
電腦 | $1600 |
手機 | $12 |
導管 | $1 |
設定內容居中、居左、居右
使用:---------:
居中
使用:----------
居左
使用----------:
居右
第一列 | 第二列 | 第三列 |
---|---|---|
第一列文字居中 | 第二列文字居右 | 第三列文字居左 |
SmartyPants
SmartyPants將ASCII標點字元轉換為“智慧”印刷標點HTML實體。例如:
TYPE | ASCII | HTML |
---|---|---|
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)=(n−1)!∀n∈N 是通過尤拉積分
Γ ( z ) = ∫ 0 ∞ t z − 1 e − t d t . \Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=∫0∞tz−1e−tdt.
你可以找到更多關於的資訊 LaTeX 數學表示式here.
新的甘特圖功能,豐富你的文章
- 關於 甘特圖 語法,參考 這兒,
UML 圖表
可以使用UML圖表進行渲染。 Mermaid. 例如下面產生的一個序列圖:
這將產生一個流程圖。:
- 關於 Mermaid 語法,參考 這兒,
FLowchart流程圖
我們依舊會支援flowchart的流程圖:
- 關於 Flowchart流程圖 語法,參考 這兒.
匯出與匯入
匯出
如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當你完成了一篇文章的寫作, 在上方工具欄找到 文章匯出 ,生成一個.md檔案或者.html檔案進行本地儲存。
匯入
如果你想載入一篇你寫過的.md檔案,在上方工具欄可以選擇匯入功能進行對應副檔名的檔案匯入,
繼續你的創作。
註腳的解釋 ↩︎