博客
关于我
Xilinx Zynq pl353-nand使用
阅读量:365 次
发布时间:2019-03-05

本文共 1766 字,大约阅读时间需要 5 分钟。

FPGA与NAND存储器配置及常见问题解决方案

FPGA配置

在使用FPGA时,首先需要在Vivado开发环境中设置NAND存储器的参数。具体步骤如下:

  • 打开Vivado IDE,创建一个新的项目。
  • 在项目中添加一个NAND存储器块。
  • 在NAND存储器的属性中,设置合适的参数,如芯片类型、块大小、擦除区间等。
  • 通过用户自定义的IP核或预定义的核进行接口配置,确保与系统总线和其他硬件兼容。
  • u-boot配置

    在u-boot中配置NAND存储器参数,确保系统能够正确识别和访问NAND设备。

  • 在u-boot的配置文件中,启用NAND支持:
    #define CONFIG_NAND#define CONFIG_NAND_ZYNQ
  • 设置mtd设备的ID映射:
    #define MTDIDS_DEFAULT "nand0=pl353-nand"#define MTDPARTS_DEFAULT "mtdparts=pl353-nand:128k(rcw),219008k(rootfs),32m(rd),128k(dtb),9088k(kernel),128k(fman),128k(bootenv),768k(boot)"
  • 根据需要调整NAND存储器的分区配置,确保各分区大小和 offset正确。
  • NAND存储器操作

    在u-boot环境下,通过NAND子系统命令进行操作和管理。

  • 查看NAND设备信息:
    zynq-uboot> nand info
  • 切换到指定的NAND设备:
    zynq-uboot> nand device [dev]
  • 执行读写操作:
    zynq-uboot> nand read -addr off|partition sizezynq-uboot> nand write -addr off|partition size
  • 擅自读取或写入数据时,可使用raw命令:
    zynq-uboot> nand read.raw -addr off|partition [count]zynq-uboot> nand write.raw -addr off|partition [count]
  • Linux驱动配置

    在Linux内核中,配置NAND驱动以支持Winbond W29N01HV芯片。

  • 启用相关配置:
    CONFIG_PL35X_SMC=yCONFIG_MTD_NAND=yCONFIG_MTD_NAND_PL35X=y
  • 确保NAND驱动文件已加载:
    drivers/mtd/nand/pl353_nand.c
  • 常见问题解决

    在实际使用过程中,可能会遇到以下问题:

  • 内核启动错误

    • 错误信息表明NAND设备无法正确初始化:
      NAND: device found, Manufacturer ID: 0xef, Chip ID: 0xf1NAND: Unknown W29N01HV
    • 通过ONFI协议获取NAND信息:
      ondie_ecc_state 0ONFI version: 10mtd name: pl353-nandmtd writesize: 2048mtd erasesize: 131072mtd oobsize: 64mtd chipsize: 134217728mtd bits_per_cell: 1mtd busw: 0 # x8mtd ecc_bits: 1mtd ecc_strength_ds: 1mtd ecc_step_ds: 512
  • 处理坏块

    • 找到并标记坏块:
      nand badnand markbad off [offset]nand scrub [size]
    • 使用 scrub 命令清理坏块:
      nand scrub -y off size
  • 分区划分

    • 根据NAND芯片信息,调整分区划分:
      mtdparts=pl353-nand:128k(rcw),219008k(rootfs),32m(rd),128k(dtb),9088k(kernel),128k(fman),128k(bootenv),768k(boot)
    • 确保各分区大小和 offset无误。
  • 通过以上配置和操作,可以有效解决NAND存储器在FPGA、u_boot、Linux环境下的初始化和使用问题,确保系统稳定运行。

    转载地址:http://ddgg.baihongyu.com/

    你可能感兴趣的文章
    2021年判断浏览器最新写法,你都掌握了吗?
    查看>>
    简易版Http请求工具
    查看>>
    【法律】如何保障企业的合法权益:保密协议模板
    查看>>
    【IoT】 产品设计之结构设计:材料工艺选择及特点(PP、PVC、PE、PS、ABS、PC)
    查看>>
    【IoT】 产品设计之结构设计:PMMA(亚克力)板、PC耐力板、PS有机板与MS板区别
    查看>>
    【IoT】蓝牙BLE基础:CC254x通信系列之模拟SPI协议
    查看>>
    【IoT】TI BLE CC2541 串口控制蓝牙详解
    查看>>
    【企业】走近华为,微观世界
    查看>>
    【产品】项目管理的五个过程和九大知识领域之二
    查看>>
    【项目管理】项目管理流程浅析
    查看>>
    【企业】韬盛和夫六精进
    查看>>
    【Tool】如何使用 Uniflash 烧写 WIFI 芯片 CC3200
    查看>>
    html2canvas vue页面截图生成图片地址
    查看>>
    echarts x轴添加单位
    查看>>
    copy_{to, from}_user()的思考
    查看>>
    Web前端安全策略之CSRF的攻击与防御
    查看>>
    小tips: 如何借助content属性显示CSS var变量值
    查看>>
    5分钟快速了解下CSS4 color-adjust属性
    查看>>
    纯客户端页面关键字搜索高亮jQuery插件
    查看>>
    秋月何时了,CSS3 border-radius知多少?
    查看>>