Uboot指令与烧录

目录

1 NAND Flash:

1)地址空间说明

2)烧写u-boot

3)烧写内核

4)烧写文件系统

5)设置启动参数

2 SPI Flash:

1)地址空间说明

2)烧写u-boot

3)烧写内核

4)烧写文件系统

5)设置启动参数

3 EMMC:

1)地址空间说明

2)烧写u-boot

3)烧写内核

4)烧写文件系统

5)烧写参数区

6)烧写logo


 

  •  🎈个人主页🎈:linux_嵌入式大师之路的博客-CSDN博客
  • 🎉🎉🎉欢迎 👍点赞✍评论⭐收藏
  • 🤝希望本文能对你有所帮助,欢迎在评论区交流讨论!🤝

 

1 NAND Flash:

以64M NAND Flash为例。

1)地址空间说明

|       1M      |      3M       |       32M    |            28M          |

|---------------|---------------|---------------|------------------------|

| boot | kernel | rootfs | other |

以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。

2)烧写u-boot

mw.b 82000000 ff 100000

tftp 82000000 u-boot-hi3519.bin

nand erase 0 100000

nand write 82000000 0 100000

reset

3)烧写内核

mw.b 82000000 ff 300000

tftp 82000000 uImage_hi3519

nand erase 100000 300000

nand write 82000000 100000 300000

4)烧写文件系统

mw.b 82000000 ff 2000000

tftp 82000000 rootfs_hi3519_2k_4bit.yaffs2

nand erase 400000 2000000

nand write.yaffs 82000000 400000 96d200 #注意:96d200为rootfs文件实际大小(16进制)

5)设置启动参数

setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 rw mtdparts=hinand:1M(boot),3M(kernel),32M(rootfs),28M(test)'

setenv bootcmd 'nand read 0x82000000 0x100000 0x300000;bootm 0x82000000'

sa

注意linux-3.18.y kernel默认文件系统只读,需要在bootargs中加入rw选项,文件系统才可读写

2 SPI Flash:

以16M SPI Flash为例。

1)地址空间说明

|       1M      |      3M       |      12M     |

|---------------|---------------|---------------|

| boot | kernel | rootfs |

以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。

2)烧写u-boot

sf probe 0

mw.b 82000000 ff 100000

tftp 0x82000000 u-boot-hi3519.bin

sf probe 0

sf erase 0 100000

sf write 82000000 0 100000

reset

3)烧写内核

mw.b 82000000 ff 300000

tftp 82000000 uImage_hi3519

sf probe 0

sf erase 100000 300000

sf write 82000000 100000 300000

4)烧写文件系统

mw.b 82000000 ff C00000;tftp 0x82000000 rootfs_hi3519_64k.jffs2;

sf probe 0;sf erase 400000 C00000;sf write 82000000 400000 C00000

5)设置启动参数

setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'

setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'

sa

注意linux-3.18.y kernel默认文件系统只读,需要在bootargs中加入rw选项,文件系统才可读写

3 EMMC:

1)地址空间说明

|   1M   |     4M    |         64M     |     8M     |     16M    |   1M   |       80M      |       25600 M      |

|---------|------------|-----------------|-------------|-------------|---------|-----------------|-----------------------|

| boot | kernel | rootfs | param | hibernate | logo | upgrade | storage |

以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。

2)烧写u-boot

mw.b 82000000 ff 100000;tftp 82000000 uboot_hi3519.bin;mmc write 0 82000000 0 400

3)烧写内核

mw.b 82000000 ff 400000;tftp 82000000 uImage_hi3519;mmc write 0 82000000 800 2000;

4)烧写文件系统

mw.b 82000000 ff 4000000;tftp 82000000 rootfs_hi3519.ext4;mmc write.ext4sp 0 82000000 2800 20000

5)烧写参数区

mw.b 82000000 ff 800000;tftp 82000000 paramfs_hi3519.ext4;mmc write.ext4sp 0 82000000 22800 4000;

6)烧写logo

mw.b 82000000 ff 100000;tftp 82000000 bootdisplay.bmp;mmc write 0 82000000 2E800 800;

正式版本:

setenv bootargs 'mem=512M console=ttyAMA0,115200 root=/dev/mmcblk0p3 rootfstype=ext4 ro rootwait blkdevparts=mmcblk0:1M(boot),4M(kernel),64M(rootfs),8M(param),16M(hibernate),1M(logo),80M(upgrade),25600M(storage) hbcomp=/dev/mmcblk0p5 hbtype=snap'

setenv bootcmd 'mmc read 0 82000000 800 2000;bootm 82000000';sa

setenv bootdelay 0;sa

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/67530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

npm版本升级报错

解决方法: 执行npm install --legacy-peer-deps依赖对等 npm install xxx --legacy-peer-deps命令用于绕过peerDependency里依赖的自动安装;它告诉npm忽略项目中引入的各个依赖模块之间依赖相同但版本不同的问题,以npm v4-v6的方式去继续执行…

8天长假快来了,Python分析【去哪儿旅游攻略】数据,制作可视化图表

目录 前言环境使用模块使用数据来源分析 代码实现导入模块请求数据解析保存 数据可视化导入模块、数据年份分布情况月份分布情况出行时间情况费用分布情况人员分布情况 前言 2023年的中秋节和国庆节即将来临,好消息是,它们将连休8天!这个长假…

Docker 使用

简介 Docker是一个开源的容器引擎,它有助于更快地交付应用。 Docker可将应用程序和基础设施层隔离,并且能将基础设施当作程序一样进行管理。使用 Docker可更快地打包、测试以及部署应用程序,并可以缩短从编写到部署运行代码的周期。 Docker…

