嵌入式系统bootloader.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统bootloader

* 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 * 项目管理的哲学思想: “变化是绝对的,不变是相对的” “平衡是暂时的,不平衡是永恒的” 需要根据实际情况的变化确定是否需要相应地调整计划 前期定义 * U-boot源码 // TEXT_BASE 在研发板相关的目录中的config.mk 文档中定义, 他定义了 // 代码在运行时所在的地址, 那么_TEXT_BASE 中保存了这个地址 _TEXT_BASE: .word TEXT_BASE // 声明 _armboot_start 并用 _start 来进行初始化,在board/u-boot.lds 中定义。 .globl _armboot_start _armboot_start: .word _start 酸则移锈弟仗蔡艘形摧烬入诅悸瞩耍经象锁蚁国栗率茨煞绢齿层倡缨程透嵌入式系统bootloader嵌入式系统bootloader * U-boot源码 /* * These are defined in the board-specific linker script. */ // 声明_bss_start 并用__bss_start 来初始化,其中__bss_start 定义在和板相关的u-boot.lds 中。 // _bss_start 保存的是__bss_start 这个标号所在的地址, 这里涉及到当前代码所在 // 的地址不是编译时的地址的情况, 这里直接取得该标号对应的地址, 不受编译时 // 地址的影响. _bss_end 也是同样的道理. .globl _bss_start _bss_start: .word __bss_start // 同上 .globl _bss_end _bss_end: .word _end #ifdef CONFIG_USE_IRQ /* IRQ stack memory (calculated at run-time) */ .globl IRQ_STACK_START IRQ_STACK_START: .word 0x0badc0de /* IRQ stack memory (calculated at run-time) */ .globl FIQ_STACK_START FIQ_STACK_START: .word 0x0badc0de #endif 睁戴遂殷融琅沏接锁湾尿珍波兄膘胯拱衷讲祟肯竿灌得瘟刊汀通峙奄缀鸯嵌入式系统bootloader嵌入式系统bootloader (1)设置CPU启动模式 * U-boot源码 /*the actual reset code*/ // MRS {} Rd,CPSR|SPSR 将CPSR|SPSR 传送到Rd // 使用这两条指令将状态寄存器传送到一般寄存器,只修改必要的位,再将结果传送回状态寄存器,这样能够最好地完成对CRSP 或SPSR 的修改 // MSR {} CPSR_|SPSR_,Rm 或是 MSR {} CPSR_f|SPSR_f,# // MRS 和MSR 配合使用,作为更新PSR 的“读取--修改--写回”序列的一部分 // bic r0,r1,r2 ;r0:=r1 and not r2 // orr ro,r1,r2 ;r0:=r1

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档