移植全新的linux-3.5.0到Super4412(1)
来源:互联网 发布:qq刷会员软件 编辑:程序博客网 时间:2024/05/21 06:43
2017-05-24
编译通过,烧写进板子后,显示如下,而且板子发烫。
Superboot-4412 V2.5(20150923) by FriendlyARM
Booting from eMMC
Uncompressing Linux... done, booting the kernel.
烧写的是zImage镜像文件,经过了压缩,从boot-loader跳转到zImage的入口是linux-3.5.0\arch\arm\boot\compressed\head.S
链接脚本是linux-3.5.0\arch\arm\boot\compressed\vmlinux.lds
根据链接脚本可以获知段是_start,代码如下所示:
.section ".start", #alloc, #execinstr
/*
* sort out different calling conventions
*/
.align
.arm @ Always enter in ARM state
start:
.type start,#function
.rept 7
mov r0, r0
.endr
ARM( mov r0, r0 )
ARM( b 1f )
THUMB( adr r12, BSYM(1f) )
THUMB( bx r12 )
在如下的代码中调用解压缩函数
mov r0, r4
mov r1, sp@ malloc space above stack
add r2, sp, #0x10000@ 64k max
mov r3, r7
bl decompress_kernel
bl cache_clean_flush
bl cache_off
mov r0, r4
mov r0, #0@ must be zero
mov r1, r7@ restore architecture number
mov r2, r8@ restore atags pointer
ARM( mov pc, r4 ) @ call kernel
THUMB( bx r4 ) @ entry point is always ARM
- 移植全新的linux-3.5.0到Super4412(1)
- 移植全新的linux-3.5.0到Super4412(2)
- proxool移植到linux上出现的错误(1)
- linux内核移植到tiny6410(1)
- super4412下调试cmos驱动是的nternal error: Oops - BUG: 0 [#1] PREEMPT SMP ARM问题解决
- 将Linux代码移植到Windows的简单方法(1)
- proxool移植到linux上出现的错误(2)
- 【转】linux-2.6.38到tiny6410的移植手册(连载1)__nand flash
- 从 Solaris 到 Linux 的移植向导
- 移植Linux(ucLinux)到GBA的记录
- Windows 到 Linux 代码移植的常见问题
- 从 Solaris 到Linux应用的移植
- 移植MPlayer到linux 2.6的方法
- linux移植到window相关的函数
- 移植MPlayer到linux 2.6的方法
- 从 Solaris 到Linux应用的移植
- windows的c++源代码移植到linux
- QNX的应用移植迁移到Linux
- Android 广播 动、静态注册广播(作为内部类使用)
- C#实现中英文混合字符串截取的方法
- tensorflow ValueError: Dimensions must be equal
- Maven| Maven相关概念
- 详解Shell脚本实现iOS自动化编译打包提交
- 移植全新的linux-3.5.0到Super4412(1)
- [easy]561. Array Partition I
- 操作系统基础
- Ubuntu使用教程:无法获得锁 /var/lib/apt/lists/lock
- ubuntu12.04-server设置静态IP
- spark数据导入、处理实例
- 大话设计模式-初夜
- Object方法简介
- codeforce 6A