fix nand_formatter_kmc

git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/twl_wrapsdk/trunk@152 4ee2a332-4b2b-5046-8439-1ba90f034370
This commit is contained in:
shirait 2007-06-29 13:01:05 +00:00
parent d6462f9aa5
commit 89ecd85df0
2 changed files with 19 additions and 14 deletions

View File

@ -63,7 +63,7 @@ static int nand_calculated_fat_params = 0;
*---------------------------------------------------------------------------*/
static void sdi_get_CHS_params( void);
static u32 sdi_get_ceil( u32 cval, u32 mval);
static void sdi_get_nom( u16 min_nom);
static void sdi_get_nom( u32 min_nom);
static void sdi_get_fatparams( void);
static void sdi_build_partition_table( void);
@ -77,13 +77,13 @@ u32 NAND_FAT1_SECTORS;
u32 NAND_FAT2_SECTORS;
u32 NAND_FAT3_SECTORS;
void nandSetFormatRequest( u16 partition_num, u16* partition_mbytes)
void nandSetFormatRequest( u16 partition_num, u32* partition_sectors)
{
NAND_RAW_SECTORS = (partition_mbytes[0] * 1024 * 1024) / 512;
NAND_FAT0_SECTORS = ((partition_mbytes[1] * 1024 * 1024) / 512) + NAND_RAW_SECTORS;
NAND_FAT1_SECTORS = (partition_mbytes[2] * 1024 * 1024) / 512;
NAND_FAT2_SECTORS = (partition_mbytes[3] * 1024 * 1024) / 512;
NAND_FAT3_SECTORS = (partition_mbytes[4] * 1024 * 1024) / 512;
NAND_RAW_SECTORS = partition_sectors[0];
NAND_FAT0_SECTORS = partition_sectors[1] + NAND_RAW_SECTORS;
NAND_FAT1_SECTORS = partition_sectors[2];
NAND_FAT2_SECTORS = partition_sectors[3];
NAND_FAT3_SECTORS = partition_sectors[4];
NAND_FAT_PARTITION_COUNT = partition_num;
}
@ -527,7 +527,7 @@ static u32 sdi_get_ceil( u32 cval, u32 mval)
/*マスターブートセクタのセクタ数を返す*/
static void sdi_get_nom( u16 MIN_NOM)
static void sdi_get_nom( u32 MIN_NOM)
{
u32 RSC[4];
u32 TS[4];

View File

@ -28,7 +28,7 @@
extern void nandSetFormatRequest( u16 partition_num, u16* partition_mbytes);
extern void nandSetFormatRequest( u16 partition_num, u32* partition_sectors);
/*---------------------------------------------------------------------------*
@ -138,7 +138,7 @@ void TwlSpMain(void)
byte TEST_FILENAME[] = "\\nand_p0_test.bin";
byte VOLUME_LABEL[] = "F:";
u16 nand_fat_partition_num; //FATパーティション数
u16 partition_MB_size[5]; //パーティション毎の容量
u32 partition_MB_size[5]; //パーティション毎の容量
/**/
u32 block_buf[512/4];
u32 arm9_ofs, arm9_size, arm7_ofs, arm7_size;
@ -236,9 +236,9 @@ void TwlSpMain(void)
}
nand_fat_partition_num++;
DBG_PRINTF( "FAT PARTITION 3 SIZE?(MBytes) -> ");
partition_MB_size[INDEX_FAT3_PARTITION] = get_number_prompt();
DBG_PRINTF( " (%d MBytes)\n\n", partition_MB_size[INDEX_FAT3_PARTITION]);
// DBG_PRINTF( "FAT PARTITION 3 SIZE?(MBytes) -> ");
// partition_MB_size[INDEX_FAT3_PARTITION] = get_number_prompt();
// DBG_PRINTF( " (%d MBytes)\n\n", partition_MB_size[INDEX_FAT3_PARTITION]);
break;
}
#endif
@ -304,8 +304,13 @@ NAND_FLASH_FORMAT_START:
/*--------------------*/
/*パーティション構成をライブラリに要求*/
/*--- パーティション構成をセクタ単位にしてライブラリに要求 ---*/
for( i=0; i<4; i++) {
partition_MB_size[i] *= ((1024 * 1024) / 512);
PRINTDEBUG( "p%d : %d\n", i, partition_MB_size[i]);
}
nandSetFormatRequest( nand_fat_partition_num, partition_MB_size);
/*------------------------------------------------------------*/
/*マウント*/
if( nandRtfsAttach( 5, 0) == FALSE) { //nandパーティション0をFドライブにする