Chinese translation of U-boot's Readme file

Source: Internet
Author: User
Tags spl

All said look at the source before the first look at the readme, Prudential no I bully ah, before the new code to get the original confused can be good quality of the Readme, in order to achieve God clear eyes. A readme thousands of line of English explanation, translation is time-consuming and laborious, so I translate the pre-Readme part of the chapter, first throw a brick.

====================================================## (C) Copyright 2000-2013# Wolfgang Denk, DENX software Engineering, [email protected]## spdx-license-identifier:gpl-2.0+# summary: "Summary" ======== this Directory contains the source code for U-boot, a Boot loader forembedded boards based on PowerPC, ARM, MIPS and several OT Herprocessors, which can be installed in a boot ROM and used toinitialize and test the hardware or to download and run app Licationcode. This directory consists of U-boot source code, U-boot is based on PowerPC, ARM, MIPS and other processors of the embedded board bootloader, can be installed on a boot disk, Used to initialize the operation and test the hardware or to download the running program code.  the development of U-boot is closely related to linux:some parts ofthe source code originate in the Linux source tr EE, we have the someheader files in common, and special provision has been made tosupport booting of Linux images. The development of U-boot is closely related to Linux: its source code is part of the Linux tree, some of our header files are the same, and specific provisions are made to support the startup of Linux images.  some attention have been paid to make this software easilyconfigurable and extendable. For instance, all MoniTor commands areimplemented with the same call interface, so that it's very easy toadd new commands. Also, instead of permanently adding rarely usedcode (for instance hardware test utilities) to the monitor, you canload and Run it dynamically. It takes a lot of effort to simplify the configuration and execution of the software. For example, all monitoring commands are implemented using the same invocation interface, so it's easy to add new commands. Similarly, it is not permanent to add monitoring commands that seldom use code, you can load and run dynamically.   status: "State" ======= in general, all boards for which a configuration option exists in Themakefile has bee N tested to some extent and can is considered "working". In fact, many of them is used in production systems. Typically, a development board that has configuration options in Makefile is tested to some extent and is considered to be working. In fact, many of them are used in the same production.  in case of problems see the CHANGELOG "file to find" who contributedthe specific port. In addition, there is various maintainers filesscattered throughout the u-boot source identifying the people orcompanies Responsible for various boards and subsystems. In case of a problem, review the changelog file to find the person responsible for maintaining the specific port. In addition, a variety of state files are distributed in the U-boot source code to identify the person or company responsible for each Development board or subsystem.  note:asOf August, there is no longer a CHANGELOG file in theactual u-boot source tree; However, it can be created dynamicallyfrom the Git log using: make changelog Note: Until August 2010, There is no longer an updated CHANGELOG file in the U-boot source tree, however, it can be created dynamically from git by using command [make CHANGELOG].   where to get help: "Helping get" ================== in case you had questions about, problems with or contributio NS Foru-boot, should send a message to the U-boot mailing list at<[email protected]>. There is also a archive of previous Trafficon the mailing list-please search the archive before asking FAQ ' s.please see Http:// and Gmane.comp.boot-loaders.u-boot If you have u-boot related problems, problems or good suggestions, you can send e-mail to U-boot e-mail <[email protected]> email. Through the Mail also organized a part of the FAQ archive, before submitting the FAQ please find online FAQ help, the URL is as follows: Gmane.comp.boot-loaders.u-boot  where to get Source code: "Source Acquisition" ========================= the U-boot Source code is maintainedIn the Git repository atgit://; You can browse it online at;a=summaryu-boot source code exists on the above git repositories.  the "snapshot" links on the This page allow you to download Tarballs ofany version of you might being interested in. Official releases is alsoavailable for FTP download from the Directory. Through the links on this page, you can download the compressed package of your desired version. You can also get the official release of the source package via the FTP directory.  pre-built (and tested) images is available from mirroring via /pub/u-boot/images/obtained.   where we come from: "U-boot life" =================== -start from 8xxrom sources-create Ppcboot project (HT Tp:// up code-make it easier to add custom boards-make it possible to add other [PowerPC] Cpus-extend functions, especially:  * Provide extended interface to Linux boot loader  * S-record download&nbsp ; * Network boot  * Pcmcia/compactflash/ata disk/sCSI ... boot-create armboot project ( other CPU families (starting with ARM) -Create U-boot Project ( project Page:see U-boot  names and spelling: "Naming and writing" =================== the "official" name of this project is "Das U-boot" . The spelling "U-boot" shall is used in all written text (documentation, commentsin source files etc.). Example: The official name of the project is "Das U-boot". The "u-boot" spelling should apply to all written text. For example:  this is the Readme file for the U-boot project. This is the Readme document for the U-boot program.  file names etc shall is based on the string "U-boot". Examples: File name, etc. to be named based on the "U-boot" string. For example: include/asm-ppc/u-boot.h  #include <asm/u-boot.h> variable names, preprocessor constants etc. shall be either based onthe string "U_boot" or "u_boot". Example: The variable name and constant name are named with string-based "U_boot" or "u_boot". For example:  u_boot_versionu_boot_logoih_os_u_bootu_boot_hush_start  versioning: "Version" ===========&nbsp Starting with the release in October, the names of the releaseswere changed from numerical release numbers without de Eper Meaninginto A time stamp based numbering. Regular releases is identified bynames consisting of the calendar year and month of the release date. Additional fields (if present) indicate release candidates or bugs fixreleases in "stable" maintenance trees. Since its release in October 2008, The name of the release version is changed from a sequence of numbers that does not have any meaning to a timestamp based on a digital designator. The version number publishing rule consists of a date calendar that publishes dates. An additional field represents a release condition or bug fix in a stable repository.  examples:u-boot v2009.11    -release November 2009-2009 November stable edition u-boot v2009.11.1  -Release 1 in VE Rsion November Stable tree-2009 September stable version of the repair 1 version u-boot v2010.09-rc1-release candiate 1 for September year release-2010 September Release Candidate version 1   directory Hierarchy: "Catalog" ==================== /archarchitecture specific files schema specific file  /arcfiles generic to ARC Architecturearc architecture Common Files  /armfiles generic to ARM architecturearm architecture Common Files  /AVR32FI Les generic to AVR32 architecture avr32 architecture Common textPieces  /blackfinfiles generic to Analog Devices Blackfin Architectureadi Company's Blackfin architecture Common Files  /m68kfiles generic to M6 8k architecture m68k Architecture common file  /microblazefiles generic to Microblaze architecture  microblaze schema generic file  /mipsfiles generic to MIPS architecture  MIPS architecture Common Files  /nds32files generic to NDS32 architecture  &nbs P NDS32 schema Common Files  /nios2files generic to Altera NIOS2 architecture   nios2 architecture Common Files  /openriscfiles generic To OpenRISC architecture   openrisc schema generic file  /powerpcfiles generic to PowerPC architecture    PowerPC schema common file  /sandboxfiles generic to hw-independent sandbox     Standalone hardware sandbox universal file  /shfiles generic To SH architecture   sh schema generic file  /sparcfiles generic to SPARC architecture   sparc schema common file  / X86files generic to x86 architecture   x86 schema generic file/apimachine/arch independent API for external apps External program machine/ Architecture independent Api/boardboard dependent files motherboard dependent file/commonmisc ARChitecture independent functions Universal Architecture Standalone feature/configsboard default configuration files motherboard defaults profile/diskcode for disk drive Partition handling hard Drive code/docdocumentation (don ' t expect too much) help document (don't expect too much)/driverscommonly used device Generic driver for drivers hardware/dtscontains Makefile for building internal U-boot FDT. Contains the Uboot file that builds the built-in Makefile device tree. /examplesexample code for standalone applications, etc. Application Module sample codes. /fsfilesystem code (CRAMFS, Ext2, JFFS2, etc.) File system code/includeheader files header file/liblibrary routines generic to all architectures General library file for all schemas. /licensesvarious license files Various authorization file/netnetworking code Network file/postpower on self Test power on auto test/scriptsvarious build scripts and makefiles various compilation scripts and makefiles/testvarious unit test files,/toolstools to build S-record or u-boot images, etc. build tools for S-record or U-boot mirroring.  software configuration: "Software config" ======================= configuration is usually done using C preprocessor defines; Therationale behind that's to avoid dead code whenever possible. The configuration file usually uses the C pre-compiler provisions; there is classes of configuration variables: * configuration _options_:  These is selectable by the User and has names beginning with  "Config_".  * Configuration _settings_:  These depend on the hardware ET C. and should not being meddled with if  you don't know what do you ' re doing; They has names beginning with  "Config_sys_".  previously, all configuration is done by hand, which involved CR Eatingsymbolic links and editing configuration files manually. More recently,u-boot have added the Kbuild infrastructure used by the Linux kernel,allowing the ' Make Menuconfig ' "Command to configure yourbuild.  selection of Processor Architecture and Board type:" Select processor architecture and Development Board type "--------- ------------------------------------------ for All supported boards there is ready-to-use defaultconfigurations Available Just type "Make <board_name>_defconfig".  example:for a tqm823l module TYPE:&NBSP;CD u-bootmake TQM823L_ DefconfiG note:if you ' re looking for the default configuration, file for a boardyou ' re, sure used to be there, are now Missi Ng, check the Filedoc/readme.scrapyard for a list of no longer supported Boards. sandbox environment: "Sandbox environment"---------- ---------- u-boot can built natively to run on a Linux host using the ' sandbox ' board. This allows feature development which are not board-or architecture-specific to being undertaken on a native platform. The sandbox is also used torun some of U-boot ' s tests. see board/sandbox/readme.sandbox for more details.   Board initialisation Flow: "Motherboard initialization process"-------------------------- this is the intended start-up flow for boards. This should apply to BOTHSPL and u-boot proper (i.e. they both follow the same rules). This section explains the start-up process for the Development Board. U-boot and SPL also apply (their processes are the same).  note: "SPL" stands for "secondary program Loader," which was explained Inmore detail later in this file. Note: SPL is Seconda RY program loader, which is explained in detail later.  at present, SPL mostly USEs a separate code path, but the function namesand roles of each function is the same. Some boards or Architecturesmay not conform to this.  at least most ARM boards which useconfig_spl_framework conform to this. Currently, SPL mostly uses isolated code paths, but the names and rules of each function are the same. Some development boards or architectures may not follow this rule. At least most arm boards use Config_spl_framework macros to follow this rule.  execution typically starts with an architecture-specific (and possiblycpu-specific) start. S file, such as: execution is typically from the schema of a specific file start. s starts executing (possibly a specific file for the CPU), for example:  -Arch/arm/cpu/armv7/start. S-arch/powerpc/cpu/mpc83xx/start. S-arch/mips/cpu/start. S and so on. From there, three functions is called; The purpose andlimitations of each of these functions is described below. And so forth. From there there are 3 functions that are called, and each of these 3 and the functions of each limit and purpose is shown below.  lowlevel_init ():-purpose:essential init to permit execution to reach board_init_f ()-Intent: To perform basic initialization after the arrival of Board_init_f ( ) function-no global_data or Bss-there is no stack (ARMv7 May has one but it'll soon be removed)-must not set up SDRAM or U Se console-must only do the barE minimum to allow execution to continue toboard_init_f ()-This is almost never needed-return normally from this function  board_init_f ():-Purpose:set up, the machine ready for Running Board_init_r (): i.e. SDRAM and serial Uart-global_dat A is available-stack are in SRAM-BSS are not available, so you cannot use global/static variables,only stack variables and Global_data non-spl-specific notes:-Dram_init () is called to set up dram. If already done in SPL Thiscan does nothing spl-specific notes:-you can override the entire board_init_f () function wi Th your ownversion as needed.-preloader_console_init () can be called here on Extremis-should set up SDRAM, and anything needed to make the UART Work-these are no need to clear BSS, it'll be do by crt0. S-must return normally from this function (don ' t call Board_init_r () directly)  here the BSS is cleared. For SPL, if Config_spl_stack_r was defined, then Atthis point the STACK and Global_data be relocated to Belowconfig_spl_stack_r_addr. For NON-SPL, U-boot are relocated to run at the top Ofmemory. board_init_r ():-Purpose:main execution, common code-g Lobal_data is Available-sdram is AVAILABLE-BSS are available, all Static/global variables can be used-execution eventual LY continues to Main_loop ()  non-spl-specific notes:-U-boot are relocated to the top of memory and are now running from There. spl-specific notes:-Stack is optionally in SDRAM, if Config_spl_stack_r is defined Andconfig_spl_stack_r_add R points into sdram-preloader_console_init () can is called here-typically this isdone by defining config_spl_board_init And then supplying Aspl_board_init () function containing this call-loads u-boot or (in Falcon mode) Linux

From for notes (Wiz)

Chinese translation of U-boot's Readme file

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.