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、2019年并联机器人市场分析1679
  2. 2、江苏有线与中国铁塔战略合作,“广电+铁塔”参与5G竞争210
  3. 3、2018年中国机床工具行业要闻回顾3771
  4. 4、楼宇2.0时代,产业园区肩负使命3119
  5. 5、呼吸机中常用的传感器4736
  6. 6、湿度测量的发展和电子式湿度传感器法介绍2365
  7. 7、电容式的传感器的工作原理图2593
  8. 8、需要了解的Linux系统中一些针对文件系统的节能技巧1526
  9. 9、利用TIDLP®技术驱动结构光系统实现箱拣精度937
  10. 10、法士特的入主能否拯救陷入“退市风险”的秦川机床?302
全部评论(0)
我也有话说
0
收藏
点赞
顶部