Embededlinux之mtdnand

 应用层:(使用mtd ioctl)

0.获取mtd基本信息

struct mtd_info_user {
unsigned char type;  //flash类型
unsigned int flags;
unsigned int size;     //分区大小
unsigned int erasesize; //块大小
unsigned int wri     te   size;  //页数据大小
unsigned int oobsize;    //OOB大小
unsigned int ecctype;   //ECC类型
unsigned int ec     csi   ze;    //ECC大小
};

fd = open("/dev/mtd", O_RDWR);

ioctl(fd, MEMGE     TI   NFO, &mtd_info);

1.读页数据

2.写页数据

unsigned char pag     eda   te[2048] = {...};

write(fd, pagedate, mtd_info.writesize);

3.读OOB

struct mtd_oob_buf {
unsigned int start;
unsigned int length;
unsigned char *ptr;
};

unsigned char oobbuf2[64];

OOB_INFO.start = page_num * (2048);
OOB_INFO.ptr = oobbuf2;
ioctl(fd, MEMREADOOB, &OOB_INFO);

4.写OOB

unsigned char oobbuf[64] = {...};

OOB_INFO.start = page_num * (2048);
OOB_INFO.ptr = oobbuf;
ioctl(fd, MEMWRITEOOB, &OOB_INFO);

 Embededlinux之mtdnand_设计制作_RF/无线 mtd demo



25
60
0
22

相关资讯

  1. 1、可编程逻辑器件和ASIC对比介绍1676
  2. 2、出售大族机器人50%股权,大族激光获利1.24亿696
  3. 3、汽车电池出现安全故障前的5种异常现象3517
  4. 4、python中的变量和算术运算符以及赋值运算符270
  5. 5、智能物流成行业大势,末端配送短板今年有望解决4308
  6. 6、你了解这些超酷的编程新工具?93
  7. 7、提高电力系统稳定性主要从哪两方面着手884
  8. 8、皮尔磁:可编程控制器PNOZmulti2助力中国风电建设2216
  9. 9、水雨情和山洪地质灾害监测系统的工作原理及应用功能4791
  10. 10、采用AVR单片机和GTJ4-10A固态继电器实现实时测量监控系统的设计4695
全部评论(0)
我也有话说
0
收藏
点赞
顶部