当前位置: 技术问答>linux和unix
linux内核空间操作flash mtd问题
来源: 互联网 发布时间:2016-05-08
本文导语: 各位大侠, 遇到一问题,我想实现在linux kernel crash的时候加入写flash操作,然后重启。我在crash handler function die()中实现重启没问题,但是读写flash操作就没有头绪了。 哪位大侠给些提示,如何在此...
各位大侠,
遇到一问题,我想实现在linux kernel crash的时候加入写flash操作,然后重启。我在crash handler function die()中实现重启没问题,但是读写flash操作就没有头绪了。
哪位大侠给些提示,如何在此时访问mtd呢?
多谢
遇到一问题,我想实现在linux kernel crash的时候加入写flash操作,然后重启。我在crash handler function die()中实现重启没问题,但是读写flash操作就没有头绪了。
哪位大侠给些提示,如何在此时访问mtd呢?
多谢
|
struct mtd_info *mtd = NULL;
int retlen;
mtd = get_mtd_device(NULL, 0);
if (mtd == NULL)
return -ENODEV;
addr = kmalloc(DATA_SIZE, GFP_KERNEL);
if (!addr)
return -ENOMEM;
/* DATA begins from 0x800 */
if (mtd->writesize == 2048)
mtd->read(mtd, 0x800, DATA_SIZE, &retlen, addr);
|
内核空间读写FLASH那就直接调用:
static ssize_t mtd_read(struct file *file, char *buf, size_t count,loff_t *ppos)
static ssize_t mtd_write(struct file *file, const char *buf, size_t count,loff_t *ppos)
static ssize_t mtd_read(struct file *file, char *buf, size_t count,loff_t *ppos)
static ssize_t mtd_write(struct file *file, const char *buf, size_t count,loff_t *ppos)
|
你是指读写bios吗?
系统启动会从引导去载入启动程序,启动程序在加载操作系统程序,你是想在重启之后读取bios?
系统启动会从引导去载入启动程序,启动程序在加载操作系统程序,你是想在重启之后读取bios?
|
学习!