瑞芯微Rockchip开发者社区
登录
直播中
毛萃
7年用户
842经验值
私信
关注
[问答]
RK3399 eMMC硬件设计的原理是什么呢
开启该帖子的消息推送
RK3399
emmc
固件
RK3399有哪几种启动模式呢?
RK3399 eMMC硬件设计的原理是什么呢?有哪些注意事项呢?
回帖
(1)
戚银燕
2022-3-7 14:26:27
RK3399启动模式
RK3399有三种启动模式:
Normal 模式
Loader 模式
MaskRom 模式
Normal 模式
Normal 模式就是正常的启动过程,各个组件依次加载,正常进入系统。
这个模式无法刷固件, 一般板子通电就是这个模式。
Loader 模式
在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。
要进入 Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。
PS:
大多数嵌入式处理器都有在处理器内部有固化代码(ROM),这个代码可以把bootloader从处理器指定的地方(一般是flash,SD卡,USB等)加载到内存,然后跳到bootloader开始执行。或者把nor flash的地址映射到处理器的RESET地址直接执行nor flash中的代码
Bootloader多数有两个阶段的启动过程:
Stage1:
基本的硬件初始化
为加载stage2准备RAM空间
拷贝内核映像和文件系统映像到RAM中
设置堆栈指针sp
跳到stage2的入口点
Stage2:
初始化本阶段要使用到的硬件设备
检测系统的内存映射
加载内核映像和文件系统映像
设置内核的启动参数
嵌入式系统中广泛采用的非易失性存储器通常是 Flash,而 Bootloader就位于该存储器的最前端,所以系统上电或复位后执行的第一段程序便是 Bootloader。
MaskRom 模式
MaskRom 模式用于 bootloader 损坏时的系统修复。
一般情况下是不用进入 MaskRom 模式的,只有在 bootloader 校验失败(读取不了 IDR 块,或 bootloader 损坏) 的情况下,BootRom 代码 就会进入 MaskRom 模式。此时 BootRom 代码等待主机通过 USB 接口传送 bootloader 代码,加载并运行之。
如果开发板上电后遇到以下情况之一:
eMMC 内容为空。
eMMC 上的 bootloader 损坏。
将 eMMC 数据/时钟引脚接地,eMMC读取数据失败。(所以硬件设计要预留eMMC clock PIN用于进入MaskROM模式 )
CPU 在 eMMC 中就会找不到有效的 IDB (IDentity Block),转而执行一段小型的 ROM 代码,等待主机通过 USB 上传 bootloader 来初始化 DDR 内存并进入升级状态。这种模式称为 Maskrom 模式 。
RK3399 eMMC硬件设计原理图
eMMC 芯片介绍
RK3399 eMMC 控制器介绍
参考原理图
RK3399 PCB设计要点
RK3399启动模式
RK3399有三种启动模式:
Normal 模式
Loader 模式
MaskRom 模式
Normal 模式
Normal 模式就是正常的启动过程,各个组件依次加载,正常进入系统。
这个模式无法刷固件, 一般板子通电就是这个模式。
Loader 模式
在 Loader 模式下,bootloader 会进入升级状态,等待主机命令,用于固件升级等。
要进入 Loader 模式,必须让 bootloader 在启动时检测到 RECOVERY(恢复)键按下,且 USB 处于连接状态。
PS:
大多数嵌入式处理器都有在处理器内部有固化代码(ROM),这个代码可以把bootloader从处理器指定的地方(一般是flash,SD卡,USB等)加载到内存,然后跳到bootloader开始执行。或者把nor flash的地址映射到处理器的RESET地址直接执行nor flash中的代码
Bootloader多数有两个阶段的启动过程:
Stage1:
基本的硬件初始化
为加载stage2准备RAM空间
拷贝内核映像和文件系统映像到RAM中
设置堆栈指针sp
跳到stage2的入口点
Stage2:
初始化本阶段要使用到的硬件设备
检测系统的内存映射
加载内核映像和文件系统映像
设置内核的启动参数
嵌入式系统中广泛采用的非易失性存储器通常是 Flash,而 Bootloader就位于该存储器的最前端,所以系统上电或复位后执行的第一段程序便是 Bootloader。
MaskRom 模式
MaskRom 模式用于 bootloader 损坏时的系统修复。
一般情况下是不用进入 MaskRom 模式的,只有在 bootloader 校验失败(读取不了 IDR 块,或 bootloader 损坏) 的情况下,BootRom 代码 就会进入 MaskRom 模式。此时 BootRom 代码等待主机通过 USB 接口传送 bootloader 代码,加载并运行之。
如果开发板上电后遇到以下情况之一:
eMMC 内容为空。
eMMC 上的 bootloader 损坏。
将 eMMC 数据/时钟引脚接地,eMMC读取数据失败。(所以硬件设计要预留eMMC clock PIN用于进入MaskROM模式 )
CPU 在 eMMC 中就会找不到有效的 IDB (IDentity Block),转而执行一段小型的 ROM 代码,等待主机通过 USB 上传 bootloader 来初始化 DDR 内存并进入升级状态。这种模式称为 Maskrom 模式 。
RK3399 eMMC硬件设计原理图
eMMC 芯片介绍
RK3399 eMMC 控制器介绍
参考原理图
RK3399 PCB设计要点
举报
更多回帖
rotate(-90deg);
回复
相关问答
RK3399
emmc
固件
RK3399
开发板
硬件
有哪些参数
呢
2022-03-08
1767
如何分析
RK3399
这个芯片的启动方式
呢
2022-03-09
5154
RK3399
是什么?
RK3399
的性能有哪些
呢
2022-01-14
2480
RK3399
是什么?
RK3399
芯片有哪些优势
呢
2022-03-08
3222
RK3399
与
RK3399
Pro处理器的性能有何不同
2022-02-10
1863
基于
RK3399
处理器设计的
RK3399
开发板有哪些配置
呢
2022-03-07
2000
Rockchip
RK3399
芯片有哪些功能
呢
2022-03-07
978
怎样去解决
RK3399
系统经常卡死的问题
呢
2022-02-18
3141
如何对
RK3399
离线烧录固件进行打包
呢
2022-03-07
2881
RK3399
核心板的主要特性有哪些
呢
2022-03-07
1639
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分