#include #include #include #include #include #include #include int main() { int fd = open("/dev/null", 0); struct mtd_info_user minfo; struct erase_info_user einfo; struct erase_info_user64 einfo64; struct mtd_oob_buf mbuf; struct mtd_oob_buf64 mbuf64; struct region_info_user rinfo; /* struct otp_info oinfo; */ struct mtd_ecc_stats estat; struct mtd_write_req mreq; struct nand_oobinfo ninfo; struct nand_ecclayout_user nlay; off_t f = 333; memset(&einfo, 0, sizeof(einfo)); memset(&einfo64, 0xff, sizeof(einfo64)); ioctl(fd, MEMGETINFO, &minfo); ioctl(fd, MEMERASE, &einfo); ioctl(fd, MEMERASE64, &einfo64); ioctl(fd, MEMGETBADBLOCK, &f); int i = 0; ioctl(fd, OTPSELECT, &i); ioctl(fd, MEMSETBADBLOCK, &f); ioctl(fd, MEMREADOOB, &mbuf); ioctl(fd, MEMREADOOB64, &mbuf64); ioctl(fd, MEMGETREGIONINFO, &rinfo); ioctl(fd, ECCGETSTATS, &estat); ioctl(fd, MEMWRITE, &mreq); ioctl(fd, MEMGETOOBSEL, &ninfo); ioctl(fd, ECCGETLAYOUT, &nlay); return 0; }