[资料] 韦东山所有视频详细介绍

[复制链接]

版主

发表于 2018-4-26 09:38:13   843 查看 1 回复 显示全部楼层 倒序浏览
分享
本帖最后由 weidongshan 于 2018-4-26 09:56 编辑

讲师韦东山简介

毕业于中国科学技术大学物理软件双学位, 畅销书《嵌入式 Linux 应用开发完全手册》作者,10 多年嵌入式 LINUX 编程一线开发经验。


为人低调谦逊, 授课风格非常有效。

不跟着PPT念, 看重实践, 确保学员享受高品质的课程体验,其凭借强大的技术能力和售后,是嵌入式 linux /Android培训领域的佼佼者。

座右铭:悦己之作,方能悦人。


履历:

2003 年在创业公司领导团队开发车载手机、电话 ;

2005 年在中兴通迅负责网络电视、机顶盒、IPCamera 多个项目的底层系统开发 ;

2007 年编写书籍《嵌入式 Linux 应用开发完全手册》;

2008 年成为自由职业者,专门承接项目并帮助企业解决各种疑难问题, 兼职华清远见、尚观科技特邀讲师;

2012 年至今创办深圳百问网科技有限公司,专注嵌入式Linux/Android 视频培训, 陆续为社会输送了几万名嵌入式行业高级专业人才。



韦东山视频总体介绍


ARM裸机1期加强版(新1期)          与旧1期的区别

旧1期,2010年开始录,主要帮朋友推销开发板,没想要进入培训行业,2017年9月,重录第1期裸板视频,命名为新1期。


为什么要重录?

因为很多同学反映没有Linux操作经验、没有单片机基础很难看懂旧1期。


录老视频时,本意是配合书籍《嵌入式LINUX应用开发完全手册》学习,并没有面向0基础的同学,新1期有几个主要特点:

a: 比旧1期详细70%,对旧1期的易错点,难点重点剖析,

b: 适合人群:没有LINUX操作经验、没有单片机基础、没有硬件知识的,

c: 只要求你会简单的C语言,计算机基础和数电基础,

d:所有代码现场编写、现场调试,绝对不会拿着现成的代码给你分析。

e: 新开发环境,开发更便捷


新1期与2期间的衔接(免费)

1. uboot编译与分析

2. 内核编译与分析

3. 文件系统分析与制作

4. linux 驱动入门


第2期Linux驱动大全        

深入写驱动

特点:抛弃基于三星官方驱动的移植,完全从零写驱动, 精讲驱动原理,内容包括:输入子系统、lcd、触摸屏、nand、nor、网卡、USB、SPI、i2c、声卡、DMA、裸机驱动应用调试等。

UBOOT移植_LINUX移植_驱动移植(免费)         

1.UBOOT 2012.0401 移植

2.Linux 3.4.2 内核移植

3.Linux 2.6 驱动 移植到 Linux 3.4.2


第3期Linux项目实战        

1. 文件浏览器_数码相框(完全从零搭建项目框架)

2. 摄像头和 wifi 网卡(精华)

3. 电源管理


SPI 模块视频        

1. SPI 协议,

2. SPI 裸机,

3. SPI 总线驱动,

4. SPI 设备驱动,

5. SPI OLED 驱动


第4期Android系统 :安卓驱动framework深度开发

1、java 、c++ 、jni

2、Bootloader

3、内核移植

4、init进程与文件系统

5、Android框架(Binder、Service、Activity等)

6、Android专有驱动(Ashmem,电源管理等)

7. Andrdoid常用驱动(输入系统,显示系统、音频,camera系统等)

8. 项目


QQ物联 :全国第一个基于QQ SDK的物联网ARM视频

  

预备基础知识:C 语言

视频 :我们暂时没录制 C 语言教程,您可网上搜索免费的 C 视频(推荐郝斌)

自学书籍: 找一本 C 语言书,如谭浩强的《c 语言程序设计》。

练习:可以用 Visual Studio,也可以在 Linux 下学习,后者需要掌握一些编译命令

谨记:实践出真知,学习 C 语言,必须练练练写写写!

