热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HI3515NandFlash烧写说明

Nandflash烧写步骤以下配置过程的环境linux版本:fedora10开发板:HI3515DMEB_VER_A开发环境:Hi3515

Nand flash 烧写步骤
以下配置过程的环境
linux版本:fedora10
开发板:HI3515DMEB_VER_A
开发环境:Hi3515_SDK_V1.0.5.1.tgz
******************************************************
******************************************************
1、准备
先调整拨码开关:底板Sw7和Sw8均拨为0,表示nor flash boot。
复位单板,通过nor flash启动,进入u-boot之后,运行如下步骤。

2、擦除整个 nand flash
nand erase 0

3、烧写主uboot到nand
nand erase 0 100000
mw.b 0xC1500000 0xFF 0x100000 # 内存清除为0xFF;
setenv serverip 192.168.1.14
tftp 0xC1500000 u-boot.bin # 先把boot load到内存;
nand write 0xC1500000 0 0x100000 # 然后把内存中的boot烧写到flash上,参数0表示偏移地址,0x100000表示写入文件的大小;
若仅更新u-boot,可仅擦除 nand erase 0 100000


4、烧写主kernel到nand
nand erase 0x100000 0x200000
mw.b 0xC1500000 0xFF 0x200000
tftp 0xC1500000 kernel-hi3515v100_full_release.img
nand write 0xC1500000 0x100000 0x200000
# 注:若仅更新kernel,可仅擦除nand flash中kernel对应地址空间即可。擦除命令如下:
# nand erase 0x100000 0x200000



5 烧写yaffs2文件系统(nand上建议使用yaffs2文件系统)
mw.b 0xC1500000 0xFF 0x800000
tftp 0xC1500000 rootfs-FULL_REL-Flash.yaffs2
nand write.yaffs 0xC1500000 0xE00000 xxx
# 注:参数xxx应该是yaffs2文件系统镜像的实际文件长度(16进制表示)。
# 例如:rootfs-FULL_REL-Flash.yaffs2的大小(右键看属性里面显示的大小(不是占用空间)7001,280字节),转为16进制6ad4c0
# 则烧写命令应该是:nand write.yaffs 0xC1500000 0xE00000 0x6ad4c0

6、设置环境变量
setenv bootargs 'mem=32M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:3M(n1),123M(n2)'
saveenv
# 注: 这里由于我们的单板上都有nor flash,kernel启动中会自动探测nor flash,即使在mtdparts中没有nor分区,
# 如果kernel探测到nor,也会给nor flash分配一个分区,并且占据分区0,因此这里设置”root=/dev/mtdblock2”。
#nand分成2个区,前面3M用来存放uboot和内核,后面123M用来做文件系统。
# 如果单板上没有nor flash,只有nand flash,则应该设置root为”root=/dev/mtdblock1”。

7、设置自动启动
# nand 无法直接访问,必须load到内存。
setenv bootcmd 'nand read C1500000 0x100000 0x200000;bootm C1500000'
也可以改为setenv bootcmd 'nand read C1500000 0x100000 0x100000;bootm C1500000'
即只读取前面1M的内核镜像到内存就开始启动,这样启动速度会快些
saveenv

8、nand启动
调整拨码开关:底板Sw7拨0,Sw8 拨为1,表示 nand flash boot。
复位单板。

注:烧写完nand flash之后,从nand flash启动之前,先要调整单板上的拨码开关。将单板上8个控制组的拨码开关1、4、5、7
拨到OFF侧(即标有数字的那一侧),才能在下次启动时从nand flash启动!!



推荐阅读
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文介绍了如何通过命令行有效地终止所有 Node.js 进程实例,以解决因端口冲突或其他服务冲突导致的问题。 ... [详细]
  • 本文详细介绍了如何正确设置Shadowsocks公共代理,包括调整超时设置、检查系统限制、防止滥用及遵守DMCA法规等关键步骤。 ... [详细]
  • 深入体验Python的高级交互式Shell - IPython
    IPython 是一个增强型的 Python 交互式 Shell,提供了比标准 Python 控制台更为强大的功能,适用于开发和调试过程。它不仅支持直接执行 Linux 命令,还提供了丰富的特性来提高编程效率。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • Fiddler 安装与配置指南
    本文详细介绍了Fiddler的安装步骤及配置方法,旨在帮助用户顺利抓取用户Token。文章还涵盖了一些常见问题的解决方案,以确保安装过程顺利。 ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
  • Nginx 启动命令及 Systemctl 配置详解
    本文详细介绍了在未配置和已配置 Systemctl 的情况下启动 Nginx 的方法,并提供了详细的配置步骤和命令示例。 ... [详细]
  • 本文详细介绍了Oracle 11g中的创建表空间的方法,以及如何设置客户端和服务端的基本配置,包括用户管理、环境变量配置等。 ... [详细]
  • 2023年最新Linux环境下Android开发环境搭建指南
    2023年最新Linux环境下Android开发环境搭建指南,帮助Android开发者在Linux系统上快速搭建开发环境,解决常见的配置问题。 ... [详细]
  • 本文介绍了一种通过设置主题(Theme)来实现快速启动的Android引导页,并详细说明了如何避免因不同屏幕分辨率导致的图片拉伸问题。 ... [详细]
author-avatar
holy190
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有