博客
关于我
ARM体系结构(三)——iROM——九鼎创展 x210V3s
阅读量:57 次
发布时间:2019-02-25

本文共 651 字,大约阅读时间需要 2 分钟。

一、iROM完成的工作

1、关闭看门狗

2、初始化调整缓存

3、初始化栈内存地址

4、初始化堆内存地址

5、初始化块设备拷贝函数

6、设置PLL并且设备系统时钟

7、拷贝BL1阶段的代码到SRAM中

8、检查被拷贝程序的校验和

9、检查是否安全模式

10、跳转到BL1的起始代码处

注意:iROM中已经有固化的代码,其实不需要再做一遍,但引导程序为了能够通用会把iROM中做的事情再做一遍。

二、BL1中需要完成的工作

1、以引导操作系统为目的

1.电源锁定

2.初始化DRAM

3.设置内存映射表

4.重新设置堆、栈的内存地址

5.拷贝BL2到DRAM中

6.跳转到BL2中运行

2、以控制硬件设置为目的

1.电源锁定

2.开始执行控制硬件的业务逻辑代码

注意:BL1中的代码前16个字节为校验和

三、电源锁定

地址: 0xE010_E81C

值:b[0] = 1 b[8] = 1 b[9] =1

ldr r0, =0xe010e81c unsigned int* p = 0xe010e81c;

ldr r1, [r0] unsigned int val = *p;

orr r1, r1, #0x300 val = val | 0x300;

orr r1, r1, #0x1 val = val | 0x1;

str r1, [r0] *p = val;

注意:汇编语言中 . 代表当前位置,b . 就是死循环

四、计算校验和

根据官方提供mkv210_image.c,重写一份添加校验和工具。

转载地址:http://ecq.baihongyu.com/

你可能感兴趣的文章
Netstat端口占用情况
查看>>
Netty 4的内存管理:sun.misc.Unsafe
查看>>
Netty channelRegistered\ChannelActive---源码分析
查看>>
Netty NIO transport && OIO transport
查看>>
netty php,netty
查看>>
Netty WebSocket客户端
查看>>
netty 主要组件+黏包半包+rpc框架+源码透析
查看>>
Vue过渡 & 动画---vue工作笔记0014
查看>>
Netty 异步任务调度与异步线程池
查看>>
Netty 的 Handler 链调用机制
查看>>
Netty 编解码器详解
查看>>
Netty 解决TCP粘包/半包使用
查看>>
Netty 调用,效率这么低还用啥?
查看>>
Netty 高性能架构设计
查看>>
Netty+Protostuff实现单机压测秒级接收35万个对象实践经验分享
查看>>
Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
查看>>
netty--helloword程序
查看>>
netty2---服务端和客户端
查看>>
Netty5.x 和3.x、4.x的区别及注意事项(官方翻译)
查看>>
netty——bytebuf的创建、内存分配与池化、组成、扩容规则、写入读取、内存回收、零拷贝
查看>>