课程分类

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

你将获得

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

教学服务

  • icon

    1v1专属答疑服务

  • icon

    BAT专家面试辅导

讲师介绍

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

  • 课程详情

    课程目标
    本课程为uboot学习的第6部分,主要内容是uboot启动的第二阶段start_armboot函数。本阶段是开发板级别的硬件初始化及uboot中数据结构的初始化函数集合,经过本轮初始化后uboot就进入了命令行死循环中。
    适用人群
    本课程为uboot和系统移植阶段的第6部分,适合有一定嵌入式学习基础(譬如学完了裸机全集和C语言高级篇),需要继续学习uboot和系统移植的同学。
    课程简介

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

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

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

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

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

    课程特色

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

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

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

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

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

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

    3.6.1.start_armboot函数简介

    [免费观看]

    17:54

    本节课简要介绍start_armboot函数,回顾uboot启动第一阶段的同时展望了第二阶段要做的事情,并且分析了uboot启动最终的归宿。

     

    3.6.2.start_armboot解析1

    28:02

    本节开始解析start_armboot函数,主要解析了init_fnc_t和DECLARE_GLOBAL_DATA_PTR这两个表达式。

     

    3.6.3.内存使用排布

    26:33

    本节接应上节讲的gd和bd,介绍uboot中设计的内存使用和排布方法。

     

    3.6.4.start_armboot解析2

    32:24

    本节开始分析init_sequence,并从头开始分析其中的板级初始化函数。

     

    3.6.5.start_armboot解析3

    37:53

    本节主要讲解board_init中的DDR配置和初始化部分。

     

    3.6.6.start_armboot解析4

    35:06

    本节主要讲解interrupt_init和env_init,分别是定时器初始化和环境变量的初始化。

     

    3.6.7.start_armboot解析5

    18:47

    本节主要讲解init_baudrate和serial_init两个函数,都是串口相关的初始化。

     

    3.6.8.start_armboot解析6

    38:54

    本节主要讲解console_init_f、display_banner和print_cpuinfo这两个初始化函数,分别是控制台初始化、打印启动logo和cpu信息的函数。

     

    3.6.9.start_armboot解析7

    27:26

    本节介绍了check_board函数,同时重点给大家演示了如何进行uboot的代码实践和学习。

     

    3.6.10.start_armboot解析8

    23:36

    本节介绍了init_sequence中最后的2个dram相关初始化函数,并且对整个init_sequence中所有初始化函数做了总结和回顾。

     

    3.6.11.start_armboot解析9

    24:28

    本节讲解flash初始化和堆管理器内存初始化两个函数,并且进行了代码实践。

     

    3.6.12.start_armboot解析10

    32:49

    本节主要讲解MMC卡初始化相关代码,这是对驱动学习最好的启蒙。

     

    3.6.13.start_armboot解析11

    24:02

    本节主要讲解env_relocate函数,详细介绍了环境变量在uboot的整体实现。

     

    3.6.14.start_armboot解析12

    24:27

    本节主要讲解IP地址、MAC地址的获取及确定,devices_init和jumptable的初始化。

     

    3.6.15.start_armboot解析13

    28:36

    本节主要讲解console_init_f、enable_interrupts、board_late_init这几个初始化函数。

     

    3.6.16.start_armboot解析14

    28:01

    本节讲解剩下的几个初始化函数,并且结束了start_armboot函数。

     

    3.6.17.uboot启动2阶段总结

    25:36

    本节对本课程中讲到的start_armboot函数进行整体总结回顾,帮助大家加深记忆.

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

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

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