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

📄 dev.c

📁 MMI层OBJ不能完全编译
💻 C
📖 第 1 页 / 共 2 页
字号:
  { 0x80000, 16 },
  { 0x90000, 16 },
  { 0xa0000, 16 },
  { 0xb0000, 16 },
  { 0xc0000, 16 },
  { 0xd0000, 16 },
  { 0xe0000, 16 },
  { 0xf0000, 16 },
  { 0x100000, 16 },
  { 0x110000, 16 },
  { 0x120000, 16 },
  { 0x130000, 16 },
  { 0x140000, 16 },
  { 0x150000, 16 },
  { 0x160000, 16 },
  { 0x170000, 16 },
  { 0x180000, 16 },
  { 0x190000, 16 },
  { 0x1a0000, 16 },
  { 0x1b0000, 16 },
  { 0x1c0000, 16 },
  { 0x1d0000, 16 },
  { 0x1e0000, 16 },
  { 0x1f0000, 16 },
  { 0x200000, 16 },
  { 0x210000, 16 },
  { 0x220000, 16 },
  { 0x230000, 16 },
  { 0x240000, 16 },
  { 0x250000, 16 },
  { 0x260000, 16 },
  { 0x270000, 16 },
  { 0x280000, 16 },
  { 0x290000, 16 },
  { 0x2a0000, 16 },
  { 0x2b0000, 16 },
  { 0x2c0000, 16 },
  { 0x2d0000, 16 },
  { 0x2e0000, 16 },
  { 0x2f0000, 16 },
  { 0x300000, 16 },
  { 0x310000, 16 },
  { 0x320000, 16 },
  { 0x330000, 16 },
  { 0x340000, 16 },
  { 0x350000, 16 },
  { 0x360000, 16 },
  { 0x370000, 16 },
  { 0x380000, 16 },
  { 0x390000, 16 },
  { 0x3a0000, 16 },
  { 0x3b0000, 16 },
  { 0x3c0000, 16 },
  { 0x3d0000, 16 },
  { 0x3e0000, 16 },
  { 0x3f0000, 16 },
  { 0x400000, 16 },
  { 0x410000, 16 },
  { 0x420000, 16 },
  { 0x430000, 16 },
  { 0x440000, 16 },
  { 0x450000, 16 },
  { 0x460000, 16 },
  { 0x470000, 16 },
  { 0x480000, 16 },
  { 0x490000, 16 },
  { 0x4a0000, 16 },
  { 0x4b0000, 16 },
  { 0x4c0000, 16 },
  { 0x4d0000, 16 },
  { 0x4e0000, 16 },
  { 0x4f0000, 16 },
  { 0x500000, 16 },
  { 0x510000, 16 },
  { 0x520000, 16 },
  { 0x530000, 16 },
  { 0x540000, 16 },
  { 0x550000, 16 },
  { 0x560000, 16 },
  { 0x570000, 16 },
  { 0x580000, 16 },
  { 0x590000, 16 },
  { 0x5a0000, 16 },
  { 0x5b0000, 16 },
  { 0x5c0000, 16 },
  { 0x5d0000, 16 },
  { 0x5e0000, 16 },
  { 0x5f0000, 16 },
  { 0x600000, 16 },
  { 0x610000, 16 },
  { 0x620000, 16 },
  { 0x630000, 16 },
  { 0x640000, 16 },
  { 0x650000, 16 },
  { 0x660000, 16 },
  { 0x670000, 16 },
  { 0x680000, 16 },
  { 0x690000, 16 },
  { 0x6a0000, 16 },
  { 0x6b0000, 16 },
  { 0x6c0000, 16 },
  { 0x6d0000, 16 },
  { 0x6e0000, 16 },
  { 0x6f0000, 16 },
  { 0x700000, 16 },
  { 0x710000, 16 },
  { 0x720000, 16 },
  { 0x730000, 16 },
  { 0x740000, 16 },
  { 0x750000, 16 },
  { 0x760000, 16 },
  { 0x770000, 16 },
  { 0x780000, 16 },
  { 0x790000, 16 },
  { 0x7a0000, 16 },
  { 0x7b0000, 16 },
  { 0x7c0000, 16 },
  { 0x7d0000, 16 },
  { 0x7e0000, 16 },
  { 0x7f0000, 16 }
};

