你好,打扰了,我们现在在IMX6DL的芯片产品中遇到启动问题!norflash不知道怎么子uboot中配置,我们是用一个EIM接口的 S29GL128S 闪存芯片,关于这个接口的资料很少,我们不知道EIM接口norflash在uboot怎么配置启动!我们也问了闪存技术商问题,以下是技术商的文档,但是文档太笼统了,还是没有办法解决现有的问题,norflash未能启动成功,希望能有什么代码例子参考下,忘得到回复!
Original Attachment has been moved to: support-EIM-parallel-NOR-flash--(1).txt.zip
Hello zhilin,
在IMX6DL上使用并行nor flash,你需要这样来做:
(1)按照 i.mx6dl reference manual 中boot mode章中描述的方式,配置硬件,从NOR Flash启动系统。
(2)u-boot中代码,请参考u-boot / board/ freescale/mx6qsabreauto/mx6qsabreauto.c中,对EIM 接口的复用配置、CS0的配置及调用方法;以及u-boot/include/configs/mx6qsabreauto.h中 与nor flash有关的宏定义的打开。
(3)u-boot Nor flash驱动有关的文件。
u-boot/drivers/mtd/cfi_flash.c
u-boot/include/flash.h
在flash.h文件中,没有找到对这个nor flash的定义,你需要自己把它加进去。
Have a nice day!
Best Regards,
TIC weidong sun
你好,Wigros Sun
非常感谢你的回答,辛苦了您了,现在我还是碰到有点问题。
我现在是想在SD卡启动的uboot 进行烧写 norflash 的uboot 通过 tftpboot
我现在的软件环境是:
现在想利用SD 卡的 uboot 升级 uboot-emi-nor
参考:i.MX_Linux_User's_Guide.pdf 中
Flashing U-Boot on Parallel NOR from U-Boot 的升级方式烧写
移植过程中我是参考了
include/configs/mx6qsabreauto.h
board/freescale/mx6qsabreauto/mx6qsabreauto.c
把他移植到:
mx6sabresd.c
和mx6sabresd.h
中
按照你说的我把对EIM 接口的复用配置、CS0的配置及调用方法 都加上去了,
现在是卡死在
Query mode 中
下面是uboot 调试信息:
...................
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
initcall: 178183a4 (relocated to 4ff613a4)
initcall: 17811f4c (relocated to 4ff5af4c)
initcall: 17811f30 (relocated to 4ff5af30)
Now running in RAM - U-Boot at: 4ff49000
initcall: 1780441c (relocated to 4ff4d41c)
initcall: 17811fe8 (relocated to 4ff5afe8)
Flash: flash detect cfi
fwc addr 08000000 cmd f0 f0f0 16bit x 8 bit // 卡死在: drivers/mtd/cfi_flash.c 中
经过过分析:
期待您的回复,谢谢!