- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LINUX内核在arm平台上的移植.ppt.ppt
LINUX内核在arm平台上的移植;实验目的
实验内容
Bootloader
Linux内核
实验步骤
;实验目的;实验内容;嵌入式Linux系统构成;Bootloader介绍;Bootloader的启动流程;Linux内核介绍;Linux内核结构;Linux内核结构(续);Linux内核移植 1;Init.S;/*
* Setup the initrd parameters to pass to the kernel. This can either be
* passed in via a param_struct or a tag list. We spot the param_struct
* method by looking at the first word; this should either indicate a page
* size of 4K, 16K or 32K.
*/
ldmia r13, {r4-r8} @ get size and addr of initrd
@ r5 = ATAG_INITRD
@ r6 = initrd start
@ r7 = initrd end
@ r8 = param_struct address
ldr r9, [r8, #0] @ no param struct?
teq r9, #0x1000 @ 4K?
teqne r9, #0x4000 @ 16K?
teqne r9, #0x8000 @ 32K?
beq param_struct
ldr r9, [r8, #4] @ get first tag
teq r9, r4
bne taglist @ ok, we have a tag list
/*
* We didnt find a valid tag list - create one.
*/
str r4, [r8, #4]
mov r4, #8
str r4, [r8, #0]
mov r4, #0
str r4, [r8, #8]
/*
* find the end of the tag list, and then add an INITRD tag on the end.
* If there is already an INITRD tag, then we ignore it; the last INITRD
* tag takes precidence.
*/;taglist: ldr r9, [r8, #0] @ tag length
teq r9, #0 @ last tag?
addne r8, r8, r9
bne taglist
mov r4, #16 @ length of initrd tag
mov r9, #0 @ end of tag list terminator
stmia r8, {r4, r5, r6, r7, r9}
mov pc, r12 @ call kernel
/*
* We found a param struct. Modify the param struct for the initrd
*/
param_struct: add r8, r8, #16*4
stmia r8, {r6,r7} @ save in param_struct
mov pc, r12 @ call kernel
move: ldmia r4!, {r7 - r10} @ move 32-bytes at a time
stmia r5!, {r7 - r10}
ldmia r4!, {r7 - r10}
stmia r5!, {r7 - r10}
subs r6, r6, #8 * 4
bcs move
mov pc, lr
data: .word initrd_start
.word initrd_addr
.word initrd_len
.word kernel_start
.word kernel_addr
.word kernel_len
.word 0 @ r4 = ATAG_CORE
.word 0 @ r5 = ATAG_INITRD
.word initrd_addr @ r6
.word initrd_len @ r7
.word params @ r8
.type
您可能关注的文档
最近下载
- 汉语口语速成入门篇上 第九课 你家有几口人?教案资料.ppt VIP
- DZ∕T 0291-2015 饰面石材矿产地质勘查规范.pdf
- 太阳能路灯工程施工组织方案的编制与应用指南.docx VIP
- 教育行业在线教学平台建设与运营管理方案.doc VIP
- 2025年国家开放大学电大《公共部门人力资源管理》机考3套真题题库及.docx VIP
- (2024版)小学一年级道德与法治下册第一课《有个新目标》教学设计部编版.pdf VIP
- 中华护理学会专科护士通科题库 .pdf VIP
- 2025天津市华淼给排水研究设计院有限公司对外招聘7人笔试历年参考题库附带答案详解.docx
- 老年社会工作服务项目策划书.docx VIP
- 圆钢方钢管受压承载力计算表.xls VIP
文档评论(0)