您现在的位置是:课程

GPIO和LED—1.ARM裸机全集第四部分

2023-06-29 20:42课程 人已围观

课程目标
本期课程的主要目标是熟练掌握S5PV210的usb和sd卡启动方式,可以自己使用ARM汇编编写裸机程序点亮LED并且下载执行。
适用人群
本课程为ARM裸机学习课程中的第四部分,接之前三个部分,继续讲解ARM裸机程序的下载流程、使用ARM汇编编写程序点亮LED,适合看过前三部分的同学继续学习。如果没有学习前面部分,建议从头开始学习,否则可能会听不懂。
课程简介

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

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

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

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

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

从本期开始开始写代码了。前三期课程已经打好了基础,本课程首先下载老师编译好的裸机程序bin文件,熟悉usb启动和sd卡启动的下载流程;然后讲解程序编写编译的技术如Makefile、mkv210_image.c等;最后一步步编写代码点亮LED。总共14节课,让大家进入裸机程序开发的节奏。

课程特色

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

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

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

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

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

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

1.4.1.裸机实验体验之usb启动配合dnw工具下[免费观看]

40:25

本节的主要目的是学会从usb启动,然后使用dnw工具下载裸机程序bin文件到开发板内部SRAM执行。学完本节要求大家能够使用usb启动方式进行裸机程序调试,以方便后面测试自己写的代码(本节会提供我编译好的led.bin)。

 

1.4.2.裸机实验体验之SD卡下载

21:27

本节的主要目的是学会设置开发板从SD2启动(需要事先将板载SD0通道的iNand上的bootloader破坏掉),并且学会在Windows中使用烧录软件、linux中使用dd命令2种方式来制作启动SD卡。学完本节要求大家能够使用SD卡启动方式进行裸机程序的调试,以方便后面测试自己写的代码(本节会提供我编译好的led.bin)。

 

1.4.3.自己动手安装交叉编译工具链1

39:17

本节首先介绍linux中装软件和windows中的不同,然后手把手教大家从零开始自己动手安装交叉编译工具链并作测试。

 

1.4.4.自己动手安装交叉编译工具链2

35:00

本节接上节讲解如何将安装的交叉编译工具链导出到环境变量,并且为工具链制作arm-linux-符号链接。

 

1.4.5.Makefile大侠隆重登场    

37:49

本节给大家引入Makefile,并且ubuntu环境下简单介绍Makefile的书写,目标、依赖等基本概念,最后分析了我们在裸机程序中使用到的Makefile。本节学完要求大家理解Makefile的基本用法,会自己根据需要修改Makefile。

 

1.4.6.mkv210_image.c文件详解1

43:53

本节回顾第三部分中讲到的S5PV210启动知识,并且分析SD卡启动时头信息的技术要求,然后引入mkv210_image.c文件并作简单分析。

 

1.4.7.mkv210_image.c文件详解2

43:36

本节接上节继续详细分析mkv210_image.c文件的技术细节,目的是使大家深入理解本文件中C程序的工作原理和实现技巧。

 

1.4.8.一步步点亮LED1_硬件工作原理及原理图查阅

18:19

本节从LED工作原理讲起,通过查阅原理图分析点亮LED的原理和方法。

 

1.4.9.一步步点亮LED2_数据手册查阅及相关寄存器浏览

31:42

本节接上节内容,查阅SoC数据手册中GPIO寄存器部分,找到板子上LED对应的GPIO并分析操作方法。

 

1.4.10.一步步点亮LED3_从零开始手写汇编点亮LED

42:29

本节开始写我们第一个汇编程序,从零开始用最少的代码点亮LED,并且使用之前讲过的Makefile编译,然后使用之前实践过的下载方法下载运行测试。至此,本章点亮LED的目标已经实现。

 

1.4.11.一步步点亮LED4_使用位运算实现复杂点亮要求

31:34

本节以上节的汇编代码为基础,进行必要修改,使用位运算的技巧来实现一些复杂的电灯要求(譬如隔一个亮一个)。学完本节要求大家对位运算有一定掌握,并基本掌握使用位运算来操作SoC寄存器

 

1.4.12.一步步点亮LED5_汇编编写延时函数并实现LED闪烁效果

30:39

本节接上节并继续复杂化。引入汇编编写的延时函数,并通过延时达到LED闪烁显示的效果。本节学习的目的是加深大家对汇编编程的理解,学会用汇编来写函数并调用之,为以后编写复杂汇编程序打基础。

 

1.4.13.一步步点亮LED6_再难一点的流水灯效果

26:26

本节是点亮LED的最后一节了,实现的效果是流水灯(跑马灯)。有了以上章节的学习,本节任务应该不难实现。

 

1.4.14.反汇编工具objdump的使用简介

32:28

本节介绍交叉编译工具链中的反汇编工具objdump。该工具是我们后面理解和分析链接地址、链接脚本的利器,在这里给大家先认识下,方便以后引入使用。

-->

站点信息

  • 文章统计篇文章