linux 系统移植 (一,uboot启动过程)
来源:互联网 发布:邮箱客户端软件 编辑:程序博客网 时间:2024/05/18 03:38
linux系统移植分为两部分内容:
1,引导程序:u-boot的移植
2,linux内核的移植
3,根文件系统的移植
这些就是U-boot的代码,官方的,看看就能整理出如下信息。
做好移植,先需要关心和了解以下文件夹。
u-boot要改的信息:
board文件夹(重点改处理器外接的那些部份,处理器里面的芯片公司官方多数已经做好了。)
cpu文件夹:start.S启动过程。
lib_arm文件夹:arm相关库文件。
移植过程:start.S——board.c——main.c
有时就改一下配置就OK了:include/configs
grep -R "字符串" ./* 查找字符串。
下面分析一下start.S:
首先校验信息,芯片手册上已经说明了:
.word 0x2000
.word 0x0
.word 0x0
.word 0x0
正式开始:
各种异常:
.globl _start
_start: breset
ldrpc, _undefined_instruction
ldrpc, _software_interrupt
ldrpc, _prefetch_abort
ldrpc, _data_abort
ldrpc, _not_used
ldrpc, _irq
ldrpc, _fiq
_TEXT_BASE: //虚拟起始地址,开启MMU之后。
.wordTEXT_BASE
_TEXT_PHY_BASE:
.wordCFG_PHY_UBOOT_BASE //物理起始地址
之后:
reset:切换到管理模式。
cpu初始化——cpu_init_crit:cache,关掉MMU,电源管理。
然后重点关注:lowlevel_init(board文件中)主要改这个函数,根据不同的板子。
判断从哪里启动,就是扳那就按钮。
从nand flash还是从哪里开始启动。启动后拷贝代码。将nand flash的代码拷贝到dram中。
清bss段
ldrpc, _start_armboot绝对跳转,跳到boot.c中。
- linux 系统移植 (一,uboot启动过程)
- 嵌入式linux开发uboot移植(三)——uboot启动过程源码分析
- Uboot学习笔记③---(uboot移植及启动过程)
- uboot+linux启动过程
- TINY210 UBOOT(一)启动过程
- uboot+linux启动过程(2)zz
- (一)linux系统移植过程和环境搭建
- uboot一之启动过程
- linux系统移植和Uboot 移植
- tiny4412学习(一)之从零搭建linux系统(烧写uboot、内核进emmc+uboot启动内核)
- S5PV210 构建最小linux系统(2)---->Uboot移植
- 移植好uboot和基于initramfs根文件系统Linux内核的开发板的启动过程
- Exynos4412 Uboot 移植(五)—— Uboot 移植过程
- Exynos4412 Uboot 移植(五)—— Uboot 移植过程
- Exynos4412 Uboot 移植(五)—— Uboot 移植过程
- Exynos4412 Uboot 移植(五)—— Uboot 移植过程
- OK335XD uboot移植(一)
- 嵌入式linux开发uboot移植(四)——uboot启动内核的机制
- 使用jQuery验证用户名是否存在,达到局部刷新的效果
- xen,xenserver xcp的区别
- 重建二叉树(字符串操作实现)
- WIN7下安装android开发环境的步骤(留作备忘)
- 到底第一时间接电话应该不应该?
- linux 系统移植 (一,uboot启动过程)
- Ibatis基本的sql语句
- hadoop2.x-官网资料
- 1216杨辉三角
- mac ios 入门1
- 2014微策略面试题(未看)
- 自动创建数据库、自动建表、修改表结构
- 复习 1 java 面向对象之封装,继承,多态(1)
- int main(int argc,char* argv[])详解