掌握基本语法,就可以在电脑上练习一些 C 语言习题;写过几个 C 程序,就可以进入下一阶段的裸机开发。


入门阶段的误区提醒 :

不需要学习过多的数据结构知识,只需要掌握链表操作,

其他如:队列、哈希链表、二叉树等等暂时都不用学;

不需要学习任何的函数使用,比如文件操作、多线程编程、网络编程等等

知识,编写Linux 应用程序时会用到,在操作系统特别是驱动学习时用不到这些。

后续的"裸机开发",更加实战化让你继续练习 C 语言,

永往直前吧,以后碰到不懂的C 语言问题,再回过头来学习。  


谨记:C 语言功力是在写代码中精进的。


下面是具体介绍


ARM裸机1期加强版


适宜人群        

1. 有计算机,C语言和数电基础的大学生   

2. 想转嵌入式Linux的单片机工程师

3. 嵌入式Linux底层工程师

4. 嵌入式Linux软件工程师


学习周期:2个月

课程章节:148节

录制状态:已录完


视频地址:http://t.elecfans.com/topic/20.html?elecfans_trackid=xybanner


视频目录

第001课_不要再用老方法学习单片机和ARM(免费)

第001节_单片机程序员发展的必选之路: Linux

第002节_单片机知识是Linux驱动开发的基础之一

第003节_单片机和Linux都想学_换个两全的方法学习单片机

第002课_ubuntu图形界面操作(免费)

第000节_安装百问网制作的ubuntu16.04虚拟机

第001节_新建目录_新建并编辑文件

第002节_word_excel_ppt的操作

第003节_图片浏览_音乐播放_视频播放

第004节_网络设置_网页浏览_在线听歌_在线看视频

第005节_ubuntu软件下载中心

第006节_ubuntu系统设置详细讲解

第007节_linux目录结构初体验

第003课_linux入门命令

第001节_linux命令入门演示

第002节_shell命令解析器功能说明

第003节_linux命令提示符和linux命令格式

第004节_linux常用命令引入

第005节_pwd命令__独家记忆方法

第006节_cd命令讲解1__独家记忆方法

第007节_linux基础知识__家目录_当前路径

第008节_linux基础知识__上一个路径_上一次路径

第009节_linux基础知识__linux目录结构介绍

第010节_linux基础知识__绝对路径和相对路径

第011节_cd命令讲解2_注意事项

第012节_ls命令__独家记忆方法

第013节_目录操作mkdir和rmdir_独家记忆方法

第014节_文件操作touch_mv_cp_rm

第015节_文件查看和编辑cat_gedit

第016节_清除屏幕_clear和reset

第017节_帮助信息man_info_help

第004课_vi编辑器

第001节__vi编辑器课程特色和课程纲要

第002节_vi编辑器的引入

第003节__vi编辑器的三种模式__模式间相互切换

第004节__文件的打开_新建_保存

第005节__如何使vi快速移动光标__vi的难点

第006节__文本复制_粘贴_删除_撤销__百问网独家记忆方法

第007节__文本查找和替换__百问网独家记忆方法

第005课_linux进阶命令

第001节__find查找文本

第002节_grep查找字符串

第003节__file查看文件类型

第004节__which和whereis查找命令所在位置

第005节__gzip和bzip2单个文件的压缩和解压

第006节__tar多个文件和目录的压缩和解压

第006课_开发板熟悉与体验(免费)

第001节_开发板接口介绍与串口连接

第002节_使用eop烧写裸板程序

第003节_eop常见问题

第004节_使用uboot烧写裸板程序

第005节_恢复出厂系统

第006节_一句话解决嵌入式开发ping问题

第007课_裸机开发步骤和工具使用(免费)

第001节_裸机开发步骤简介

第002节_source insight代码查看工具的使用

第003节_Notepad编辑器和二进制文件查看工具

第008课_第1个ARM裸板程序及引申(部分免费)

第001节_辅线1_硬件知识_LED原理图

第002节_辅线1_硬件知识_S3C2440启动流程与GPIO操作

第003节_编写第1个程序点亮LED

第004节_汇编与机器码

