用HiTool烧写uboot到spi flash的原理
芯片平台
本文是以海思的HI3518E芯片讲解的,HI3518E芯片内部集成了64M的DDR,开发板上在HI3518E芯片外部连接了16M的spi flash芯片。uboot、kernel、rootfs最终都烧写到spi flash中。
硬件连接的原理图
解析:
1.PC端上运行HiTool软件,通过串口和海思芯片相连;
2.海思芯片内置了64M的DDR,在烧写到spi flash中充当中转的作用;
3.spi flash连接在海思的spi flash的相关引脚上;
烧写的原理:
1.硬件上 bootrom_sel 需要设置为 1,从 bootrom 启动。芯片上电后,当启动模式为从 BOOTROM 启动时,海思的BOOTROM的程序会去初始化串口,然后尝试与海思的HiTool工具建立通信。
2.HiTool工具在开始烧写后,会与海思芯片建立连接,首选与 bootrom 进行交互,工具 DDR 参数传送到传到 bootrom。
3.先下载uboot的一部分代码到内部的RAM中,用这部分代码去初始化64M的DDR;
4.将剩下的uboot程序下载到DDR中,然后通过DDR中启动uboot,然后将DDR中的uboot程序烧写到外部的spi flash中。
5.至于烧写的更具体的细节,在HiTool软件、海思的内置代码、uboot中做了隐藏,一般不需要知道这些细节。我们只需要保证硬件连接正确,在HiTool软件中指明要烧写的文件、flash类型、起始地址、烧写长度,就可以一键完成烧写。
HiTool工具的使用
参考博客《海思烧录工具HiTool的使用方法以及烧录uboot》。
用HiTool烧写uboot到spi flash的原理相关推荐
- 用J-Link烧写u-boot到Nor Flash—— 韦东山嵌入式Linux视频学习笔记04
说明:本文的实验环境为Windows7+JZ2440 J-Link 只支持烧写 Nor Flash,不支持烧写 Nand Flash(为什么呢?先不探究原因). 如果想烧写程序到Nand Flash, ...
- 用JLINK烧写U-boot到Nand Flash中
很多同学使用笔记本作为自己的ARM开发和学习的平台,绝大多数笔记本都没有并口,也就是无法使用JTag调试和烧写程序到Nand Flash中,幸好我们还有JLINK,用JLINK烧写U-boot到Nor ...
- jlink烧写linux内核,如何利用JLINK烧写U-boot到NAND Flash中
很多同学使用笔记本作为自己的ARM开发和学习的平台,绝大多数笔记本都没有并口,也就是无法使用JTag调试和烧写程序到Nand Flash中,幸好我们还有JLINK,用JLINK烧写U-boot到Nor ...
- JLINK烧写U-boot到NAND Flash中
http://www.linuxidc.com/Linux/2 很多同学使用笔记本作为自己的ARM开发和学习的平台,绝大多数笔记本都没有并口,也就是无法使用JTag调试和烧写程序到Nand Flash ...
- uboot通过u盘烧写linux内核,向Flash中烧写uboot和linux操作系统
向Flash中烧写uboot和linux操作系统 2011年03月28日 向Flash中烧写uboot和linux操作系统 ====================================== ...
- flash烧写uboot举例
烧写uboot到QSPIFLASH 简述:主要是讲ZYNQ7000系列的烧写文件方法,衔接上文链接: Petalinux工具编译生成boot和kernel等流程. JTAG下载全部镜像到内存运行 以下 ...
- Tiny210编译和烧写u-boot步骤
当有多个交叉编译器是,不方便设置环境变量时,可以在编译命令中指定交叉编译器,具体如下: make ARCH=arm CROSS_COMPILE=/opt/FriendlyARM/toolschain/ ...
- 【Tiny4412】Tiny4412编译和烧写uboot
00. 目录 文章目录 00. 目录 01. Uboot简介 02. 安装交叉编译器 03. 编译Uboot 04. 烧写Uboot 05. 测试Uboot 06. 常见问题解决 07. 附录 01. ...
- TQ2440 使用Jlink-Flasher 烧写 u-boot 或者 program
目前有三种方式来烧写 1.使用SJF2440 软件,配合 PC并口,这种方法最原始,效率低下,并且PC 必须有并口,现在的电脑一般都没有,笔记本就更加不用说啦! 2.使用H-Jtag 软件,配合PC并 ...
- 嵌入式系统烧写uboot/bootloader/kernel的一般方法
嵌入式系统烧写uboot/bootloader/kernel的一般方法 本文介绍了在嵌入式系统中烧写uboot/bootloader/kernel 的一般方法,以及如果uboot或者内核出现错误, ...
最新文章
- mysql update使用select的结果
- VS中解决LIBCMTD.lib和uafxcwd.lib冲突(uafxcw.lib LIBCMT.lib冲突)
- 数据结构 -- 二叉树
- 去掉中文语言下 wget下载提示 英国中部时间 的问题
- 3、通过挂在系统光盘搭建本地yum仓库。
- OpenShift 4 - DevSecOps Workshop (7) - 为Pipeline增加向Nexus制品库推送任务
- Teradata在中国银行业的应用简介
- Google猜画小歌升级:现在可以跟好友对战了
- 2007最新最强杀毒软件破解大全
- TM1650芯片使用经验
- 20210108练习
- 小猫爪:AWR294x学习笔记02-AWR294x之DPMIPC
- greenplum麒麟安装笔记
- 区块链的应用,教你怎样用区块链赚钱
- oracle dbms是什么意思,oracle的dbms_stats包详细解说
- 复杂稀缺类分析:稀缺与不重要能否划等号?
- golang-math实用小技巧
- 计算机找不到 bitlocker,win10中找不到bitlocker驱动器的解决方法介绍
- Postgresql中的large object
- 大数据培训出来好就业吗
热门文章
- ubuntu8.10下mplayer+win32codecs+Coreavc编译安装详解
- 按下键时蜂鸣器发出声音c语言,学习日记——蜂鸣器开关实例
- 使用NLPIR汉语分词系统进行分词
- 这才是程序员该有的桌面壁纸!
- Drools规则引擎的基本使用
- ML-Agents案例之看图配对
- android h5 保存通讯录,h5+调用系统通讯录
- 斗地主发牌编程PHP,php模拟实现斗地主发牌
- 如何把图纸转换为t3格式_CAD图纸快速转换天正T3格式_鹏业CAD云服务
- 知识图谱学习--网易云唐宇迪老师课程记录