[i.MX] MX6Q_SABRESD:linux访问uboot env问题

[复制链接]
5274|18
 楼主| ketp 发表于 2014-8-7 23:31 | 显示全部楼层 |阅读模式
源码uboot-imx\tools\env下只支持mtd,有没有支持emmc的版本了
FSL_TICS_A 发表于 2014-8-8 09:29 | 显示全部楼层
你好,楼主!
我会将你的问题转告给i.MX工程师,他稍后会回复你的。
 楼主| ketp 发表于 2014-8-10 21:17 | 显示全部楼层
我自己结一下:
1、配置fw_env.config,并copy到/etc/下,其实编译的时候不需要这个配置文件,是运行的时候解析的
/dev/mmcblk0        0xc0000                0x2000                0x2000                       
2、修改fw_env.c, 去掉两个ioctl操作,并把DEVTYPE改为nor flash
/*
  if (ioctl (fd, MEMERASE, &erase) != 0) {
   fprintf (stderr, "MTD erase error on %s: %s\n",
     DEVNAME (dev),
     strerror (errno));
   return -1;
  }
*/
/*
rc = ioctl (fd, MEMGETINFO, &mtdinfo);
if (rc < 0) {
  perror ("Cannot get MTD information");
  return -1;
}

if (mtdinfo.type != MTD_NORFLASH && mtdinfo.type != MTD_NANDFLASH) {
  fprintf (stderr, "Unsupported flash type %u\n", mtdinfo.type);
  return -1;
}

DEVTYPE(dev_current) = mtdinfo.type;
*/
DEVTYPE(dev_current) = MTD_NORFLASH;
FSL_TICS_Rita 发表于 2014-8-12 16:55 | 显示全部楼层
楼主你好,请问你使用的BSP版本是哪个?
FSL_TICS_Rita 发表于 2014-8-15 17:04 | 显示全部楼层
楼主你好,请问你使用的是哪个版本的BSP?
 楼主| ketp 发表于 2014-8-22 22:33 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-8-15 17:04
楼主你好,请问你使用的是哪个版本的BSP?


L3.0.35_4.1.0_130816_source.tar   
mx6q_sabresd
晓宇2010 发表于 2014-8-23 21:13 | 显示全部楼层
ketp 发表于 2014-8-10 21:17
我自己结一下:
1、配置fw_env.config,并copy到/etc/下,其实编译的时候不需要这个配置文件,是运行的时候 ...

楼主,请问你的能写入吗?我的写crc校验操作失败,被恢复成默认的
FSL_TICS_Rita 发表于 2014-8-25 16:22 | 显示全部楼层
晓宇2010 发表于 2014-8-23 21:13
楼主,请问你的能写入吗?我的写crc校验操作失败,被恢复成默认的

你好,请问你的是什么情况,遇到的问题和和楼主一样的么?
FSL_TICS_Rita 发表于 2014-8-25 16:24 | 显示全部楼层
楼主你好,帖中源码uboot-imx\tools\env是android源码的目录吧。不是Linux的。
晓宇2010 发表于 2014-8-25 16:34 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-8-25 16:22
你好,请问你的是什么情况,遇到的问题和和楼主一样的么?

我的开发板也是emmc的,我想访问下uboot中的环境变量,
fw_env.config确定为下面的参数(最后一个不确定,不过我写512和1024好像都不影响)
/dev/mmcblk0        0xc0000                0x2000                0x2000     

单纯改这个文件,执行fw_printenv无效,根据楼主的方法,改了源码,读取是可以了,但我一些如就crc校验失败,uboot变量被回复成默认的了
晓宇2010 发表于 2014-8-25 17:13 | 显示全部楼层
FSL_TICS_Rita 发表于 2014-8-25 16:24
楼主你好,帖中源码uboot-imx\tools\env是android源码的目录吧。不是Linux的。

对应我的linux的目录是u-boot-2009.08/tools/env/
FSL_TICS_Rita 发表于 2014-8-25 17:32 | 显示全部楼层
楼主你好, 我也没有修过过,这里建议你参考文档http://bbs.**/thread-372532-1-1.html修改试一下,希望对你有用。



FSL_TICS_Rita 发表于 2014-8-25 17:33 | 显示全部楼层
晓宇2010 发表于 2014-8-25 17:13
对应我的linux的目录是u-boot-2009.08/tools/env/

你好, 我也没有修过过,这里建议你参考文档http://bbs.**/thread-372532-1-1.html修改试一下,希望对你有用。


zekezang 发表于 2014-8-26 13:01 | 显示全部楼层
楼主你好,试了你的方法mmc,一直报crc错误,是config没有配置对,还是别的什么原因啊
FSL_TICS_Rita 发表于 2014-8-26 14:30 | 显示全部楼层
zekezang 发表于 2014-8-26 13:01
楼主你好,试了你的方法mmc,一直报crc错误,是config没有配置对,还是别的什么原因啊 ...

这个我这边也没有试过,建议你看一下12楼我给的另外一个链接,希望对你有帮助~~
 楼主| ketp 发表于 2014-8-28 01:42 | 显示全部楼层
晓宇2010 发表于 2014-8-23 21:13
楼主,请问你的能写入吗?我的写crc校验操作失败,被恢复成默认的

可以写入
 楼主| ketp 发表于 2014-8-28 01:44 | 显示全部楼层
zekezang 发表于 2014-8-26 13:01
楼主你好,试了你的方法mmc,一直报crc错误,是config没有配置对,还是别的什么原因啊 ...

你先在uboot下改个变量,再保存, 然后到linux下再修改试试
晓宇2010 发表于 2014-8-31 23:42 | 显示全部楼层
ketp 发表于 2014-8-28 01:44
你先在uboot下改个变量,再保存, 然后到linux下再修改试试

xiaoyu$ fw_setenv bootcmd_mmc_android dfhdjkgjfdkgf                       
Warning: Bad CRC, using default environment
End of range reached, aborting
Error: can't write fw_env to flash


xiaoyu$ fw_printenv                  
bootcmd=bootp; setenv bootargs root=/dev/nfs nfsroot=${serverip}:${rootpath} ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off; bootm
bootdelay=5
baudrate=115200
bootcmd_mmc_android=dfhdjkgjfdkgf

版主,能否帮忙验证下,我的不改fw_printenv的源码是读不出来,提示:
Cannot get MTD information: Invalid argument
参考楼主的改了后可以读出来,但写不进入,一写就提示以上错误~~~

硬件:使用的8G emmc
zekezang 发表于 2014-9-1 09:10 | 显示全部楼层
ketp 发表于 2014-8-28 01:44
你先在uboot下改个变量,再保存, 然后到linux下再修改试试

Hi,楼主,换了一个途径,没有再继续调这个,感谢帮忙
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部