第005节_编程知识_进制

第006节_编程知识_字节序_位操作

第007节_编写C程序控制LED

第008节_几条汇编指令_bl_add_sub_ldm_stm

第009节_解析C程序的内部机制

第010节_完善LED程序_编写按键程序

第009课_gcc和arm-linux-gcc和Makefile

第001节_gcc编译器1_gcc常用选项__gcc编译过程详解

第002节_gcc编译器2_深入讲解链接过程

第003节_c语言指针复习1__指向char和int的指针

第004节_c语言指针复习2_指向数组和字符串的指针

第005节_Makefile的引入及规则

第006节_Makefile的语法

第007节_Makefile函数

第008节_Makefile实例

第010课_掌握ARM芯片时钟体系

第001节_S3C2440时钟体系结构

第002节_编程提高运行时钟

第011课_串口(UART)的使用

第001节_辅线1_硬件知识_UART硬件介绍

第002节_S3C2440_UART编程

第003节_从零实现用于裸机调试的printf函数_手动确定可变参数

第004节_从零实现用于裸机调试的printf函数_自动确定可变参数

第005节_从零实现用于裸机调试的printf函数_printf函数在x86和arm平台的实现

第012课_内存控制器与SDRAM

第001节_辅线1_硬件知识_内存接口概念

第002节_辅线1_硬件知识_不同位宽设备的连接

第003节_辅线1_硬件知识_时序图分析示例

第004节_辅线1_硬件知识_SDRAM的设置

第013课_代码重定位

第001节_段的概念_重定位的引入

第002节_链接脚本的引入与简单测试

第003节_链接脚本的解析

第004节_拷贝代码和链接脚本的改进

第005节_代码重定位与位置无关码

第006节_重定位_清除BSS段的C函数实现

第014课_异常与中断

第001节_中断异常概念引入与处理流程

第002节_CPU模式(Mode)_状态(State)与寄存器

第003节_不重要_Thumb指令集程序示例

第004节_und异常模式程序示例

第005节_swi异常模式程序示例

第006节_按键中断程序示例_概述与初始化

第007节_按键中断程序示例_完善

第008节_定时器中断程序示例

第015课_NOR Flash

第001节_Nor Flash原理及硬件操作

第002节_Nor Flash编程_识别

第003节_Nor Flash编程_擦写读

第016课_Nand Flash

第001节_NAND_FLASH操作原理

第002节_NandFlash时序及初始化

第003节_NandFlash的芯片id读取

第004节_NAND_FLASH数据读取

第005节_NandFlash的擦除与烧写

第017课_LCD

第001节_LCD硬件原理

第002节_S3C2440_LCD控制器

第003节_LCD编程_框架与准备

第004节_LCD编程_抽象出重要结构体

第005节_LCD编程_LCD控制器

第006节_LCD编程_LCD设置

第007节_LCD编程_简单测试

第008节_LCD编程_画点线圆

第009节_LCD编程_显示文字

第010节_LCD编程_添加除法

第011节_LCD编程_使用调色板

第018课_ADC和触摸屏

第001节_ADC硬件原理

第002节_ADC编程

第003节_电阻触摸屏硬件原理

第004节_S3C2440触摸屏接口

第005节_触摸屏编程_按下松开检测

第006节_触摸屏编程_ADC中断

第007节_触摸屏编程_定时器程序优化

第008节_触摸屏编程_使用定时器支持长按

第009节_触摸屏编程_较准原理

第010节_触摸屏编程_较准与画线编程

第011节_触摸屏编程_测试

第012节_触摸屏编程_完善

第019课_I2C裸板

第001节_I2C协议与EEPROM

第002节_S3C2440的I2C控制器

第003节_程序框架

第004节_I2C控制器编程_框架

第005节_I2C控制器编程_中断

第006节_EEPROM编程和测试代码

第007节_测试

第020课_SPI编程

第001节_SPI协议介绍

第002节_使用GPIO实现SPI协议操作OLED

第003节_SPI_FLASH编程_读ID

第004节_SPI_FLASH编程_读写

第005节_在OLED上显示ADC的值