// 16x64kB
static const struct block_info_s flash_16x64[] =
{
    { 0x00000, 16 },
    { 0x10000, 16 },
    { 0x20000, 16 },
    { 0x30000, 16 },
    { 0x40000, 16 },
    { 0x50000, 16 },
    { 0x60000, 16 },
    { 0x70000, 16 },
    { 0x80000, 16 },
    { 0x90000, 16 },
    { 0xA0000, 16 },
    { 0xB0000, 16 },
    { 0xC0000, 16 },
    { 0xD0000, 16 },
    { 0xE0000, 16 },
    { 0xF0000, 16 }
};

// 8x128kB
static const struct block_info_s flash_8x128[] =
{
    { 0x00000, 17 },
    { 0x20000, 17 },
    { 0x40000, 17 },
    { 0x60000, 17 },
    { 0x80000, 17 },
    { 0xA0000, 17 },
    { 0xC0000, 17 },
    { 0xE0000, 17 }
};

// 8x8kB
static const struct block_info_s flash_8x8[] =
{
    { 0x0000, 13 },
    { 0x2000, 13 },
    { 0x4000, 13 },
    { 0x6000, 13 },
    { 0x8000, 13 },
    { 0xa000, 13 },
    { 0xc000, 13 },
    { 0xe000, 13 }
};

// 8x4kB
static const struct block_info_s flash_8x4[] =
{
    { 0x0000, 12 },
    { 0x1000, 12 },
    { 0x2000, 12 },
    { 0x3000, 12 },
    { 0x4000, 12 },
    { 0x5000, 12 },
    { 0x6000, 12 },
    { 0x7000, 12 }
};

// wangwang : 
// 8x64kB
static const struct block_info_s flash_8x64[] =
{
    { 0x00000, 16 },
    { 0x10000, 16 },
    { 0x20000, 16 },
    { 0x30000, 16 },
    { 0x40000, 16 },  
    { 0x50000, 16 },
    { 0x60000, 16 },
    { 0x70000, 16 },
    { 0x80000, 16 },
    { 0x90000, 16 },
    { 0xA0000, 16 },
    { 0xB0000, 16 },
    { 0xC0000, 16 },
    { 0xD0000, 16 },
    { 0xE0000, 16 },
   
};
/******************************************************************************
 * Flash Device Info Array
 ******************************************************************************/

// Each entry in the array below represents one flash device definition as
// FFS needs it. The columns have the following meaning:
//
// 1. Device memory map.
// 2. Absolute address of the first sector to be used by/for FFS.
// 3. Manufacturer code. Values are from FFS_MANUFACTURER enumeration
//    in drv.h
// 4. Device code. Available from device datasheet.
// 5. FFS device driver to use. Values are from FFS_DRIVER enumeration
//    in drv.h
// 6. Number of sectors to use, starting from the address given in
//    column 2.

/********** RAM configuration *************************************************
 * Note it is necessary to hardwire the configuration of the ram driver
 * in cfgffs.c. The ram driver is configured like and pseudo flash
 * device with only a few exceptions: Field 2 which is the absolute
 * address of the first sector MUST be set to zero, instead the address
 * is configured in cfgffs.c. Field 4 'Device code' is an arbitrary
 * value and not a real device code.
 ******************************************************************************/

/********** Multi-id configuration ********************************************
 * When 227Eh is output, it indicates that two additional codes, called
 * Extended Device Codes, will be required. The two additional codes will be
 * read and the lower byte of each code will be combined into one id, which
 * is used for auto-detection of the flash configuration. The device code
 * format for the multi-id devices is as follow: 0x227E, 0x22YY, 0x22ZZ ->
 * 0xYYZZ.
 ******************************************************************************/

