Hi3516dv300 开发板 nand闪存,openipc官方没有配套的固件,只有Nor版本的。外行人想尝试一下的,结果卡在这里了,能不能指点应该怎么解决。
5条回答 默认 最新
关注让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。
如果答案让您满意,请采纳、点赞、关注,非常感谢!
.
每日一句正能量,让它带给您好心情:眼里有光,心中有爱,脚下就有力量。
.针对Hi3516DV300开发板NAND闪存缺少官方OpenIPC固件的问题,以下是解决方案:
1. 确认硬件配置
首先通过串口连接开发板,在U-Boot阶段查看硬件信息:
hisilicon # printenv检查
bootcmd、bootargs和环境变量中的存储设备配置,确认闪存类型为NAND。2. 编译适配固件
2.1 获取OpenIPC源码
git clone https://github.com/OpenIPC/firmware.git cd firmware2.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 0x100004. 编译命令
make all编译完成后在
output/images/目录下获取:u-boot.bin:引导程序openipc-hi3516dv300-ultimate-ubi.img:UBI系统镜像
5. 烧录说明
5.1 使用HITOOL烧录
- 连接开发板串口和JTAG
- 启动HITOOL选择Hi3516DV300型号
- 分区烧写:
- 第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. 关键注意事项
- NAND需要专用UBI文件系统,不能使用NOR的JFFS2镜像
- 必须修改内核配置支持NAND驱动:
make linux-menuconfig启用:
- MTD设备支持
- NAND芯片支持
- Hisilicon NAND控制器驱动
- 首次启动后需擦除NAND配置:
flash_erase /dev/mtd0 0 07. 替代方案
如果编译困难,可尝试:
- 使用HiTool提取现有NAND固件的分区表
- 修改OpenIPC的Nor固件为NAND分区布局
- 使用Buildroot手动构建基础系统
建议先在QEMU模拟器中测试系统启动流程,再实际操作硬件烧录。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报