m0_57742210 2025-08-19 18:18 采纳率: 100%
浏览 19
已结题

hi3516dv300 nand openipc固件

Hi3516dv300 开发板 nand闪存,openipc官方没有配套的固件,只有Nor版本的。外行人想尝试一下的,结果卡在这里了,能不能指点应该怎么解决。

  • 写回答

5条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-08-19 18:27
    关注

    让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。

    如果答案让您满意,请采纳、点赞、关注,非常感谢!
    .  
    每日一句正能量,让它带给您好心情:眼里有光,心中有爱,脚下就有力量。
    .  

    针对Hi3516DV300开发板NAND闪存缺少官方OpenIPC固件的问题,以下是解决方案:

    1. 确认硬件配置

    首先通过串口连接开发板,在U-Boot阶段查看硬件信息:

    hisilicon # printenv
    

    检查bootcmdbootargs和环境变量中的存储设备配置,确认闪存类型为NAND。

    2. 编译适配固件

    2.1 获取OpenIPC源码

    git clone https://github.com/OpenIPC/firmware.git
    cd firmware
    

    2.2 配置基础环境

    make setup
    make config
    

    在配置菜单中选择:

    • SoC型号:Hi3516DV300
    • 闪存类型:NAND
    • 文件系统:选择适合NAND的UBIFS

    2.3 关键配置修改

    编辑br-ext-chip-hisilicon/configs/hi3516dv300_defconfig

    BR2_TARGET_UBOOT_BOARD_DEFCONFIG="hi3516dv300_nand"
    BR2_LINUX_KERNEL_DEFCONFIG="hi3516dv300_nand"
    BR2_ROOTFS_OVERLAY="board/hisilicon/hi3516dv300/nand"
    

    3. 制作UBI镜像

    创建NAND专用文件系统配置:

    mkdir -p board/hisilicon/hi3516dv300/nand/etc
    

    创建board/hisilicon/hi3516dv300/nand/etc/fw_env.config

    /dev/mtd0 0x300000 0x10000 0x10000
    

    4. 编译命令

    make all
    

    编译完成后在output/images/目录下获取:

    • u-boot.bin:引导程序
    • openipc-hi3516dv300-ultimate-ubi.img:UBI系统镜像

    5. 烧录说明

    5.1 使用HITOOL烧录

    1. 连接开发板串口和JTAG
    2. 启动HITOOL选择Hi3516DV300型号
    3. 分区烧写:
      • 第0分区:u-boot.bin
      • 第2分区:openipc-hi3516dv300-ultimate-ubi.img

    5.2 串口烧录(已有U-Boot)

    tftp 0x82000000 u-boot.bin
    nand erase.part UBOOT
    nand write 0x82000000 UBOOT ${filesize}
    
    
    tftp 0x82000000 openipc-hi3516dv300-ultimate-ubi.img
    nand erase.part rootfs
    nand write 0x82000000 rootfs ${filesize}
    

    6. 关键注意事项

    1. NAND需要专用UBI文件系统,不能使用NOR的JFFS2镜像
    2. 必须修改内核配置支持NAND驱动:
    make linux-menuconfig
    

    启用:

    • MTD设备支持
    • NAND芯片支持
    • Hisilicon NAND控制器驱动
    1. 首次启动后需擦除NAND配置:
    flash_erase /dev/mtd0 0 0
    

    7. 替代方案

    如果编译困难,可尝试:

    1. 使用HiTool提取现有NAND固件的分区表
    2. 修改OpenIPC的Nor固件为NAND分区布局
    3. 使用Buildroot手动构建基础系统

    建议先在QEMU模拟器中测试系统启动流程,再实际操作硬件烧录。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月4日
  • 已采纳回答 8月27日
  • 创建了问题 8月19日