uniapp 项目实践总结(二)从零开始搭建一个项目

导语:本篇文章主要是项目方面的技术开发总结,新建一个项目可以选择使用可视化界面,也可以使用命令行搭建。 目录 可视化界面命令行搭建安卓开发环境苹果开发环境可视化界面 安装软件 使用官方推荐的 HbuilderX 软件,开发方式比较简单,内置相关环境以及终端,无需配置 no…

【python】可视化

柱状图 matplotlib之pyplot模块之柱状图(bar():基础参数、外观参数)_plt.bar_mighty13的博客-CSDN博客 bar()的基础参数如下: x:柱子在x轴上的坐标。浮点数或类数组结构。注意x可以为字符串数组! height&…

Unity中Shader的UV扭曲效果的实现

文章目录 前言一、实现的思路1、在属性面板暴露一个 扭曲贴图的属性2、在片元结构体中,新增一个float2类型的变量,用于独立存储将用于扭曲的纹理的信息3、在顶点着色器中,根据需要使用TRANSFORM_TEX对Tilling 和 Offset 插值;以及…

通过cpolar内网穿透,在家实现便捷的SSH远程连接公司内网服务器教程

文章目录 1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程 本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路由器。…

Spring Boot 整合 Shiro(后端)

1 Shiro 什么是 Shiro 官网: http://shiro.apache.org/ 是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE 和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、 授权、会话管理、加密等操作。 …

FreeRTOS操作系统中,断言输出 Error:..\..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c,766 原因

分析:Error:..\..\FreeRTOS\portable\RVDS\ARM_CM4F\port.c,766 出现这个原因表示,你现在系统某个中断的优先级高于FreeRTOS可管理的优先级范围,一旦你这个中断触发,断言的信息即你串口就会输出这个条语句(前提你串口…

OpenCV(十九):模板匹配

1.模板匹配: OpenCV提供了一个模板匹配函数,用于在图像中寻找给定模板的匹配位置。 2.图像模板匹配函数matchTemplate void matchTemplate( InputArray image, InputArray templ, OutputArray result, int method, InputArray mask noArray() ); image…

《Python魔法大冒险》005 魔法挑战:自我介绍机器人

魔法师和小鱼坐在图书馆的一扇窗户旁,窗外的星空闪烁着神秘的光芒。魔法师轻轻地拍了拍小鱼的肩膀。 魔法师: 小鱼,你已经学会了编写简单的魔法程序,现在我要教你如何创造一个有自己思想的机器人,让它能够和我们一样&…

Ansible学习笔记6

stat模块:获取文件的状态信息,类似Linux的stat状态。 获取/etc/fstab文件的状态。 [rootlocalhost tmp]# ansible group1 -m stat -a "path/etc/fstab" 192.168.17.106 | SUCCESS > {"ansible_facts": {"discovered_inter…

【Java转Go】Go中使用WebSocket实现聊天室(私聊+群聊)

目录 前言功能效果(一人分饰多角.jpg😎)用户上线、群聊私聊和留言下线 实现思路代码服务端 chat.go 完整代码客户端 html 完整代码 最后 前言 之前在Java中,用 springbootwebsocket 实现了一个聊天室:springbootwebso…

算法笔记:二叉树

1 基本二叉树 二叉树是一种树形数据结构,其中每个节点最多有两个子节点,通常称为“左子节点”和“右子节点”。 二叉树的根是唯一没有父节点的节点,而所有其他节点都有一个父节点和零个或两个子节点。 1.1 基础术语 节点(Node&…

Python 内置函数详解 (1) 数学运算

近期在外旅游,本篇是出发前定时发布的,不完整,旅游回来后再补充。 Python 内置函数 Python3.11共有75个内置函数,其来历和分类请参考:Python 新版本有75个内置函数,你不会不知道吧_Hann Yang的博客-CSDN博客 函数列表 abs aiter all …

36 查各种金属非金属材料的物性参数方法

背景 上面给了任务,要做调研,各种材料的各种参数,高温的、低温的、常温的、常压的、高压的、低压的。 网上搜出来很多材料的参数都是各种卖材料的厂商给出的,也不晓得他们的测量结果可不可信,有没有一个权威机构背书…

基于PyTorch的交通标志目标检测系统

一、开发环境 Windows 10PyCharm 2021.3.2Python 3.7PyTorch 1.7.0 二、制作交通标志数据集,如下图 三、配置好数据集的地址,然后开始训练 python train.py --data traffic_data.yaml --cfg traffic_yolov5s.yaml --weights pretrained/yolov5s.pt --e…

【Java 基础篇】Java继承:打开面向对象编程的大门

继承是面向对象编程(Object-Oriented Programming,OOP)中的一个重要概念。在Java中,继承允许一个类(子类)从另一个类(父类)继承属性和方法。这种机制使得代码重用、扩展和维护变得更…

算法笔记 近似最近邻查找(Approximate Nearest Neighbor Search,ANN)

1 介绍 精准最近邻搜索中数据维度一般较低,所以会采用穷举搜索,即在数据库中依次计算其中样本与所查询数据之间的距离,抽取出所计算出来的距离最小的样本即为所要查找的最近邻。 当数据量非常大的时候,搜索效率急剧下降。——>…

知识储备--基础算法篇-矩阵

2.矩阵 2.1第54题螺旋矩阵 第一题上来就跪了,看了官方答案感觉不是很好理解,找了一个比较容易理解的。 class Solution(object):def spiralOrder(self, matrix):""":type matrix: List[List[int]]:rtype: List[int]"""…