DM365芯片启动流程与Bootloader解析
4星 · 超过85%的资源 需积分: 3 154 浏览量
更新于2024-07-31
收藏 530KB PPT 举报
"本资料详细阐述了DM365芯片的启动机制,包括从外部存储器和内部ROM启动的不同模式,并深入探讨了NandBootMode的启动流程以及UserBootloader的实现细节。"
在DM365芯片的启动过程中,其启动机制是由CPU在加电或复位后从预设地址执行指令来开始的。DM365提供多种启动方式,主要分为两类:从外部存储器AEMIF(NOR Flash/OneNand)引导启动和从ARM内部ROM(AIROM)引导启动。这两种模式的选择取决于BTSEL[2:0]引脚的状态。
当BTSEL[2:0]设置为001时,系统将从AEMIF执行引导启动代码,这意味着可以从OneNand或NorFlash启动。AIROM支持多种启动模式,包括BTSEL[2:0]为000的NAND Boot,010的MMC/SD Boot,011的UART Boot,100的USB Boot,101的SPI Boot,110的EMAC Boot以及111的HPI Boot。
NandBootMode的启动流程相对复杂,因为DM365处理器的AIRAM空间有限且NAND Flash不支持执行就地(XIP)技术。因此,从NAND Flash引导操作系统通常需要经过三个阶段的代码执行。在这个过程中,DaVinci EVM通常采用AIROM启动方式。启动流程涉及UserBootloader,其源码位于PSP包的board_utilities/flash_utils目录下。
UserBootloader的启动始于汇编文件start.S,该文件负责切换操作模式,建立堆栈,然后调用main函数。main函数进一步调用LOCAL_boot函数进行实际的引导操作,最后跳转到entrypoint执行Uboot。这部分代码主要位于board_utilities/flash_utils/Common/ubl/src目录下的ubl.c文件中,包含了串口烧写源码和JTAG擦除烧写源码等功能。
理解DM365的启动机制对于开发和调试基于该芯片的系统至关重要,特别是涉及到从不同存储介质启动和用户引导加载程序的实现。掌握这些知识可以帮助开发者更有效地配置和优化系统的启动流程。
2011-04-23 上传
2013-07-24 上传
2023-05-27 上传
2023-06-08 上传
2023-07-18 上传
2024-07-10 上传
2023-06-12 上传
2023-05-24 上传
2023-06-08 上传
evil111111111
- 粉丝: 2
- 资源: 2
最新资源
- 明日知道社区问答系统设计与实现-SSM框架java源码分享
- Unity3D粒子特效包:闪电效果体验报告
- Windows64位Python3.7安装Twisted库指南
- HTMLJS应用程序:多词典阿拉伯语词根检索
- 光纤通信课后习题答案解析及文件资源
- swdogen: 自动扫描源码生成 Swagger 文档的工具
- GD32F10系列芯片Keil IDE下载算法配置指南
- C++实现Emscripten版本的3D俄罗斯方块游戏
- 期末复习必备:全面数据结构课件资料
- WordPress媒体占位符插件:优化开发中的图像占位体验
- 完整扑克牌资源集-55张图片压缩包下载
- 开发轻量级时事通讯活动管理RESTful应用程序
- 长城特固618对讲机写频软件使用指南
- Memry粤语学习工具:开源应用助力记忆提升
- JMC 8.0.0版本发布,支持JDK 1.8及64位系统
- Python看图猜成语游戏源码发布