您现在的位置是:课程
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。该工具是我们后面理解和分析链接地址、链接脚本的利器,在这里给大家先认识下,方便以后引入使用。
上一篇:C语言培训第十章(指针1)
下一篇:C语言培训第十章(指针3)