ML驱动编译器实现:USB2.0调试与R-CAR H3启动流程详解
需积分: 49 18 浏览量
更新于2024-08-07
收藏 4.63MB PDF 举报
本文档主要探讨了在现代编译器实施背景下,对R-CAR H3 Salvator-XS开发板上的USB2.0驱动的深入分析和调试过程。文章详细描述了芯片的启动流程,特别是BootRom和SPIFLASH启动机制,以及EMMC和SCIF下载启动模式。
首先,当R-CAR H3板上电后,启动过程从内置的BootRom开始执行,该启动代码位于地址EB112800。系统会从SPIFLASH/HyperFlash区域加载5KB的数据到片上SRAM,这部分数据包含了启动参数、IPL-A和IPL-B区域的地址信息,以及它们各自的数据大小。BootRom根据这些参数决定执行IPL-A还是IPL-B,两者都是用于引导后续操作的固件代码。
对于SPIFLASH启动编译,作者推荐使用原始的meta-rcar-gen3/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_git.bb作为基础,通过调用`bitbake-ccompile`和`bitbake-cdeploy`命令来编译并烧录S-record格式的image到NOR/HYPER-FLASH。具体的步骤包括烧写bl2-salvator-x.srec、bootparam_sa0.srec等关键文件,以及设置EMMC启动模式。
接下来是EMMC启动流程,涉及对meta-rcar-gen3/recipes-bsp/arm-trusted-firmware的配置更改,增加编译选项RCAR_SA6_TYPE=1,然后进行一系列的SREC文件烧写,如bl31-salvator-x.srec、tee-salvator-x.srec和u-boot-elf.srec。烧写完成后,需要调整EMMCCSD的拨码开关至EMMC启动模式,上电即可启动系统。
最后,文档提及了R-CAR-H3/M3利用SCIF2-A串行端口进行下载启动(也称为IPL或ATF)。主机应用程序通过串口工具将代码发送到板载SRAM,同时提供了串口配置细节,明确了SCIF传输的数据格式,这对于理解如何通过串口进行固件更新和调试至关重要。
这篇文章深入讲解了R-CAR H3 Salvator-XS开发板的USB2.0驱动如何与BootRom、SPIFLASH、EMMC和SCIF等硬件交互,以及在现代编译器环境中进行编译和调试的具体步骤和技术细节。这对于从事R-CAR平台开发、嵌入式系统调试或者想要深入了解ARM Trusted Firmware的开发者来说,是一份极具价值的技术参考资料。
2019-01-04 上传
688 浏览量
2010-03-05 上传
2023-10-11 上传
2021-04-19 上传
2007-12-13 上传
2009-08-09 上传
2018-01-16 上传
2008-07-02 上传
MICDEL
- 粉丝: 36
- 资源: 3946
最新资源
- 教程 Madaline Rule II - 神经网络的训练算法:关于 Madaline Rule II 算法的西班牙语教程。 仅用于学术和教育用途。-matlab开发
- 通讯录列表
- ACCESS酒店房间预约系统ASP毕业设计(源代码+论文).zip
- anbible
- learnr-lubridate:R软件包,其中包含专门用于学习lubridate日期管理软件包基础的学习者教程
- discord-clone:using使用React + Redux + Firebase的简单Discord克隆
- Accuinsight-1.0.19-py2.py3-none-any.whl.zip
- yschools
- sopia-bot.github.io
- 用于在移动机器人中实现基于地图的定位的光线投射:该代码是用于获得模拟距离测量的光线投射的有效实现。-matlab开发
- 基于PHP的最新仿小刀娱乐网模板PHP版(带7色皮肤)源码.zip
- site:KSZLAGK网站
- 行业分类-设备装置-基于智慧校园环境下的简易多媒体教室控制系统.zip
- PegGame:JS中的CS300钉游戏
- Icons-Theme-OpenCore:Itens de Boot Personalizados que fiz pro Opencore
- Лайфхакер-crx插件