第006节_使用SPI控制器

第007节_移植到MINI2440_TQ2440

第021课_MMU和Cache

第001节_Cache简述及协处理器指令

第002节_协处理器指令_开启ICache代码示例

第003节_MMU及地址映射

第004节_MMU代码示例

第022课_传感器

第001节_光敏电阻的使用

第002节_高精度延时函数

第003节_DHT11温湿度传感器的使用

第004节_DS18B20温度传感器介绍

第005节_DS18B20温度传感器编程

第006节_红外线遥控协议简介及编程思路

第007节_前期编程_系统时间与环型缓冲区

第008节_HS0038红外线接收器的编程_打印原始脉冲

第009节_HS0038红外线接收器的编程_解析数据


新1期与2期间的衔接课程

      

适宜人群:嵌入式Linux系统工程师

课程章节:29节

学习周期:1个月

录制状态        已录完

视频地址:http://t.elecfans.com/420.html


视频目录

第001课_u-boot分析与使用

第001节_u-boot分析之编译体验

第002节_u-boot分析之Makefile结构分析

第003节_u-boot分析之源码第1阶段

第004节_u-boot分析之u-boot命令实现

第005节_u-boot分析_uboot启动内核

第006节_u-boot分析之源码第2阶段

第002课_从0写bootloader_更深刻理解bootloader

第001节_自己写bootloader之编写第1阶段

第002节_自己写bootloader之编写第2阶段

第003节_自己写bootloader之编译测试

第004节_自己写bootloader之改进

第003课_内核配置裁剪及启动流程

第001节 内核启动流程分析之编译体验

第002节 内核启动流程分析之配置

第003节 内核启动流程分析之Makefile

第004节 内核启动流程分析之内核启动

第004课_根文件系统

第001节_构建根文件系统之启动第1个程序

第002节_构建根文件系统之init进程分析

第003节_构建根文件系统之busybox

第004节_构建根文件系统之构建根文件系统

第005课_驱动入门_字符设备驱动

第001节_字符设备驱动程序之概念介绍

第002节_字符设备驱动程序之LED驱动程序_编写编译

第003节_字符设备驱动程序之LED驱动程序_操作LED

第004节_字符设备驱动程序之LED驱动程序_测试改进

第005节_字符设备驱动程序之查询方式的按键驱动程序

第006节_字符设备驱动程序之中断方式的按键驱动_Linux异常处理结构

第007节_字符设备驱动程序之中断方式的按键驱动_Linux中断处理结构

第008节_字符设备驱动程序之中断方式的按键驱动_编写代码

第009节_字符设备驱动程序之poll机制

第010节_字符设备驱动程序之异步通知

第011节_字符设备驱动程序之同步互斥阻塞


学习目标

掌握写汇编代码的能力,可以分析任意裸板包括 u-boot、内核里的相关汇编代码

掌握常用的硬件部件操作,比如 GPIO,UART,I2C,LCD,触摸屏;

可以写出这些硬件部件的裸板程序

深入理解 ARM 体系统架构,可以写出具备中断功能的裸板程序,对程序现场的保存、恢复有所了解,这些原理适用于任何架构 CPU,内核及应用程序

熟悉裸板程序的结构,给你一个 bootloader 就能分析它的初始化部分、内存使用情况、链接地址、重定位、程序的相对跳转/绝对跳转等

掌握 bootloader 启动内核的原理,能完全自己写出一个 bootloader、字符设备驱动

           


第2期Linux驱动大全


适宜人群        

1. 有数电、计算机、C语言基础的大学生

2. 嵌入式Linux系统工程师

3. 嵌入式Linux驱动工程师


课程章节:81节

学习周期:3个月

录制状态:已录完

视频地址:http://t.elecfans.com/560.html


学习目标1

掌握三大类驱动程序的框架:字符设备、块设备、网卡驱动

掌握驱动程序中各种操作:休眠-唤醒, 同步互斥, 异步通知, 定时器,上下半部等

能自己写出 2 期视频里讲到的各种驱动,它们已经涉及工作中的绝大部分驱动


学习目标2

