STM32F429之五:nandflash+文件系统

1.nandflash初始化

    包含两部分:1.位宽等、延时与cpu无关的参数设置;2.与cpu有关的引脚初始化。(可直接参考例程)

2.文件系统格式化

1.首先分为两个区,用户区和系统区。 0:用户区; 1:系统区

2.坏块管理:擦除块,并建立逻辑块到物理块的转换表 vtable,逻辑分区小于物理分区,因为可能存在坏块。

3.将转换表保存在数据区

4.挂载用户区 f_mount(0, &usrfs); -> FatFs[vol] = fs;

5.创建用户区文件系统 f_mkfs(0, 0, 4096); ->disk_write -> nand_flash_write(nand_usr, sector, temp, count);根据分区选择不同资源,进而操作不同分区。

void nand_flash_create_fs(void)
{
    int i;
    int block = 1;
    unsigned char ret = 0;
    unsigned char buff[2048] = {'F','O','R','M','A','T',};
    
    ret = NF_EraseBlock(0); //擦除第一个块

    if (ret&0x1)
    {
        printf("Block 0 is error\r\n");
        return;
    }

    vtable[0] = 0; //转换表

    for (i=1; i BLOCK_NUM_SYS+BLOCK_NUM_USR+1)
        {
            break;
        }
    }

    block = 0;
    for (; i


你可能感兴趣的:(STM32F429)