uboot 简单的执行流程之我见
来源:互联网 发布:solr数据没有了 编辑:程序博客网 时间:2024/05/19 19:33
u-boot做了些什么: 通俗来说就是设置函数开始存放的位置
根据链接程序确定了程序主入口接下来的文本段的排列顺序(这将是启动
最重要的部分)
最先执行start.S内的代码(这是由链接程序决定的):这是对cpu最初始的操作!!!
- 放在最前面的最开始执行。正常情况下直接跳转到start code执行,但是在这条语句后面紧跟着中断向量表,这些是cpu硬件决定的,必须定义在固定的地址。
- 首先让cpu进入SVC模式(管理员模式),关看门狗,关所有的中断。
- 设置时钟。直接操作时钟寄存器,设置时钟的分频比
- 跳入cpu init crit函数,对系统总线进行初始化,只有经过初始化,norflash sdram才能被使用
- 检查现在是否在内存中运行,否则,要将代码拷贝到sdram的TEXT BASE位置中运行。从norflash或者nandflash中拷贝需要另行判断。
- 经过以上的代码,现在uboot肯定是在sdram上运行了,然后分配堆栈地址大小。
- 跳转到start armboot执行(这是第二阶段代码,定义在lib_arm/board.c中)。
lib_arm/board.c中做了些什么,就是做了一些板载的外设的初始化工作,为接下来程序运行做准备。比如初始化网卡,串口,lcd,sd卡等等外设。
网上关于uboot的移植已经讲得很详细,我这里就仅仅只是谈谈我做了几天的认识,不一定对。
纸上得来终觉浅,绝知此事要躬行。
0 0
- uboot 简单的执行流程之我见
- MapReduce执行流程之我见
- UBOOT添加命令的执行流程
- UBOOT添加命令的执行流程
- Uboot 添加命令的执行流程
- UBOOT添加命令的执行流程
- UBOOT添加命令的执行流程
- UBOOT添加命令的执行流程
- 了解UBOOT添加命令的执行流程
- uboot执行的流程大概分析
- uboot执行流程
- BootLoader的启动流程之我见
- 新手看招 了解UBOOT添加命令的执行流程
- IE10简单之我见
- 项目流程规范之我见
- Android 4.0 消息处理的流程之我见
- Android 4.0 消息处理的流程之我见
- uboot 系列之-----uboot配置流程分析
- 闲谈:感知器学习算法(The perceptron learning algorithm)
- hive导出数据的几种方式
- 前端开发 AMD 和 CMD 的规范区别
- 最佳实践--Spring容器初始化完成之后执行某个方法
- 简单的前端表单的校验
- uboot 简单的执行流程之我见
- ThreadPoolExecutor讲解
- EasyUI datagrid回车下一个
- android studio快速添加lambda的支持
- Jsoup发送get和post请求
- Handler机制
- 二叉树
- SQL临时表的使用
- [Lpp]如何安装配置PHP?