const struct flash_info_s flash_info[] =
{
    // Ram device 8x4kB. Note it is necessary to hardwire the conf
    //in cfgffs.c
    { &flash_8x4[0], 0, MANUFACT_RAM,  0x0404,
      FFS_DRIVER_RAM,  4},    

    // BOARD 35/46. Ram device 8x4kB. Note it is necessary to hardwire the
    //conf in cfgffs.c
    { &flash_8x4[0], 0, MANUFACT_RAM,  0x0804,
      FFS_DRIVER_RAM,  8},    

    // Ram device 8x8kB. Note it is necessary to hardwire the conf in cfgffs.c 
    { &flash_8x8[0], 0, MANUFACT_RAM,  0x080D,
      FFS_DRIVER_RAM,  8},    

    /********** AMD Devices ***********************************************/

    // AMD Am29DL321DT does not exist as of 2000-0217

    // AMD Am29DL322DT. Ignoring the 8kB sectors 
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_AMD,     0x2255,
      FFS_DRIVER_AMD_SB, 7 },

    // AMD Am29DL323DT. Ignoring the 8kB sectors
    { &flash_16x64[0], (char *) 0x300000, MANUFACT_AMD,     0x2250,
      FFS_DRIVER_AMD, 15 },

    // AMD Am29DL161DT. Using 8x8kB sectors.
    { &flash_8x8[0],   (char *) 0x1F0000, MANUFACT_AMD,     0x2236,
      FFS_DRIVER_AMD,  8 },

    // AMD Am29DL162DT. Ignoring the 8kB sectors
    { &flash_16x64[0], (char *) 0x1C0000, MANUFACT_AMD,     0x222D,
      FFS_DRIVER_AMD,  3 },

    // AMD Am29DL163DT. Ignoring the 8kB sectors
    { &flash_16x64[0], (char *) 0x180000, MANUFACT_AMD,     0x2228,
      FFS_DRIVER_AMD,  7 },

    // AMD Am29DL164DT. Ignoring the 8kB sectors
    { &flash_16x64[0], (char *) 0x100000, MANUFACT_AMD,     0x2233,
      FFS_DRIVER_AMD, 15 },
 
    // Spansion S71PL129Jb0, Esample Rev4 flash device, Multi-id device:
    // 0x227E, 0x2221, 0x2200
    { &flash_16x64[0], (char *) 0x04700000, MANUFACT_AMD,   0x2100,
      FFS_DRIVER_AMD_SB, 15 },
    // Esample Rev. 4. flash device:	
    // Ignoring the 8kB sectors
    { &flash_16x64[0], (char *) 0x04700000, MANUFACT_AMD, 0x227E,
      FFS_DRIVER_AMD_SB, 15 },

    // Spansion S71NS128JA0, LoCosto flash device, Multi-id(?) device:
    // LoCosto device:	
    // Ignoring the 8kB sectors
   /* { &flash_16x64[0], (char *) 0x04700000, MANUFACT_AMD, 0x007E,
      FFS_DRIVER_AMD_SB, 15 },   */

  /* spansion S29NS128J  Excluding 8kb sectors of bank A */
 { &flash_256x64[0], (char *) 0x06700000, MANUFACT_AMD, 0x007E,
     //OMAPS62129 change to Pseudo SB type
     FFS_DRIVER_AMD_NOR_PSEUDO_SB, 15 },


#if 0

  /* spansion S29NS128N (Mirror bit)  Excluding 16k2 sectors of bank 15 */
 { &flash_128x64kw[0], (char *) 0x06700000, MANUFACT_AMD, 0x0900,
      FFS_DRIVER_AMD_MIRROR_BIT,  15},   
#endif
                     
   /* Caisheng: spansion S71NS128NB0 */
