arm linux head.s,arm-linux head.S 源代码分析
arm-linux head.S 源代碼分析
arm-linux head.S 源代碼分析
這是ARM-Linux運行的第一個文件,這些代碼是一個比較獨立的代碼包裹器。其作用就是解壓Linux內核,并將PC指針跳到內核(vmlinux)的第一條指令。
Bootloader中傳入到Linux中的參數總共有三個,Linux中用到的是第二個和第三個。第二個參數是architecture id,第三個是taglist的地址。Architecture id的arm芯片在Linux中一定要唯一。Taglist是bootload向Linux傳入的參數列表(詳細的解釋請參考《booting arm linux.pdf》)。
//程序的入口點
.section ".start", #alloc, #execinstr
/*
* sort out different calling conventions
*/
.align
start:
.type start,#function
.rept 8//重復8次下面的指令,也就是空出中斷向量表的位置
mov r0, r0//就是nop指令
.endr
b 1f
.word 0x016f2818 @ Magic numbers to help the loader
.word start @ absolute load/run zImage address
.word _edata @ zImage end address
1: mov r7, r1 @ save architecture ID
總結
以上是生活随笔為你收集整理的arm linux head.s,arm-linux head.S 源代码分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去除小圆点_去除li小圆点以及解决其空格
- 下一篇: 软件工程讲义 3 两人合作(2) 要会做