掌握裸板调试方法:点灯、打印、

用 JTAG 工具进行源码级别的调试,查看反汇编 。

掌握驱动调试方法:打印,自制打印,分析oops 信息,栈回溯,

理解内核原理然后修改内核,

自制调试工具掌握系统级别的应用调试方法:

使用工具,修改内核自制工具  


视频目录

第12课第8节 字符设备驱动程序之定时器防抖动

第13课第1节 输入子系统的概念介绍

第13课第2节 输入子系统之编写驱动程序

第14课 驱动程序分层分离概念_总线驱动设备模型

第15课第1节 LCD驱动程序之层次分析

第15课第2节 LCD驱动程序之硬件操作

第15课第3节 LCD驱动程序之编写代码之1初步编写

第15课第3节 LCD驱动程序之编写代码之2硬件设置

第15课第3节 LCD驱动程序之编写代码之3显存和调色板设置

第15课第4节 LCD驱动程序之编译测试

第16课第1节 触摸屏驱动程序之概念介绍

第16课第2节 触摸屏驱动程序之编写驱动

第16课第3节 触摸屏驱动程序之使用TSLIB测试

第17课第1节 USB驱动程序之概念介绍

第17课第2节 USB驱动程序之USB总线驱动程序

第17课第3节 USB驱动程序之USB设备驱动程序之简单编写

第17课第3节 USB驱动程序之USB设备驱动程序之鼠标用作键盘

第18课第1节 块设备驱动程序的引入

第18课第2节 块设备驱动程序的框架

第18课第3节 块设备驱动程序的编写驱动之用内存模拟磁盘

第19课第1节 NAND FLASH原理及硬件操作

第19课第2节 NAND FLASH驱动程序框架

第19课第3节 NAND FLASH驱动程序之编写代码之1简单编写

第19课第3节 NAND FLASH驱动程序之编写代码之2完善识别过程

第19课第3节 NAND FLASH驱动程序之编写代码之3添加MTD设备及测试

第20课第1节 NOR FLASH原理及硬件操作

第20课第2节 NOR FLASH驱动程序之框架

第20课第3节 NOR FLASH驱动程序之编写代码

第21课第1节 网卡驱动程序之框架

第21课第2节 网卡驱动程序之编写虚拟网卡

第22课第1节 移植DM9000C驱动程序之确定相异性

第22课第2节 移植DM9000C驱动程序之设置时序

第22课第3节 移植DM9000C驱动程序之测试及内存控制器简介

第23课第1节 I2C设备裸板程序之I2C总线介绍

第23课第2节 I2C设备裸板程序之编写代码

第23课第3节 I2C设备裸板程序之测试

第24课第1节 I2C驱动程序之框架

第24课第2节 I2C驱动程序之编写代码

第25课第1节 字符设备驱动程序概念纠正之另一种写法

第25课第2节 字符设备驱动程序概念纠正之RTC驱动分析

第26课第1节 声音采集播放及IIS接口介绍

第26课第2节 UDA1341芯片之L3接口介绍

第26课第3节 UDA1341声卡驱动程序分析及测试

第26课第4节 WM9876声卡驱动程序编写及测试

第26课第5节 使用madplay播放mp3文件

第27课第1节 DMA的引入

第27课第2节 DMA驱动程序之编写

第27课第3节 DMA驱动程序之测试

第27课第4节 DMA之内核函数简单介绍

第28课第1节 hotplug_uevent机制

第28课第2节 hotplug_uevent机制_修改mdev配置支持U盘自动挂载

独家裸板调试技巧(借助JTAG工具 , 串口打印,点灯等等)

第29课第1节  裸板调试之点灯法

第29课第2节  裸板调试之串口打印及栈初步分析

第29课第3.1节 裸板调试之JTAG原理

第29课第3.2节 裸板调试之JTAG调试体验

第29课第3.3节 裸板调试之JTAG调试命令行调试

第29课第3.4节 裸板调试之JTAG调试源码级调试

独家驱动调试技巧(printk打印 , 观察proc文件,段错误分析,自制工具等)

第30课第1.1节 驱动调试之printk的原理