// { &flash_128x64kw[0], (char *) 0x06400000, MANUFACT_AMD, 0x0900,
 /*{ &flash_128x64kw[0], (char *) 0x06800000, MANUFACT_AMD, 0x3500,
      FFS_DRIVER_AMD_MIRROR_BIT,  63},  //fangcj:  last 4 blocks should be discard because its size is 32k bytes*/
     { &flash_128x64kw[0], (char *) 0x06300000, MANUFACT_AMD, 0x3500,
      FFS_DRIVER_AMD_MIRROR_BIT,  8},  

    /********** Fujitsu Devices *******************************************/

    // Fujitsu MBM29DL321TD. Using 8x8kB sectors.
    { &flash_8x8[0],   (char *) 0x3f0000, MANUFACT_FUJITSU, 0x2259,
      FFS_DRIVER_AMD,  8 },

    // Fujitsu MBM29DL322TD. Ignoring all the 8kB sectors
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_FUJITSU, 0x2255,
      FFS_DRIVER_AMD,  7 },

    // Fujitsu MBM29DL323TD (BSample). Dual bank device definition.
    { &flash_16x64[0], (char *) 0x300000, MANUFACT_FUJITSU, 0x2250,
      FFS_DRIVER_AMD, 15 },

    // Fujitsu MBM29DL161DT (similar to Am29DL161T). 
    { &flash_8x8[0],   (char *) 0x1F0000, MANUFACT_FUJITSU, 0x2236,
      FFS_DRIVER_AMD,  8 },

    // Fujitsu MBM29DL162DT (similar to Am29DL162T).
    { &flash_16x64[0], (char *) 0x1C0000, MANUFACT_FUJITSU, 0x222D,
      FFS_DRIVER_AMD,  3 },

    // Fujitsu MBM29DL163DT (similar to Am29DL163T).
    { &flash_16x64[0], (char *) 0x180000, MANUFACT_FUJITSU, 0x2228,
      FFS_DRIVER_AMD,  7 },

    // Fujitsu MBM29DL164DT (similar to Am29DL164T).
    { &flash_16x64[0], (char *) 0x100000, MANUFACT_FUJITSU, 0x2233,
      FFS_DRIVER_AMD, 15 },

    // RITA flash configuration Multi-id device: 0x227E, 0x220A, 0x2200 
    // Fujitsu MBM29DL320BF, Ignoring the 8kB sectors
    { &flash_16x64[0], (char *) 0x320000, MANUFACT_FUJITSU, 0x0A00,
      FFS_DRIVER_AMD_SB, 13 },

    // Fujitsu  84VF5F5F4J2, Multi-id device: 0x227E, 0x2202, 0x2201
    { &flash_16x64[0], (char *) 0x04700000, MANUFACT_FUJITSU, 0x0201,
      FFS_DRIVER_AMD_SB, 15 },

    // Fujitsu 84VP24491HK-70, Esample Rev3 Multi-id device: 0x227E, 0x2221,
    // 0x2200
    { &flash_16x64[0], (char *) 0x04700000, MANUFACT_FUJITSU, 0x2100,
      FFS_DRIVER_AMD_SB, 15 },

    // Fujitsu MB84VF5F5F4J2 stacked device. Using the 2nd sub device. The
    // 8x8kB blocks are located both in top and bottom, thus only 126 64kB
    // blocks are used.
    { &flash_128x64[0], (char *) 0x1810000, MANUFACT_FUJITSU, 0xB496,
      FFS_DRIVER_AMD_SB, 126 },

    /********** Intel Devices *********************************************/
#ifdef INTEL_FLASH
    // wangwang : this is for fwp 32x16 flash config
    { &flash_8x64[0],   (char *) 0x06380000, MANUFACT_INTEL,   0x8872,
      //FFS_DRIVER_INTEL, 15},
      //FFS_DRIVER_INTEL,10},//maggie 2007-10-06
      FFS_DRIVER_INTEL,7},//maggie 2007-10-13
      //FFS_DRIVER_INTEL,5},//maggie 2007-10-23
      
    // Intel 28F160C3-T 16Mb. Using top-most 8x8kB (parameter) sectors.
    { &flash_8x8[0],   (char *) 0x1F0000, MANUFACT_INTEL,   0x88C2,
      FFS_DRIVER_INTEL_SB,  8 },

    // Intel 28F160C3-B, 16Mb. Using top-most 6x64kB sectors
    { &flash_16x64[0], (char *) 0x1A0000, MANUFACT_INTEL,   0x88C3,
      FFS_DRIVER_INTEL_SB,  6 },

    // Intel 28F320C3-T, 32Mb. Using top-most 8x8kB (parameter) sectors.
    { &flash_8x8[0],   (char *) 0x3F0000, MANUFACT_INTEL,   0x88C4,
      FFS_DRIVER_INTEL_SB,  8 },

    // Intel 28F320C3-B, 32Mb. Using top-most 8x64kB sectors
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_INTEL,   0x88C5,
      FFS_DRIVER_INTEL_SB,  8 },

    // Intel 28F640C3-T, 64Mb. Using top-most 8x8kB (parameter) sectors.
    { &flash_8x8[0],   (char *) 0x7F0000, MANUFACT_INTEL,   0x88CC,
      FFS_DRIVER_INTEL_SB,  8 },

    // Intel 28F640C3-B, 64Mb. Using top-most 16x64kB sectors
    { &flash_16x64[0], (char *) 0x700000, MANUFACT_INTEL,   0x88CD,
      FFS_DRIVER_INTEL_SB, 15 },

    // Intel 28F640W30-T, 64Mb. Using top-most 8x8kB sectors
    { &flash_8x8[0], (char *) 0x7F0000, MANUFACT_INTEL,   0x8854,
      FFS_DRIVER_INTEL_SB, 8 },

    // Intel 28F640W30-B, 64Mb. (DSample). Using top-most 47x64kB sectors
