⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 redboot.edb7xxx

📁 Intel XScale PXA255 引导Linux的Redboot 版bootloader源代码!
💻 EDB7XXX
字号:
RedBoot for the EDB7xxx=======================Target------This document describes using RedBoot with the Cirrus Logic ARM-basedEDB7xxx evaluation boards.Installation on the Target Board--------------------------------Copy the two '.srec' files to /tftpboot or where-ever they have to be foryour tftp server.Briefly, we use whatever boot flash image you have in place already (CygMonor an eCos stub ROM) along with GDB, to execute a RAM based version ofRedBoot.  That is used, in its command-line mode, to fetch a ROM-based bootimage of RedBoot and write it into the flash memory.  "Fetching" the imagemeans tftp from a server; the image must be in S-Record format.  We thenreset the target, thus running the newly-installed boot image of RedBoot.That in turn is used, in its command-line mode, to fetch a RAM-based bootimage of RedBoot and write it into a different area of the flash memory, inorder to make it easier to do the first part (running a RAM-based RedBootin order to update the boot block) again in future.1. Program RedBoot image into FLASH:   Using the 'dl_edb7xxx' tool (or it's Windows equivalent), program the   file 'edb7212_redboot_ROM.bin' into the flash.2. Execute RedBoot from ROM, and initialize the flash filing system.       Notes: the key here is the "-o" option which keeps minicom from       sending junk.   % minicom -o ttyS0   RedBoot(tm) debug environment - built 08:36:10, Aug 15 2000   Copyright (C) 2000, Red Hat, Inc.   RAM: 0x00000000-0x00fd7000   FLASH: 0xe0000000 - 0xe1000000, 128 blocks of 0x00020000 bytes ea.   IP: 192.168.1.23, Default server: 192.168.1.101   show tcp = 0x0001ed58   RedBoot>    RedBoot> fi in   About to initialize [format] FLASH image system - are you sure (y/n)? y   *** Initialize FLASH Image System       Warning: device contents not erased, some blocks may not be usable   ... Erase from 0xe0fe0000-0xe1000000: .   ... Program from 0x00fa7000-0x00fa7400 at 0xe0fe0000: .4. Install RAM based RedBoot for backup/update:       Similar considerations apply: redboot-ram.srec must be an S-record       version of RedBoot built for RAM startup.   RedBoot> lo -v edb7212_redboot.srec   Entry point: 0x00010044, address range: 0x00010000-0x0001ee88   RedBoot> fi cr RedBoot[backup] -f 0xe0020000 -b 0x10000 -l 0x20000   An image named 'RedBoot[backup]' exists - are you sure (y/n)? y   ... Erase from 0xe0020000-0xe0040000: .   ... Program from 0x00010000-0x00030000 at 0xe0020000: .   ... Erase from 0xe0fe0000-0xe1000000: .   ... Program from 0x00fa7000-0x00fc7000 at 0xe0fe0000: .   RedBoot> fi li   Name              FLASH addr   Mem addr    Length    Entry point   RedBoot           0xE0000000   0xE0000000  0x020000  0xE0000044   RedBoot[backup]   0xE0020000   0xE0020000  0x020000  0x00010044   RedBoot config    0xE0FC0000   0xE0FC0000  0x020000  0x00000000   FIS directory     0xE0FE0000   0xE0FE0000  0x020000  0x00000000   RedBoot>         You have now updated your board completely.  Phew!5. To update RedBoot with a new version of RedBoot, it is necessary to run   a RAM-based version of RedBoot which itself re-writes the ROM-based one,   because you can't re-write the code that is executing at the time.   RedBoot> fi lo RedBoot[backup]   RedBoot> g   +   RedBoot(tm) debug environment - built 07:45:57, Aug  7 2000   Copyright (C) 2000, Red Hat, Inc.      RAM: 0x00000000-0x00fd7000   FLASH: 0xe0000000 - 0xe1000000, 128 blocks of 0x00020000 bytes ea.   IP: 192.168.1.25, Default server: 192.168.1.101   show tcp = 0x00030d48   RedBoot>         .. continue with step 3, using whatever your new boot image is called        in the tftp-place, in .srec format.You probably also want to set up then environment with your own IPaddresses and so on.  Recall that this IP address is the one you use forGDB to talk to the board, not the IP address which the eCos applicationwill take on (by bootp/dhcp or whatever means according to configury asusual).   RedBoot> fconfig   Network debug at boot time: false    Use BOOTP for network configuration: false    Local IP address: 192.168.1.25    Default server IP address: 192.168.1.101    Network hardware address [MAC]: 0x08:0x88:0x12:0x34:0x56:0x79    GDB connection port: 1000    Run script at boot: false    RedBoot> Building RedBoot----------------To rebuild RedBoot from source, first cut out the attached configurationexport file "redboot.RAM" and save it somewhere, say /tmp/redboot.RAM  mkdir redboot  cd redboot  ecosconfig new edb7212 redboot  ecosconfig import /tmp/redboot.RAM  ecosconfig tree  makeTo build the ROM version, in a different build/config directory, justchange the startup mode (at the end of the export file).Here is the redboot.RAM configuration export:=========================== redboot.RAM =====================================cdl_savefile_version 1;cdl_savefile_command cdl_savefile_version {};cdl_savefile_command cdl_savefile_command {};cdl_savefile_command cdl_configuration { description hardware template package };cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };cdl_configuration eCos {    description "" ;    hardware    edb7212 ;    template    redboot ;    package -hardware CYGPKG_HAL_ARM current ;    package -hardware CYGPKG_HAL_ARM_EDB7XXX current ;    package -hardware CYGPKG_DEVS_ETH_ARM_EDB7XXX current ;    package -hardware CYGPKG_IO_SERIAL_ARM_EDB7XXX current ;    package -template CYGPKG_HAL current ;    package -template CYGPKG_INFRA current ;    package -template CYGPKG_REDBOOT current ;    package CYGPKG_IO_ETH_DRIVERS current ;    package CYGPKG_IO_FLASH current ;    package CYGPKG_DEVS_FLASH_EDB7XXX current ;};cdl_option CYGBLD_BUILD_GDB_STUBS {    user_value 0};cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {    user_value 0};cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {    inferred_value 1};cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {    inferred_value 0};cdl_option CYGSEM_HAL_USE_ROM_MONITOR {    inferred_value 0 0};cdl_option CYGHWR_HAL_ARM_EDB7XXX_VARIANT {    user_value EP7212};cdl_option CYGHWR_HAL_ARM_EDB7XXX_PROCESSOR_CLOCK {    user_value 73728};cdl_option CYGBLD_BUILD_REDBOOT {    user_value 1};cdl_component CYG_HAL_STARTUP {    user_value RAM};=========================== redboot.RAM =====================================

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -