前言:
     最近在做ambarella s2l系列项目时,由于flash容量不够,需要将16M的spi nor flash(W25Q128)增大到32M spi nor flash (W25Q256)。由于amba默认sdk没有对W25Q256有很好的支持,因此调试过程中碰到了一些问题,现将调试过程中碰到的问题及解决方法记录如下:
1.flash容量没有增大,分区失败问题:
make menuconfig 中配置:
ambarella_spinor.c中增加w25q256
2.reboot失败问题
修改以上两个地方之后,flash容量已经增大到32M,分区也成功了,但是在soft reset的时候出现系统卡死,复位失败,如下
一直停留在此位置。。。
之后在网上参考了这个博客:
http://blog.csdn.net/manfeel/article/details/43530817
具体的reboot流程请参考上面这博客。
    大概是说系统默认支持24bit(3byte)的spi地址模式,而要支持32M以上的spi flash,则必须切换到32bit(4byte)地址模式.在soft reset的时候,spi停留在了32bit模式,没有切换回默认的24bit模式,导致reset后,S2L在默认的24bit模式,无法和32bit模式的spi通讯,系统死机.
需要通过设备驱动中一个shutdown的方法来解决问题。
查阅ambarella_spinor.c的代码,发现驱动中已经有了shutdown的方法。
那为什么还是失败呢?
继续跟踪。。。
发现这个位置,在winbond的flash时直接就return了,直接参考下一个的代码,修改如下:
最终问题解决。
成功重启。.
总结:
     通过注册设备的shutdown方法,让我们有机会在系统重启的时刻,做一些deinit的操作.通过此种方法来复位spi flash。

让ambarella s2l 支持32M SPI Flash(W25Q256)相关推荐

  1. Xilinx FPGA支持的SPI Flash配置芯片型号

    文章目录 支持的SPI Flash芯片型号 7 系列的FPGA支持的SPI Flash芯片型号 Virtex和Spartan系列支持的SPI芯片型号 支持的BPI Flash芯片 7系列支持的BPI ...

  2. mtk7620(斐讯K2)openwrt 18.06.1 固件 硬改 华邦winbond的W25Q256FV 32M spi flash

    网上的很多方法都是错的,网上很多编译好的固件只支持8M 或者16M flash,根本不支持32M flash,有的根本启动不了,有的就算能启动,启动后会出没有无线的问题. 笔者在https://git ...

  3. lichee linux nfs,SPI Flash 系统编译

    在一些低成本应用场景,需要在SPI flash上启动系统,这需要对Uboot和系统镜像做些适配. 本文介绍SPI Flash镜像的制作过程. 这里 使用 MX25L25645G, 32M SPI fl ...

  4. 移植SFUD,驱动SPI FLASH ZD25WQ80

    1.关于SFUD SFUD (Serial Flash Universal Driver) 串行 Flash 通用驱动库,支持众多spi flash,关于SFUD的详细资料可参考:https://gi ...

  5. Licheepi zero SPI Flash 系统编译

    Licheepi zero SPI Flash 系统编译 在一些低成本应用场景,需要在SPI flash上启动系统,这需要对Uboot和系统镜像做些适配. 本文介绍SPI Flash镜像的制作过程. ...

  6. 【STM32H7教程】第85章 STM32H7的SPI 总线应用之SPI Flash的STM32CubeProg下载算法制作

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第85章       STM32H7的SPI 总线应用之SPI ...

  7. 荔枝派Zero(V3s)SPI Flash 启动

    参考:http://zero.lichee.pro/系统开发/SPI_flash_build.html#linux 本文以型号为MX25L12805.MX25L25635F为例,flash大小分别为1 ...

  8. 如何给ESP32选择外接SPI Flash

    给ESP32选择外接SPI Flash [前言]:  许多用户在使用 ESP32 做开发的时候,都会碰到如何选择外接 Flash 的难题,因为不同厂商的 Flash 存在很多差异,Flash 支持的工 ...

  9. Lichee Zero SPI Flash编译实战记录

    1.系统 物理机 ubuntu1804 2.创建编译环境 1)下载 gcc-linaro-6.3.1-2017.02-x86_64_arm-linux-gnueabihf.tar.xz wget ht ...

最新文章

  1. 在product search result里点击某个product出现白屏问题
  2. matlab球心投影,球心投影
  3. ddos攻击工具_简单有效的ddos攻击防御方法
  4. STM32中的位带(bit-band)操作
  5. java 执行 awk_3.1 biostar lesson3 linux学习日记;java版本;awk
  6. 设置电脑系统密码以及桌面密码
  7. mini2440 貌似复杂的mmu
  8. python 命令模式_python设计模式(十六):命令模式-阿里云开发者社区
  9. 在无锡调试的工作,到了泰安出错了
  10. 计算机iso接口是什么意思,isofit和isofix接口什么区别
  11. FPGA学习.7——DDS信号发生器
  12. 组合数学——计数原理和计数公式
  13. Centos8怎么进行复位清屏? Centos8终端复位清屏的技巧
  14. 冒泡排序法(C语言实现)
  15. qq话题怎么引流?QQ空间说说引流技巧,QQ引流有什么好方法?
  16. python中prompt的意思_selenium+Python(alert 、confirm 、prompt 的处理)
  17. 高斯判别分析(GDA)Python代码
  18. 互联收集金融,其实是门苦商业
  19. tp5使用monolog_使用Monolog记录:从Devtools到Slack
  20. 诺奖得主本庶佑:真正一流的工作往往没有在顶级刊物上发表!

热门文章

  1. ctf比赛/学习资源整理,记得收藏!
  2. Yolov5如何在训练意外中断后接续训练
  3. 上海万国驾校 科目三考试
  4. 南京润和,哎,感概!
  5. 你未来的职业规划是什么?
  6. Java虚拟机--判断可触及性(七)
  7. 电脑桌面云便签怎么绑定和开启微信提醒?
  8. 服务器centos系统诛仙,云服务器搭建诛仙教程
  9. C++语言基础——C++一本通:C++语言入门 1005:地球人口承载力估计
  10. 计算机一级抵多少学分,学分冲抵规定