//    { &flash_128x64[0], (char *) 0x500000, MANUFACT_INTEL,   0x8855,
//      FFS_DRIVER_INTEL_SB, 47 },

	// Intel 28F640W30-B, 64Mb. (DSample). Using top-most 15x64kB sectors
    { &flash_16x64[0], (char *) 0x700000, MANUFACT_INTEL,   0x8855,
      FFS_DRIVER_INTEL, 15 },

    // Intel 28F640W30-B, 64Mb. (DSample). Using top-most 15x64kB sectors
    { &flash_16x64[0], (char *) 0x700000, MANUFACT_INTEL,   0x88FF,
      FFS_DRIVER_INTEL_SB, 15 },

    // Intel StrataFlash (ESample). 
    { &flash_8x128[0], (char *) 0x4700000, MANUFACT_INTEL,   0x8812,
      FFS_DRIVER_INTEL_BW, 8 },
      
  /* fangcj added intel flash */
 { &flash_128x64kw[0], (char *) 0x06400000, MANUFACT_INTEL, 0x8809,
      FFS_DRIVER_INTEL_BW,  32},  
#endif
    /********** MXIC Devices *******************************************/

        // Intel 28F640W30-T, 64Mb. Using top-most 8x8kB sectors
    { &flash_8x8[0], (char *) 0x3F0000, MANUFACT_MXIC,   0x0024,
      FFS_DRIVER_INTEL_SB, 8 },


    /********** Samsung Devices *******************************************/

    // Samsung K5A3240YT Top boot, 24Mb + 8Mb
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_SAMSUNG, 0x22B7,
      FFS_DRIVER_AMD_SB,  7 },

    // Samsung K5A3340YT Top boot, 16Mb + 16Mb
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_SAMSUNG, 0x22BA,
      FFS_DRIVER_AMD_SB,  7 },

    // Samsung K5A3240YB Bottom boot, 8Mb + 24Mb
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_SAMSUNG, 0x223F,
      FFS_DRIVER_AMD_SB,  8 },

    // Samsung K5A3340YB Bottom boot, 14Mb + 18Mb (!?)
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_SAMSUNG, 0x223D,
      FFS_DRIVER_AMD_SB,  8 },


    /********** SST Devices ***********************************************/

    // SST SST36VF1601
    { &flash_16x64[0], (char *) 0x180000, MANUFACT_SST,     0x2761,
      FFS_DRIVER_SST,  8 },

    /********** Toshiba Devices *******************************************/

    // Toshiba TH50VSF2581AASB Bottom boot combo device
    { &flash_16x64[0], (char *) 0x380000, MANUFACT_TOSHIBA, 0x009C,
      FFS_DRIVER_AMD,  8 },


    /********** Special/Test Devices **************************************/

    // For PC simulation the following syntax is used instead of the device
    // code: 0xYYZZ where YY is number of blocks and ZZ is the size of the
    // blocks but as 2^ZZ

    // PC Test/Simulation flash 16x64kB (1MB)
    { &flash_16x64[0], (char *) 0x000000, MANUFACT_TEST,    0x0F10,
      FFS_DRIVER_TEST, 15 },

    // PC Test/Simulation flash 128x64kb (almost 8MB)
    { &flash_128x64[0], (char *) 0x000000, MANUFACT_TEST,   0x8010,
      FFS_DRIVER_TEST, 127 },

    // PC Test/Simulation flash 8x128kB (1MB strata alike block size)
    { &flash_8x128[0], (char *) 0x000000, MANUFACT_TEST,    0x0811,
      FFS_DRIVER_TEST_BW, 8 },

    // PC Test/Simulation flash 8x8kB (64kB)
    { &flash_8x8[0],   (char *) 0x000000, MANUFACT_TEST,    0x080D,
      FFS_DRIVER_TEST, 8 },

    // PC Test/Simulation flash 4x4kB (16kB)
    { &flash_8x4[0],   (char *) 0x000000, MANUFACT_TEST,    0x0404,
      FFS_DRIVER_TEST, 4 },

    // terminator
    { 0, 0, 0, 0 }
};

⌨️ 快捷键说明

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