- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
U-boot学习
U-boot学习笔记本u-boot分析基于u-boot官网u-boot2010-12文件的goni开发板。1:start.S:第一步跳转到reset执行代码。reset:1:设置CPU为特权模式mrsr0, cpsrbic r0, r0, #0x1forr r0, r0, #0xd3msrcpsr,r0操作cpsr寄存器,更改模式和禁止中断也就是把低五位置0b10011把第6,7位写1禁止中断。#if (CONFIG_OMAP34XX)/* Copy vectors to mask ROM indirect addr */adrr0, _start@ r0 - current position of codeaddr0, r0, #4@ skip reset vectormovr2, #64@ r2 - size to copyaddr2, r0, r2@ r2 - source end addressmovr1, #SRAM_OFFSET0@ build vect addrmovr3, #SRAM_OFFSET1addr1, r1, r3movr3, #SRAM_OFFSET2addr1, r1, r3next:ldmiar0!, {r3 - r10}@ copy from source address [r0]stmiar1!, {r3 - r10}@ copy to target address [r1]cmpr0, r2@ until source end address [r2]bnenext@ loop until equal */#if!defined(CONFIG_SYS_NAND_BOOT) !defined(CONFIG_SYS_ONENAND_BOOT)/* No need to copy/exec the clock code - DPLL adjust already done * in NAND/oneNAND Boot. */blcpy_clk_code@ put dpll adjust code behind vectors#endif /* NAND Boot */#endif上面这段代码使用了宏编译,查找了包含的头文件以及本文件,并没有该宏的定义,所以该段程序不参与编译。#ifndef CONFIG_SKIP_LOWLEVEL_INITblcpu_init_crit#endif这段代码宏也没有定义,故参与程序的编译。分析可知程序带返回跳到cpu_init_crit汇编函数执行。下面我们分析cpu_init_crit函数。cpu_init_crit:/* * Invalidate L1 I/D */movr0, #0@ set up for MCRmcrp15, 0, r0, c8, c7, 0@ invalidate TLBsmcrp15, 0, r0, c7, c5, 0@ invalidate icache/* * disable MMU stuff and caches */mrcp15, 0, r0, c1, c0, 0bicr0, r0, #0 clear bits 13 (--V-)bic r0, r0, #0 clear bits 2:0 (-CAM)orr r0, r0, #0 set bit 1 (--A-) Alignorr r0, r0, #0 set bit 12 (Z---) BTBmcrp15, 0, r0, c1, c0, 0/* * Jump to board specific initialization... * The Mask ROM will have already initialized * basic memory. Go here to bump up clock rate and handle * wake up conditions. */movip, lr@ persevere link reg across callbl lowlevel_init@ go setup pll,mux,memorymovlr, ip@ restore linkmovpc, lr@ back to my caller在第一段中操作了cp15寄存器,关掉了TLB和指令缓存icache。其中TLB是MMU内存映射时候需要从虚拟地址查表转换成物理地址,页表位于内存中,会影响查表速度,于是在CPU内部开辟了寄存器来存一小部分的页表,称为TLB。CP15中寄存器C8和C10控制TLB的相关操作。mcrp15, 0, r0, c8, c7, 0可知这句是失效TLBC7用于控制cac
您可能关注的文档
最近下载
- 有趣的心理学课件.ppt VIP
- LabVIEW软件在锂电池故障模拟检测系统的设计与开发.docx VIP
- 木结构建筑防火性能分析.pptx VIP
- 第8章 剥蚀厚度与埋藏史和埋藏史恢复方法.ppt
- 05J909:工程做法国标 行业图集.pdf VIP
- 浙江省杭州市临平区2024−2025学年七年级上学期分班考 数学试题(7月份)(含解析).docx VIP
- 2024-2025学年江苏省苏州市星海实验中学高一(上)期中考试物理试卷(含答案).docx VIP
- 右心衰竭患者麻醉指南.pptx
- 销售人员必备山东省滨州市惠民县医疗机构分布明细.pdf VIP
- 销售人员必备山东省滨州市阳信县医疗机构分布明细.pdf VIP
文档评论(0)