|  | 
 
| 我用了两片Intel 28F640J3A (8MB 128K/sector) 接在SA1110上, 使用Jtag-0.5.1识别出了flash, 可以顺利的将u-boot.bin写入 flash.
 在u-boot 中我选择了参考板为 dnp1110 ,为了打通串口,暂且不考虑SDRAM 的设置,
 在include/configs/dnp1110.h中我这样配置:
 ---------------------------------------------------------------
 
 #ifndef __CONFIG_H
 #define __CONFIG_H
 
 /*
 * If we are developing, we might want to start armboot from ram
 * so we MUST NOT initialize critical regs like mem-timing ...
 */
 #define CONFIG_INIT_CRITICAL                /* undef for developing */
 #undef CONFIG_INIT_CRITICAL                /* undef for developing */
 
 /*
 * High Level Configuration Options
 * (easy to change)
 */
 #define CONFIG_SA1110                1        /* This is an SA1110 CPU        */
 #define CONFIG_DNP1110                1        /* on an DNP/1110 Board      */
 
 #undef CONFIG_USE_IRQ                        /* we don't need IRQ/FIQ stuff */
 
 /*
 * Size of malloc() pool
 */
 #define CFG_MALLOC_LEN                (CFG_ENV_SIZE + 128*1024)
 #define CFG_GBL_DATA_SIZE        128        /* size in bytes reserved for initial data */
 
 /*
 * Hardware drivers
 */
 #define CONFIG_DRIVER_SMC91111
 #define CONFIG_SMC91111_BASE 0x20000300
 
 
 /*
 * select serial console configuration
 */
 #define CONFIG_SERIAL1          1        /* we use SERIAL 1 */
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
 
 #define CONFIG_BAUDRATE                115200
 
 #define CONFIG_COMMANDS                (CONFIG_CMD_DFL)
 
 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
 #include <cmd_confdefs.h>
 
 #define CONFIG_BOOTDELAY        3
 #define CONFIG_BOOTARGS            "root=ramfs devfs=mount console=ttySA0,115200"
 #define CONFIG_ETHADDR                02:80:ad:20:31:b8
 #define CONFIG_NETMASK          255.255.0.0
 #define CONFIG_IPADDR                172.22.2.23
 #define CONFIG_SERVERIP                172.22.2.22
 #define CONFIG_BOOTFILE                "dnp1110"
 #define CONFIG_BOOTCOMMAND        "tftp; bootm"
 
 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
 #define CONFIG_KGDB_BAUDRATE        230400                /* speed to run kgdb serial port */
 #define CONFIG_KGDB_SER_INDEX        2                /* which serial port to use */
 #endif
 
 /*
 * Miscellaneous configurable options
 */
 #define        CFG_LONGHELP                                /* undef to save memory                */
 #define        CFG_PROMPT                "DNP1110 # "        /* Monitor Command Prompt        */
 #define        CFG_CBSIZE                256                /* Console I/O Buffer Size        */
 #define        CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print Buffer Size */
 #define        CFG_MAXARGS                16                /* max number of command args        */
 #define CFG_BARGSIZE                CFG_CBSIZE        /* Boot Argument Buffer Size        */
 
 #define CFG_MEMTEST_START        0xc0400000        /* memtest works on        */
 #define CFG_MEMTEST_END                0xc0800000        /* 4 ... 8 MB in DRAM        */
 
 #undef  CFG_CLKS_IN_HZ                /* everything, incl board info, in Hz */
 
 #define        CFG_LOAD_ADDR                0xc0200000        /* default load address        */
 
 #define        CFG_HZ                        3686400                /* incrementer freq: 3.6864 MHz */
 #define CFG_CPUSPEED                0x0b                /* set core clock to 220 MHz */
 
 /* valid baudrates */
 #define CFG_BAUDRATE_TABLE        { 9600, 19200, 38400, 57600, 115200 }
 
 /*-----------------------------------------------------------------------
 * Stack sizes
 *
 * The stack sizes are set up in start.S using the settings below
 */
 #define CONFIG_STACKSIZE        (128*1024)        /* regular stack */
 #ifdef CONFIG_USE_IRQ
 #define CONFIG_STACKSIZE_IRQ        (4*1024)        /* IRQ stack */
 #define CONFIG_STACKSIZE_FIQ        (4*1024)        /* FIQ stack */
 #endif
 
 /*-----------------------------------------------------------------------
 * Physical Memory Map
 */
 #define CONFIG_NR_DRAM_BANKS        1           /* we have 1 banks of DRAM */
 #define PHYS_SDRAM_1                0xc0000000 /* SDRAM Bank #1 */
 #define PHYS_SDRAM_1_SIZE        0x02000000 /* 32 MB */
 
 
 #define PHYS_FLASH_1                0x00000000 /* Flash Bank #1 */
 #define PHYS_FLASH_SIZE                0x00800000 /* 8 MB */
 #define PHYS_FLASH_BANK_SIZE    0x00800000 /* 16 MB Banks */
 #define PHYS_FLASH_SECT_SIZE    0x00010000 /* 128 KB sectors (x2) */
 
 #define CFG_FLASH_BASE                PHYS_FLASH_1
 
 /*-----------------------------------------------------------------------
 * FLASH and environment organization
 */
 #define CFG_MAX_FLASH_BANKS        2                /* max number of memory banks                */
 #define CFG_MAX_FLASH_SECT        64                /* max number of sectors on one chip        */
 
 /* timeout values are in ticks */
 #define CFG_FLASH_ERASE_TOUT        (2*CFG_HZ) /* Timeout for Flash Erase */
 #define CFG_FLASH_WRITE_TOUT        (2*CFG_HZ) /* Timeout for Flash Write */
 
 #define        CFG_ENV_IS_IN_FLASH        2
 #define CFG_ENV_ADDR                        (PHYS_FLASH_1 + 0xF80000)        /* Addr of Environment Sector        */
 #define CFG_ENV_SIZE                        0x10000                                                /* Total Size of Environment Sector        */
 
 #endif        /* __CONFIG_H */
 ---------------------------------------------------------------
 
 
 其中有以下参数不会计算:
 #define PHYS_FLASH_SIZE                0x00800000 /* 8 MB */
 #define PHYS_FLASH_BANK_SIZE    0x00800000 /* 16 MB Banks */
 #define PHYS_FLASH_SECT_SIZE    0x00010000 /* 128 KB sectors (x2) */
 
 请大侠指教,
 因为我看过dnp1110的设置,总觉得这里的数值的含义不太明白!
 
 还有请帮忙看看其余的参数,谢谢!
 | 
 |