摘要: 内核启动并初始化后,最终目的是像Windows一样能启动应用程序,在windows中每个应用程序都存在C盘、D盘等,而linux中每个应用程序是存放在根文件系统里面,那么挂载根文件系统在哪里,怎么实现最终目的运行应用程序? 1.内核运行应用程序步骤: 1.1首先是进入stext函数启动内核: 1.2 阅读全文
posted @ 2017-08-15 18:31 诺谦 阅读(4729) 评论(0) 推荐(1) 编辑
摘要: 内核启动分析之start_kernel初始化函数(init/main.c) stext函数启动内核后,就开始进入start_kernel初始化各个函数, 下面只是浅尝辄止的描述一下函数的功能,很多函数真正理解需要对linux相关体系有很深的了解后才能明白 代码如下: 然后进入rest_init(): 阅读全文
posted @ 2017-08-15 18:28 诺谦 阅读(5412) 评论(0) 推荐(0) 编辑
摘要: 目标: (1)创建Source Insight 工程,方便后面分析如何启动内核的 (2)分析uboot传递参数,链接脚本如何进入stext的 (3) 分析stext函数如何启动内核: (3.1) 关闭irq和fiq,设置svc管理模式 (3.2)判断是或支持这个CPU (3.3)判断是否支持这个单板 阅读全文
posted @ 2017-08-15 18:25 诺谦 阅读(2724) 评论(0) 推荐(0) 编辑
摘要: 简介: ARM指令中多数据传输共有两种: LDM:(load much)多数据加载,将地址上的值加载到寄存器上 STM:(store much)多数据存储,将寄存器的值存到地址上 主要用途:现场保护、数据复制、参数传送等,共有8种模式(前面4种用于数据块的传输,后面4种是堆栈操作)如下: (1)IA 阅读全文
posted @ 2017-08-15 09:12 诺谦 阅读(19999) 评论(0) 推荐(5) 编辑