IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> ARM-Linux开发(一)- 如和实现跳转到SDRAM -> 正文阅读

[系统运维]ARM-Linux开发(一)- 如和实现跳转到SDRAM

S3C2440启动可以从Nor flash 或者Nand flash 启动,从Nor启动可以直接在Nor(0地址开始)运行,NAND 启动会先将前4K代码copy到片上的SRAM,然后从0地址开始运行。

不管哪种启动方式,最终都需要将代码拷贝到SDRAM中去,因为一般完整的boot loader都比较大,片上SRAM是放不下的。

实现步骤:

1. 必要的初始化

??????? 1) 关看狗

??????? 2) 初始化SDRAM

??????? ??????? 在此过程中很有可能会用到LDR指令,注意,如果编译时链接地址设置位SDRAM的地址,也就是copy到SDRAM中运行的起始地址,那么这里就不能使用LDR,而要用adr(l).

这里说下LDR 和ADR的区别:

LDR: 与连接地址相关的绝对地址,比如链接起始地址位0x30000000, 那么用LDR 读到的地址就是0x3xxxxxxx的,而这个时候运行的代码实际上是在片上SRAM或者NOR,都是0地址开始的4K范围内,用LDR已读就读到千里之外去了。注意这里用LDR后,虽然编译后反汇编看到的是PC 偏移,但是这个PC实际上是与链接地址相关的

???????300000?5c:?? ?e59f0054 ?? ?ldr?? ?r0, [pc, #84]???

ADR(L): ADR 就加载运行地址相关的地址,也就是基于当前运行位置的偏移地址,比如 ADR R0, lable, 这个时候读到的label 的地址就是基于当前运行位置PC偏移后的地址,而不与链接地址相关,如下,它会被转换成ADD指令来读取。

????????3000004c:?? ?e28f201c ?? ?add?? ?r2, pc, #28

2. copy 代码到SDRAM

3. 跳转到SDRAM执行

??????? 如果链接地址是从0开始,那么跳转时,只需要加上实际SDRAM运行的起始地址,然后赋值给PC指针即可。

????????

ldr sp, =0x31000000

ldr r1, main_ofs

ldr r0, =_start

add lr, r0, r1

add lr, lr, #0x30000000

mov r0, #0

mov pc, lr

main_ofs:

.long main - _start

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 15:29:39  更:2021-08-20 15:30:59 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 19:39:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计