博客
关于我
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/

你可能感兴趣的文章
Netty工作笔记0013---Channel应用案例4Copy图片
查看>>
Netty工作笔记0014---Buffer类型化和只读
查看>>
Netty工作笔记0015---MappedByteBuffer使用
查看>>
Netty工作笔记0019---Selector API介绍
查看>>
Netty工作笔记0020---Selectionkey在NIO体系
查看>>
Netty工作笔记0022---NIO快速入门--编写客户端
查看>>
Vue踩坑笔记 - 关于vue静态资源引入的问题
查看>>
Netty工作笔记0024---SelectionKey API
查看>>
Netty工作笔记0025---SocketChannel API
查看>>
Netty工作笔记0027---NIO 网络编程应用--群聊系统2--服务器编写2
查看>>
Netty工作笔记0028---NIO 网络编程应用--群聊系统3--客户端编写1
查看>>
Netty工作笔记0030---NIO与零拷贝原理剖析
查看>>
Netty工作笔记0034---Netty架构设计--线程模型
查看>>
Netty工作笔记0050---Netty核心模块1
查看>>
Netty工作笔记0057---Netty群聊系统服务端
查看>>
Netty工作笔记0060---Tcp长连接和短连接_Http长连接和短连接_UDP长连接和短连接
查看>>
Netty工作笔记0063---WebSocket长连接开发2
查看>>
Netty工作笔记0068---Protobuf机制简述
查看>>
Netty工作笔记0070---Protobuf使用案例Codec使用
查看>>
Netty工作笔记0072---Protobuf内容小结
查看>>