📄 readme
字号:
These two #defines are used to determin the memory area you want to use for environment. It is assumed that this memory can just be read and written to, without any special provision.BE CAREFUL! The first access to the environment happens quite earlyin U-Boot-aesop initalization (when we try to get the setting of for theconsole baudrate). You *MUST* have mappend your NVRAM area then, orU-Boot-aesop will hang.Please note that even with NVRAM we still use a copy of theenvironment in RAM: we could work on NVRAM directly, but we want tokeep settings there always unmodified except somebody uses "saveenv"to save the current settings.- CFG_ENV_IS_IN_EEPROM: Use this if you have an EEPROM or similar serial access device and a driver for it. - CFG_ENV_OFFSET: - CFG_ENV_SIZE: These two #defines specify the offset and size of the environment area within the total memory of your EEPROM. - CFG_I2C_EEPROM_ADDR: If defined, specified the chip address of the EEPROM device. The default address is zero. - CFG_EEPROM_PAGE_WRITE_BITS: If defined, the number of bits used to address bytes in a single page in the EEPROM device. A 64 byte page, for example would require six bits. - CFG_EEPROM_PAGE_WRITE_DELAY_MS: If defined, the number of milliseconds to delay between page writes. The default is zero milliseconds. - CFG_I2C_EEPROM_ADDR_LEN: The length in bytes of the EEPROM memory array address. Note that this is NOT the chip address length! - CFG_I2C_EEPROM_ADDR_OVERFLOW: EEPROM chips that implement "address overflow" are ones like Catalyst 24WC04/08/16 which has 9/10/11 bits of address and the extra bits end up in the "chip address" bit slots. This makes a 24WC08 (1Kbyte) chip look like four 256 byte chips. Note that we consider the length of the address field to still be one byte because the extra address bits are hidden in the chip address. - CFG_EEPROM_SIZE: The size in bytes of the EEPROM device.- CFG_ENV_IS_IN_DATAFLASH: Define this if you have a DataFlash memory device which you want to use for the environment. - CFG_ENV_OFFSET: - CFG_ENV_ADDR: - CFG_ENV_SIZE: These three #defines specify the offset and size of the environment area within the total memory of your DataFlash placed at the specified address.- CFG_ENV_IS_IN_NAND: Define this if you have a NAND device which you want to use for the environment. - CFG_ENV_OFFSET: - CFG_ENV_SIZE: These two #defines specify the offset and size of the environment area within the first NAND device.- CFG_SPI_INIT_OFFSET Defines offset to the initial SPI buffer area in DPRAM. The area is used at an early stage (ROM part) if the environment is configured to reside in the SPI EEPROM: We need a 520 byte scratch DPRAM area. It is used between the two initialization calls (spi_init_f() and spi_init_r()). A value of 0xB00 seems to be a good choice since it makes it far enough from the start of the data area as well as from the stack pointer.Please note that the environment is read-only as long as the monitorhas been relocated to RAM and a RAM copy of the environment has beencreated; also, when using EEPROM you will have to use getenv_r()until then to read environment variables.The environment is protected by a CRC32 checksum. Before the monitoris relocated into RAM, as a result of a bad CRC you will be workingwith the compiled-in default environment - *silently*!!! [This isnecessary, because the first environment variable we need is the"baudrate" setting for the console - if we have a bad CRC, we don'thave any device yet where we could complain.]Note: once the monitor has been relocated, then it will complain ifthe default environment is used; a new CRC is computed as soon as youuse the "saveenv" command to store a valid environment.- CFG_FAULT_ECHO_LINK_DOWN: Echo the inverted Ethernet link state to the fault LED. Note: If this option is active, then CFG_FAULT_MII_ADDR also needs to be defined.- CFG_FAULT_MII_ADDR: MII address of the PHY to check for the Ethernet link state.- CFG_64BIT_VSPRINTF: Makes vsprintf (and all *printf functions) support printing of 64bit values by using the L quantifier- CFG_64BIT_STRTOUL: Adds simple_strtoull that returns a 64bit valueLow Level (hardware related) configuration options:---------------------------------------------------- CFG_CACHELINE_SIZE: Cache Line Size of the CPU.- CFG_DEFAULT_IMMR: Default address of the IMMR after system reset. Needed on some 8260 systems (MPC8260ADS, PQ2FADS-ZU, and RPXsuper) to be able to adjust the position of the IMMR register after a reset.- Floppy Disk Support: CFG_FDC_DRIVE_NUMBER the default drive number (default value 0) CFG_ISA_IO_STRIDE defines the spacing between fdc chipset registers (default value 1) CFG_ISA_IO_OFFSET defines the offset of register from address. It depends on which part of the data bus is connected to the fdc chipset. (default value 0) If CFG_ISA_IO_STRIDE CFG_ISA_IO_OFFSET and CFG_FDC_DRIVE_NUMBER are undefined, they take their default value. if CFG_FDC_HW_INIT is defined, then the function fdc_hw_init() is called at the beginning of the FDC setup. fdc_hw_init() must be provided by the board source code. It is used to make hardware dependant initializations.- CFG_IMMR: Physical address of the Internal Memory. DO NOT CHANGE unless you know exactly what you're doing! (11-4) [MPC8xx/82xx systems only]- CFG_INIT_RAM_ADDR: Start address of memory area that can be used for initial data and stack; please note that this must be writable memory that is working WITHOUT special initialization, i. e. you CANNOT use normal RAM which will become available only after programming the memory controller and running certain initialization sequences. U-Boot-aesop uses the following memory types: - MPC8xx and MPC8260: IMMR (internal memory of the CPU) - MPC824X: data cache - PPC4xx: data cache- CFG_GBL_DATA_OFFSET: Offset of the initial data structure in the memory area defined by CFG_INIT_RAM_ADDR. Usually CFG_GBL_DATA_OFFSET is chosen such that the initial data is located at the end of the available space (sometimes written as (CFG_INIT_RAM_END - CFG_INIT_DATA_SIZE), and the initial stack is just below that area (growing from (CFG_INIT_RAM_ADDR + CFG_GBL_DATA_OFFSET) downward. Note: On the MPC824X (or other systems that use the data cache for initial memory) the address chosen for CFG_INIT_RAM_ADDR is basically arbitrary - it must point to an otherwise UNUSED address space between the top of RAM and the start of the PCI space.- CFG_SIUMCR: SIU Module Configuration (11-6)- CFG_SYPCR: System Protection Control (11-9)- CFG_TBSCR: Time Base Status and Control (11-26)- CFG_PISCR: Periodic Interrupt Status and Control (11-31)- CFG_PLPRCR: PLL, Low-Power, and Reset Control Register (15-30)- CFG_SCCR: System Clock and reset Control Register (15-27)- CFG_OR_TIMING_SDRAM: SDRAM timing- CFG_MAMR_PTA: periodic timer for refresh- CFG_DER: Debug Event Register (37-47)- FLASH_BASE0_PRELIM, FLASH_BASE1_PRELIM, CFG_REMAP_OR_AM, CFG_PRELIM_OR_AM, CFG_OR_TIMING_FLASH, CFG_OR0_REMAP, CFG_OR0_PRELIM, CFG_BR0_PRELIM, CFG_OR1_REMAP, CFG_OR1_PRELIM, CFG_BR1_PRELIM: Memory Controller Definitions: BR0/1 and OR0/1 (FLASH)- SDRAM_BASE2_PRELIM, SDRAM_BASE3_PRELIM, SDRAM_MAX_SIZE, CFG_OR_TIMING_SDRAM, CFG_OR2_PRELIM, CFG_BR2_PRELIM, CFG_OR3_PRELIM, CFG_BR3_PRELIM: Memory Controller Definitions: BR2/3 and OR2/3 (SDRAM)- CFG_MAMR_PTA, CFG_MPTPR_2BK_4K, CFG_MPTPR_1BK_4K, CFG_MPTPR_2BK_8K, CFG_MPTPR_1BK_8K, CFG_MAMR_8COL, CFG_MAMR_9COL: Machine Mode Register and Memory Periodic Timer Prescaler definitions (SDRAM timing)- CFG_I2C_UCODE_PATCH, CFG_I2C_DPMEM_OFFSET [0x1FC0]: enable I2C microcode relocation patch (MPC8xx); define relocation offset in DPRAM [DSP2]- CFG_SPI_UCODE_PATCH, CFG_SPI_DPMEM_OFFSET [0x1FC0]: enable SPI microcode relocation patch (MPC8xx); define relocation offset in DPRAM [SCC4]- CFG_USE_OSCCLK: Use OSCM clock mode on MBX8xx board. Be careful, wrong setting might damage your board. Read doc/README.MBX before setting this variable!- CFG_CPM_POST_WORD_ADDR: (MPC8xx, MPC8260 only) Offset of the bootmode word in DPRAM used by post (Power On Self Tests). This definition overrides #define'd default value in commproc.h resp. cpm_8260.h.- CFG_PCI_SLV_MEM_LOCAL, CFG_PCI_SLV_MEM_BUS, CFG_PICMR0_MASK_ATTRIB, CFG_PCI_MSTR0_LOCAL, CFG_PCIMSK0_MASK, CFG_PCI_MSTR1_LOCAL, CFG_PCIMSK1_MASK, CFG_PCI_MSTR_MEM_LOCAL, CFG_PCI_MSTR_MEM_BUS, CFG_CPU_PCI_MEM_START, CFG_PCI_MSTR_MEM_SIZE, CFG_POCMR0_MASK_ATTRIB, CFG_PCI_MSTR_MEMIO_LOCAL, CFG_PCI_MSTR_MEMIO_BUS, CPU_PCI_MEMIO_START, CFG_PCI_MSTR_MEMIO_SIZE, CFG_POCMR1_MASK_ATTRIB, CFG_PCI_MSTR_IO_LOCAL, CFG_PCI_MSTR_IO_BUS, CFG_CPU_PCI_IO_START, CFG_PCI_MSTR_IO_SIZE, CFG_POCMR2_MASK_ATTRIB: (MPC826x only) Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.- CONFIG_ETHER_ON_FEC[12] Define to enable FEC[12] on a 8xx series processor.- CONFIG_FEC[12]_PHY Define to the hardcoded PHY address which corresponds to the given FEC; i. e. #define CONFIG_FEC1_PHY 4 means that the PHY with address 4 is connected to FEC1 When set to -1, means to probe for first available.- CONFIG_FEC[12]_PHY_NORXERR The PHY does not have a RXERR line (RMII only). (so program the FEC to ignore it).- CONFIG_RMII Enable RMII mode for all FECs. Note that this is a global option, we can't have one FEC in standard MII mode and another in RMII mode.- CONFIG_CRC32_VERIFY Add a verify option to the crc32 command. The syntax is: => crc32 -v <address> <count> <crc32> Where address/count indicate a memory area and crc32 is the correct crc32 which the area should have.- CONFIG_LOOPW Add the "loopw" memory command. This only takes effect if the memory commands are activated globally (CFG_CMD_MEM).- CONFIG_MX_CYCLIC Add the "mdc" and "mwc" memory commands. These are cyclic "md/mw" commands. Examples: => mdc.b 10 4 500 This command will print 4 bytes (10,11,12,13) each 500 ms. => mwc.l 100 12345678 10 This command will write 12345678 to address 100 all 10 ms. This only takes effect if the memory commands are activated globally (CFG_CMD_MEM).Building the Software:======================Building U-Boot-aesop has been tested in native PPC environments (on aPowerBook G3 running LinuxPPC 2000) and in cross environments(running RedHat 6.x and 7.x Linux on x86, Solaris 2.6 on a SPARC, andNetBSD 1.5 on x86).If you are not using a native PPC environment, it is assumed that youhave the GNU cross compiling tools available in your path and namedwith a prefix of "powerpc-linux-". If this is not the case, (e.g. ifyou are using Monta Vista's Hard Hat Linux CDK 1.2) you must changethe definition of CROSS_COMPILE in Makefile. For HHL on a 4xx CPU,change it to: CROSS_COMPILE = ppc_4xx-U-Boot-aesop is intended to be simple to build. After installing thesources you must configure U-Boot-aesop for one specific board type. Thisis done by typing: make NAME_configwhere "NAME_config" is the name of one of the existingconfigurations; the following names are supported: ADCIOP_config FPS860L_config omap730p2_config ADS860_config GEN860T_config pcu_e_config Alaska8220_config AR405_config GENIETV_config PIP405_config at91rm9200dk_config GTH_config QS823_config CANBT_config hermes_config QS850_config cmi_mpc5xx_config hymod_config QS860T_config cogent_common_config IP860_config RPXlite_config cogent_mpc8260_config IVML24_config RPXlite_DW_config cogent_mpc8xx_config IVMS8_config RPXsuper_config CPCI405_config JSE_config rsdproto_config CPCIISER4_config LANTEC_config Sandpoint8240_config csb272_config lwmon_config sbc8260_config CU824_config MBX860T_config sbc8560_33_config DUET_ADS_config MBX_config sbc8560_66_config EBONY_config MPC8260ADS_config SM850_config ELPT860_config MPC8540ADS_config SPD823TS_config ESTEEM192E_config MPC8560ADS_config stxgp3_config ETX094_config NETVIA_config SXNI855T_config FADS823_config omap1510inn_config TQM823L_config FADS850SAR_config omap1610h2_config TQM850L_config FADS860T_config omap1610inn_config TQM855L_config FPS850L_config omap5912osk_config TQM860L_config WALNUT405_config Yukon8220_config ZPC1900_configNote: for some board special configuration names may exist; check if additional information is available from the board vendor; for instance, the TQM823L systems are available without (standard) or with LCD support. You can select such additional "features" when chosing the configuration, i. e. make TQM823L_config - will configure for a plain TQM823L, i. e. no LCD support make TQM823L_LCD_config - will configure for a TQM823L with U-Boot-aesop console on LCD etc.Finally, type "make all", and you should get some working U-Boot-aesopimages ready for download to / installation on your system:- "u-boot.bin" is a raw binary image- "u-boot" is an image in ELF binary format- "u-boot.srec" is in Motorola S-Record formatPlease be aware that the Makefiles assume you are using GNU make, sofor instance on NetBSD you might need to use "gmake" instead ofnative "make".If the system board that you have is not listed, then you will needto port U-Boot-aesop to your hardware platform. To do this, follow thesesteps:1. Add a new configuration option for your board to the toplevel "Makefile" and to the "MAKEALL" script, using the existing entries as examples. Note that here and at many other places boards and other names are listed in alphabetical sort
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -