U-Boot启动解析:关闭看门狗与初始化过程
需积分: 46 130 浏览量
更新于2024-08-09
收藏 324KB PDF 举报
"《关闭看门狗-云原生发展白皮书(2020)》探讨了在云原生环境下如何关闭看门狗定时器以及进行外部NOR闪存初始化的操作。文档中提供了针对特定硬件平台,如ELFIN系列设备的U-Boot启动过程的详细步骤。"
在云原生环境中,为了确保服务的稳定性和可靠性,有时需要关闭看门狗定时器以防止系统因超时而意外重启。在提供的代码段中,展示了关闭看门狗定时器的汇编语言指令,主要通过将寄存器`r0`设置为看门狗基地址`ELFIN_WATCHDOG_BASE`(0xE2700000),然后将`r1`设置为0,并将其存储到`r0`的地址中,从而禁用看门狗。
同时,文档还涉及到外部NOR闪存的初始化,这对于某些设备的启动过程至关重要。初始化过程通常包括配置GPIO引脚以正确地与NOR闪存通信。这里,代码使用了`ELFIN_GPIO_BASE`作为GPIO控制器的基地址,通过对`GPJ1`和`GPJ4`的配置来设置SROM(系统只读存储器)的地址线。通过修改`GPJ1CON_OFFSET`和`GPJ4CON_OFFSET`对应的寄存器,设置相应的GPIO端口为输出模式,并设定其电平。此外,通过`GPJ1PUD_OFFSET`和`GPJ4PUD_OFFSET`清除上拉/下拉电阻,确保正确驱动NOR闪存。
接下来,文档简要介绍了U-Boot的启动流程。U-Boot是从CPU的启动汇编代码开始执行的,这个过程通常位于`/cpu/s5pc11x/start.S`。启动过程中,首先会处理异常中断向量,定义各个中断类型的处理程序。在复位异常处理部分,代码设置了TEXT_BASE虚拟地址,并进行了内存区域的对齐,以保证后续代码的正确执行。
在U-Boot启动时,会经过一系列的初始化步骤,例如设置内存管理、设备树解析、初始化网络堆栈等,这些步骤对于加载操作系统内核、初始化设备和提供命令行接口至关重要。在云原生环境中,U-Boot的这些功能支持容器化服务的启动和管理,使得整个系统的部署和运维更加灵活高效。
总结来说,《关闭看门狗-云原生发展白皮书(2020)》揭示了云原生环境下系统初始化的关键操作,包括看门狗定时器的关闭和NOR闪存初始化,这些都是保证服务连续性和系统正常运行的基础。同时,文档也涉及到了U-Boot启动流程的细节,这些信息对于理解和调试嵌入式系统的启动问题非常有价值。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2010-10-15 上传
2020-08-19 上传
2021-02-05 上传
217 浏览量
2021-06-29 上传
半夏256
- 粉丝: 20
- 资源: 3830
最新资源
- C语言数组操作:高度检查器编程实践
- 基于Swift开发的嘉定单车LBS iOS应用项目解析
- 钗头凤声乐表演的二度创作分析报告
- 分布式数据库特训营全套教程资料
- JavaScript开发者Robert Bindar的博客平台
- MATLAB投影寻踪代码教程及文件解压缩指南
- HTML5拖放实现的RPSLS游戏教程
- HT://Dig引擎接口,Ampoliros开源模块应用
- 全面探测服务器性能与PHP环境的iprober PHP探针v0.024
- 新版提醒应用v2:基于MongoDB的数据存储
- 《我的世界》东方大陆1.12.2材质包深度体验
- Hypercore Promisifier: JavaScript中的回调转换为Promise包装器
- 探索开源项目Artifice:Slyme脚本与技巧游戏
- Matlab机器人学习代码解析与笔记分享
- 查尔默斯大学计算物理作业HP2解析
- GitHub问题管理新工具:GIRA-crx插件介绍