课程分类

课程介绍
课程目录
用户评论
课程介绍
课程目录
用户评论

你将获得

  • 掌握某些知识点
  • 学会某些技巧(或思路)

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

  • 互联网课程品牌《朱老师物联网大讲堂》创始人。著有《嵌入式linux与物联网软件开发-C语言内核深度解析》等书籍,精通U-Boot、linux kernel移植及驱动程序开发;精通C、C++、Java、C#等高级语言,熟悉ARM体系结构;熟悉linux、WinCE下的开发流程;授课风趣幽默,讲解条理清晰,对知识有自己独到见解,善于发散学生的思维。

  • 课程详情

    课程目标
    本期课程的主要目标是掌握汇编调用C语言、指令cache、关闭看门狗等,重点知识是代码重定位与链接脚本、DDR的初始化,并且将整个裸机程序重定位到DDR中。
    适用人群
    本课程为ARM裸机学习课程中的第五部分,接之前四个部分,继续讲解关看门狗、汇编调用C程序、SDRAM初始化、重定位与连接脚本等,适合看过前四部分的同学继续学习。如果没有学习前面部分,建议从头开始学习,否则可能会听不懂。
    课程简介

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

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

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

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

    可以毫不客气的说,IT发展的未来在于嵌入式。巨大的商机和人才缺口导致嵌入式软件工程师的薪资居高不下,引得无数青年才俊、高校学子相继加入、苦苦钻研。

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

     

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    朱有鹏老师《嵌入式工程师养成计划系列》,欢迎加入我们的学员QQ群(群号:397164505)和其他志同道合的朋友一起学习、一起讨论。明天的收获,源自于今天的付出!!!

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    课程特色

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

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

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

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

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

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

     

     

    1.5.1.汇编写启动代码之关看门狗[免费观看]

    42:37

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

     

    1.5.2.汇编写启动代码之设置栈和调用C语言1

    31:52

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

     

    1.5.3.汇编写启动代码之设置栈和调用C语言2

    40:08

    本节接上节将之前第三部分中的led程序由汇编更改为C程序,然后被汇编调用。通过实验告诉大家汇编程序是如何调用C程序进行交互的。

     

    1.5.4.汇编写启动代码之开iCache

    32:49

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

     

    1.5.5.重定位引入和链接脚本1

    34:44

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

     

    1.5.6.重定位引入和链接脚本2

    27:49

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

     

    1.5.7.重定位引入和链接脚本3

    29:12

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

     

    1.5.8.代码重定位实战1

    37:14

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

     

    1.5.9.代码重定位实战2

    54:41

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

     

    1.5.10.SDRAM引入

    35:36

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

     

    1.5.11.SDRAM初始化

    36:46

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

     

    1.5.12.汇编初始化SDRAM详解1

    40:48

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

     

    1.5.13.汇编初始化SDRAM详解2

    43:33

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

    温馨提示
    • 请勿私下交易
      请勿在平台外交易。与机构和老师私下交易造成的任何损失及纠纷,腾讯课堂不承担任何责任
    • 听课说明

      1、电脑:访问腾讯课堂官网 ke.qq.com 查看我的课表或下载win/mac客户端听课

      2、手机/平板:下载腾讯课堂APP, 进入学习页面听课