1.5.SDRAM和重定位relocate-ARM裸机第五部分

本期课程的主要目标是学习汇编调用C语言、指令cache、关闭看门狗等,重点知识是代码重定位与链接脚本、DDR的初始化,并且将整个裸机程序重定位到DDR中。

106373人学习

中级13课时2015/07/11更新

二维码下载学堂APP缓存视频离线看

朱有鹏
  • 课程介绍
  • 课程大纲

适合人群:

本课程为ARM裸机学习课程中的第五部分,接之前四个部分,继续讲解关看门狗、汇编调用C程序、SDRAM初始化、重定位与连接脚本等,适合看过前四部分的同学继续学习。

你将会学到:

本期课程的主要目标是学习汇编调用C语言、指令cache、关闭看门狗等,重点知识是代码重定位与链接脚本、DDR的初始化,并且将整个裸机程序重定位到DDR中。

课程简介:


本期课程继续来编写汇编程序。首先是关看门狗、汇编调用C程序、指令cache等基础内容,然后重点介绍链接脚本与代码重定位问题,并且在iRAM中实现简单的代码重定位;最后讲了DRAM的初始化,并在初始化DRAM后将代码重定位到DRAM中去运行。


嵌入式很是当前IT领域较炙手可热的话题。其主要应用领域涵盖与人类相关的各行业:

* 消费电子(手机、平板电脑、游戏机)

* 物联网(智能家居、智慧城市)

* 工业自动化(无人工厂、工业机器人)

巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。


课程特色

*零基础可学习,降低学习门槛。

*深入浅出,通俗易懂。不怕学不会,就怕你不学习。

*思路清晰、语言风趣,对着视频看也不会想睡觉······

*视频 + 文档 + 练习题 + 答疑,多方位保证学习质量。

*基础知识 + 思路引导的教学方式,授之以鱼更授之以渔。

*系列课程。本教程只是入门篇,后续还有更多更精彩视频更新中。


展开更多

课程大纲-1.5.SDRAM和重定位relocate-ARM裸机第五部分

  • 1

    1.5.1.汇编写启动代码之关看门狗使用汇编在启动代码中关闭看门狗,以防止启动过程中不喂狗导致复位。目的是让大家认识看门狗这个外设,同时进一步熟悉ARM汇编程序编写

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [42:37]
  • 2

    1.5.2.汇编写启动代码之设置栈和调用C语言1本节主要讲解C语言运行时环境和栈的重要性,然后分析了S5PV210的栈寄存器SP,进一步查阅文档确定启动代码中规划的栈内存区间,最终使用汇编编程设置栈以便调用C语言程序

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [31:52]
  • 3

    1.5.3.汇编写启动代码之设置栈和调用C语言2本节接上节将之前第三部分中的led程序由汇编更改为C程序,然后被汇编调用。通过实验告诉大家汇编程序是如何调用C程序进行交互的。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [40:08]
  • 4

    1.5.4.汇编写启动代码之开iCache本节主要讲解cache的概念和作用,为什么需要cache,以及在210中如何通过汇编操作cp15开打开/关闭cache。

    [32:49]
  • 5

    1.5.5.重定位引入和链接脚本1本节讲解了几个重要概念,包括:位置无关码PIC、链接地址和运行地址,然后再次结合S5PV210的启动过程分析,最终目的是让大家明白为什么需要重定位

    [34:44]
  • 6

    1.5.6.重定位引入和链接脚本2本节首先讲了链接地址和运行地址各自由什么决定,然后简单讲述代码编译链接的步骤,最后重点讲了各种段,如代码段、数据段、bss段等的含义。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [27:48]
  • 7

    1.5.7.重定位引入和链接脚本3本节接上节讲述各种段的含义,最后以一个简单的链接脚本为例讲述了链接脚本的构成和解读方法。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [29:11]
  • 8

    1.5.8.代码重定位实战1本节开始重定位实战,首先明确任务(在sram内进行重定位),然后重点讲解了实现思路及步骤,为下节课写代码打好基础。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [37:14]
  • 9

    1.5.9.代码重定位实战2本节讲解SRAM内部重定位的代码,着重讲了adr与ldr伪指令的区别、重定位的copy汇编代码、清除bss段的代码等模块,目的是让大家彻底掌握重定位。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [54:41]
  • 10

    1.5.10.SDRAM引入本节首先讲解SDRAM和DDR的联系和区别,然后粗略讲了SDRAM的特性,最后带大家简单读了SDRAM芯片的手册,为后面写代码时查阅手册打好了基础。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [35:36]
  • 11

    1.5.11.SDRAM初始化本节首先从原理图出发,带领大家详细分析X210核心板原理图中DDR SDRAM芯片的相关部分,得出一些参数;然后再结合数据手册内容得到另一些参数,这些参数在之后的代码中都会用得到。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [36:45]
  • 12

    1.5.12.汇编初始化SDRAM详解1本节开始讲解SDRAM初始化代码,首先引导大家找到数据手册上27步初始化DRAM的部分,然后逐项分析代码。本节主要分析了设置引脚驱动能力,和DLL锁存部分。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [40:48]
  • 13

    1.5.13.汇编初始化SDRAM详解2本节接上节继续讲解SDRAM初始化代码,主要讲了几个关键性寄存器的参数值设置。最后在DRAM初始化后将代码重定位到DRAM上运行,完成本章内容。

    「仅限付费用户」点击下载“课件_1.5.ARM裸机第五部分-SDRAM和重定位relocate.txt”

    [43:33]
在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部