第30课第1.2节 驱动调试之printk的使用

第30课第1.3节 驱动调试之打印到proc虚拟文件

第30课第2.1节 驱动调试之段错误分析_根据pc值确定出错的代码位置

第30课第2.2节 驱动调试之段错误分析_根据栈信息确定函数调用过程

第30课第3节  驱动调试之自制工具_寄存器编辑器

第30课第4节  驱动调试之修改系统时钟中断定位系统僵死问题

独家应用调试技巧(使用strace命令、gdb 、gdbserver,自制系统调用等)

第31课第1节 应用调试之使用strace命令跟踪系统调用

第31课第2节 应用调试之使用gdb和gdbserver

第31课第3节 配置修改内核打印用户态段错误信息

第31课第4.1节 应用调试之自制系统调用

第31课第4.2节 应用调试之使用自制的系统调用

第31课第5.1节 应用调试之输入模拟器之设计思路

第31课第5.2节 应用调试之输入模拟器之编写保存功能

第31课第5.3节 应用调试之输入模拟器之编写测试模拟功能

第32课第1.1节3.4.2内核下的I2C驱动之框架介绍

第32课第1.2节3.4.2内核下的I2C驱动之框架编写代码

第32课第2节3.4.2内核下的I2C驱动之编写设备驱动

第32课第3节3.4.2内核下的I2C驱动之用户态直接访问

第32课第4节3.4.2内核下的I2C驱动之编写总线驱动程序

第33课第1节_多点触摸_电容屏驱动程序_理论框架

第33课第1节_多点触摸_电容屏驱动程序_理论框架_堪误

第33课第2节_多点触摸_电容屏驱动程序_编写框架

第33课第3节_多点触摸_电容屏驱动程序_编写框架_实践_tiny4412


UBOOT移植_LINUX移植_驱动移植(免费)


适宜人群        

1. 检验是否学会第1、2期视频

2. 嵌入式Linux系统工程师

3. 嵌入式Linux驱动工程师


学习周期        :2个月

课程章节:19节

录制状态: 已录


学习目标

1. 能自己写出一个 bootloader

2. 能移植一个全新的 u-boot

3. 能自己移植一个全新的内核,把所有的驱动移植到新内核里


视频目录

毕业班第2课第1节_移植最新u-boot之初试

毕业班第2课第2.1节_移植最新u-boot之分析启动过程之概述

毕业班第2课第2.2节_移植最新u-boot之分析启动过程之内存分布

毕业班第2课第2.3节_移植最新u-boot之分析启动过程之重定位

毕业班第2课第3.1节_移植最新u-boot之修改代码之建新板_时钟_SDRAM_UART

毕业班第2课第3.2节_移植最新u-boot之修改代码支持NAND启动

毕业班第2课第3.3节_移植最新u-boot之修改代码支持NorFlash

毕业班第2课第3.4节_移植最新u-boot之修改代码支持NandFlash

毕业班第2课第3.5节_移植最新u-boot之修改代码支持DM9000网卡

毕业班第2课第4.1节_移植最新u-boot之裁剪和修改默认参数

毕业班第2课第4.2节_移植最新u-boot支持烧写yaffs映象及制作补丁

毕业班第3课第1节_移植3.4.2内核之框架介绍及简单修改

毕业班第3课第2节_移植3.4.2内核之修改分区及制作根文件系统

毕业班第3课第3节_移植3.4.2内核之支持yaffs文件系统

毕业班第3课第4节_移植3.4.2内核之裁剪及ECC简介及制作补丁

毕业班第4课第1节_移植驱动到3.4.2内核之DM9000C  

毕业班第4课第2节_移植驱动到3.4.2内核之LED和按键

毕业班第4课第3节_移植驱动到3.4.2内核之LCD及输入系统

毕业班第4课第4节_移植驱动到3.4.2内核之块设备和虚拟网卡


第3期Linux项目实战

   

适宜人群        

1.        有数电、计算机、C语言基础的大学生

2.        嵌入式Linux系统工程师

3.        嵌入式Linux应用工程师

4.        嵌入式Linux驱动工程师