- 嵌入式
韦东山FreeRTOS入门与工程实践
1.1 课程内容嵌入式软件工程师的学习路线一般是:单片机、RTOS、Linux。当你掌握单片机开发后,如果要进一步提升编程水平,建议学习RTOS(Real Time Operating System,实时操作系统)。有很多优秀的RTOS,比如FreeRTOS、RT-Thread、UCOS等等。FreeRTOS使用范围最广泛,RT-Thread生态丰富,UCOS是收费的并且很少使用了。对于初学者,建议先学习FreeRTOS。只要学会了任意一款RTOS,肯定就会使用其他RTOS了。我们在2022年已经推出了“FreeRTOS快速入门”课程。为何还要重新制作“FreeRTOS入门与工程实践”?“FreeRTOS快速入门”只是讲解FreeRTOS的各类API的理论、用法、示例,这些实验是基于Keil自带的STM32F103模拟器。没有使用更多的硬件模块、不能体现工作中的实际场景。在“FreeRTOS入门与工程实践”,将引入更多的硬件模块,并展示实际工程示例中的用法。另外,基于RTOS的程序一般都比较复杂,涉及的源文件非常多,在工作中一般都基于“面向对象”的思想来写程序。所以,本课程会涉及如下内容: * 讲解FreeRTOS的常用API:理论、用法 * 选择合适的硬件模块,展示这些API的实例 * 实现合适的小项目,展示工作中的编程方法 1.2 讲课方式 * 对于每一个实验,我们会精心设计:要解决什么问题;然后讲解FreeRTOS提供的解决方法。 * 讲解FreeRTOS的API及内部原理(不深入讲解内部源码,只是进行原理性介绍) * 讲解实验过程使用的模块的接口函数(只讲使用,不讲内部实现,模块的源码实现单独开课讲解) * 讲解原理时,配合着文档、现场画图进行讲解,跟学校老师写黑板一样 * 最后现场从0编写程序并调试 一切都是现场操作,绝对不会照着PPT念,绝对不会照着现成的代码讲解。只有现场从0操作,学员才能身临其境地学习,跟着教程:碰到问题、解决问题。1.3 硬件平台本课程基于DshanMCU-103开发套件进行开发,它由3部分组成:STM32F103C8T6的最小系统板、扩展底板、各类模块。如下图所示: 上述硬件再加一个ST-Link即可学完本课程所有内容。主板DshanMCU-103是基于STM32F103C8T6的最小系统板。之所以选择最小系统板,而不是把所有模块都放在一个整体的电路板上,目的如下: * 低成本尝试:嵌入式软件开发并不一定适合你,可以购买最小系统板进行体验、及时放弃 * 按需购买:用到再买,讲究一个性价比
共14节 775人已学习免费 免费试学 - 驱动/内核开发
Linux驱动GPIO子系统
1、韦老师依然延续一贯的教学风格,现场写代码,现场调试BUG,将GPIO子系统彻底讲透,成为嵌入式Linux驱动的“字典”。2、Linux驱动是驱动框架和硬件编程的结合,使用QEMU简化硬件操作,支持IMX6ULL、STM32MP157,提高实战经验。3、0基础学习,深入浅出,注重底层逻辑,学会举一反三。
共13节 526人已学习¥129.0 免费试学 - 驱动/内核开发
Linux驱动Interrupt子系统
1、韦老师依然延续一贯的教学风格,现场写代码,现场调试BUG,将Interrupt子系统彻底讲透,成为嵌入式Linux驱动的“字典”。2、Linux驱动是驱动框架和硬件编程的结合,使用QEMU简化硬件操作,支持IMX6ULL、STM32MP157,提高实战经验。3、0基础学习,深入浅出,注重底层逻辑,学会举一反三。
共20节 274人已学习¥129.0 免费试学 - 驱动/内核开发
UART串口子系统
1、韦老师依然延续一贯的教学风格,现场写代码,现场调试BUG,将UART子系统彻底讲透,成为嵌入式Linux驱动的“字典”。2、Linux驱动是驱动框架和硬件编程的结合,使用QEMU简化硬件操作,支持IMX6ULL、STM32MP157,提高实战经验。3、0基础学习,深入浅出,注重底层逻辑,学会举一反三。
共21节 290人已学习¥129.0 免费试学 - 驱动/内核开发
PCI和PCIe子系统
1、韦老师依然延续一贯的教学风格,现场写代码,现场调试BUG,将PCI和PCIe子系统彻底讲透,成为嵌入式Linux驱动的“字典”。2、Linux驱动是驱动框架和硬件编程的结合,使用QEMU简化硬件操作,支持IMX6ULL、STM32MP157,提高实战经验。3、0基础学习,深入浅出,注重底层逻辑,学会举一反三。
共16节 599人已学习¥399.0 免费试学 - 驱动/内核开发
Linux驱动之I2C子系统
1、韦老师依然延续一贯的教学风格,现场写代码,现场调试BUG,将I2C驱动彻底讲透,成为嵌入式Linux驱动的“字典”。2、Linux驱动是驱动框架和硬件编程的结合,使用QEMU简化硬件操作,支持IMX6ULL、STM32MP157,提高实战经验。3、0基础学习,深入浅出,注重底层逻辑,学会举一反三。
共16节 233人已学习¥99.0 免费试学 - 嵌入式
嵌入式Linux驱动开发之SPI驱动
韦老师依然延续一贯的教学风格,现场写代码,现场调试BUG,将SPI子系统彻底讲透,成为嵌入式Linux驱动的“字典”。
共29节 525人已学习¥129.0 免费试学 - 驱动/内核开发
FreeRTOS入门教程内部机制讲解
课程围绕智能家居项目,快速入门FreeRTOS,主要涉及内容为:栈作用演示、创建任务的2个核心:栈、任务结构体、任务调度机制、基于链表理解调度机制、队列的使用、基于链表理解队列。
共29节 1052人已学习免费 免费试学 - 嵌入式
RTOS商业产品案例源码讲解
韦东山手把手教你搭建RTOS实战项目3人射球机;项目概述:投币,可以获取弹球,将弹球放进枪管中,按下发射按钮,可以将弹球射出。击倒怪物,可以获得较多积分;弹球掉落回收口,也可以获得少量积分。积分足够多的时候,自动兑换礼品,礼品会自动掉落,顾客需要自行去除礼品。
共9节 520人已学习免费 免费试学 - 嵌入式
嵌入式Linux教程_韦东山手把手教你嵌入式Linux快速入门到精通
课程按篇章可分为5篇,单独的视频专栏观看:【第1篇】(IMX6ULL)新学习路线、视频介绍、资料下载、开发板基础操作【第1篇】(STM32MP157)新学习路线、视频介绍、资料下载、开发板基础操作【第2篇】Linux基本操作【第3篇】开发板使用手册【第4篇】嵌入式Linux应用开发基础知识【第5篇】嵌入式Linux驱动开发基础知识
共199节 2618人已学习免费 免费试学 - 物联网技术
鸿蒙内核liteos-a移植_基于IMX6ULL
* 移植鸿蒙最小系统包括:UART、MMU地址映射、定时器中断、存储设备驱动、根文件系统等 * 鸿蒙源码开放之后,海思的代码闭源了。如果你想移植到其他芯片上去,好的方式就是:直接参考我们提供的源码(开发原子基金会也移植了其他芯片),或者直接看我们的视频,这套视频,目前是鸿蒙内核移植的视频。 * 华为内训,在里面可以看到海思的代码,可以得到鸿蒙专家的指导,百问网成功把Liteos-a移植到了IMX6ULL、STM32MP157。 * 移植有难度,只是因为我们对它陌生,相信看了视频后,你会发现移植Liteos-a时,只是移植最小系统的话,比移植u-boot更加简单。后面我们会录制更多的鸿蒙课程,敬请期待!
共30节 1741人已学习免费 免费试学 - 嵌入式
韦东山升级版嵌入式视频之快速入门
韦东山老师为啥要录升级版嵌入式视频? 200x年左右,嵌入式Linux在全世界、在中国刚刚兴起。 我记得我2005年进入中兴时,全部门的人正在努力学习Linux。 在2008年,我写了一本书《嵌入式Linux应用开发完全手册》。 它的大概内容是:裸机、U-boot、Linux内核、Linux设备驱动。 那时还没有这样讲解整个系统的书, 芯片厂家Linux开发包也还不完善,从bootloader到内核,再到设备驱动都不完善。 有全系统开发能力的人也很少。 于是这书也就恰逢其时,变成了畅销书。 我也根据这个思路录制了视频:裸机、U-boot、Linux内核、Linux设备驱动。 收获些许名声,带领很多人进入Linux世界。11年过去了,嵌入式Linux世界发生了翻天覆地的变化 ① 基本系统能用 芯片厂家都会提供完整的U-boot、Linux内核、芯片上硬件资源的驱动。 方案厂家会做一些定制,比如加上某个WIFI模块,会添加这个WIFI模块的驱动。 你可以使用厂家的原始方案,或是使用/借鉴方案商的方案,做出一个“能用”的产品。 ② 基础驱动弱化;高级驱动专业化 基础的驱动,比如GPIO、UART、SPI、I2C、LCD、MMC等,有了太多的书籍、视频、示例代码,修修改改总是可以用的。 很多所谓的驱动工程师,实际上就是“调参工程师”。 我们群里有名的火哥,提出了一个概念:这些驱动就起一个“hardware enable”的作用。 高级的驱动,比如USB、PCIE、HDMI、MIPI、GPU、WIFI、蓝牙、摄像头、声卡。 体系非常复杂,很少有人能讲清楚,很多时候只是一笔带过。 配置一下应用层工具就了事,能用就成。 这些高级驱动,工作中需要专门的人来负责,非常专业。 他们是某一块的专家,比如摄像头专家、音频专家。 ③ 项目为王 你到一个公司,目的是把产品做出来,会涉及APP到内核到驱动全流程。 中小公司玩不起华为中兴的配置,需要的是全面手。 大公司里,只负责很小很小一块的镙丝钉,位置也不太稳固啊。 所以,如果你不是立志成为某方面的专家,那就做一个全栈工程师吧。 ④ 调试很重要 都说代码是3分写7分调,各种调试调优技术,可以为你的升职加薪加一把火。 基于上述4点,我录制的全新视频将有这些特点: 1. 快速入门, 2. 实战项目, 3. 驱动大全, 4. 专题, 5. 授人以渔, 6. 要做任务 另外,我们会使用多款芯片同时录制,先讲通用的原理,再单独讲各个板子的操作。 这些芯片涵盖主流芯片公司的主流芯片,让你学习工作无缝对接。 1.快速入门 入门讲究的是快速,入门之后再慢慢深入, 特别是对于急着找工作的学生,对于业余时间挑灯夜读的工作了的人,一定要快! 再从裸机、U-boot、内核、驱动这样的路线学习就不适合了,时间就拉得太长了。 搞不好学了后面忘了前面。 并且实际工作中并不需要你去弄懂U-boot,会用就行:U-boot比驱动还复杂。 讲哪些内容? 怎么讲呢? 混着讲 比如先讲LED APP,知道APP怎么调用驱动,再讲LED硬件原理和裸机,最后讲驱动的编写。 这样可以快速掌握嵌入式Linux的整套开发流程, 不必像以前那样光学习裸机就花上1、2个月。 而里面的裸机课程,也会让你在掌握硬件操作的同时,把单片机也学会了。 讲基础技能 中断、休眠-唤醒、异步通知、阻塞、内存映射等等机制,会配合驱动和APP来讲解。 这些技能是嵌入式Linux开发的基础。 而这些驱动,只会涉及LED、按制、LCD等几个驱动。 掌握了这些输入、输出的驱动和对应的APP后,你已经具备基本的开发能力了。 讲配置 我们从厂家、从方案公司基本上都可以拿到一套完整的开发环境,怎么去配置它? 需要懂shell和python等配置脚本。 效果效率优先 以前我都是现场写代码、现场写文档,字写得慢,降低了学习效率。 这次,效果与效率统一考虑,不再追求所有东西都现场写。 容易的地方可先写好代码文档,难的地方现场写。 2.实战项目 会讲解这样的涉及linux网关/服务器相关项目(不限于,请多提建议): 定位为:快速掌握项目开发经验,丰满简历。 涉及的每一部分都会讲,比如如果涉及蓝牙,在这里只会讲怎么使用,让你能写出程序;如果要深入,可以看后面的蓝牙专题。 3. 驱动大全 包括基础驱动、高级驱动。 这些驱动都是独立成章,深入讲解。 虽然基础驱动弱化了,但是作为Linux系统开发人员,这是必备技能,并且从驱动去理解内核是一个好方法。 在讲解这些驱动时,会把驱动的运行环境,比如内核调度,进程线程等概念也讲出来,这样就可以搭建一个知识体系。 没有这些知识体系的话,对驱动的理解就太肤浅了,等于在Linux框架下写裸机,一叶障目,不见泰山。 定位为:工具、字典,用到再学习。 4. 专题 想深入学习的任何内容,都可独立为专题。 比如U-boot专题、内核内存管理专题、systemtap调试专题。
共91节 14100人已学习免费 免费试学 - 嵌入式
韦东山生活实例演绎法讲解蓝牙
市面上的蓝牙资料晦涩难懂,因为没有从初学者的角度讲解,我痛苦学习几个月后总结了一套 以故事的方式通俗易懂的讲解蓝牙协议的方法,希望你看了我的讲解之后, 睡梦中把你拍醒,你也知道BLE各层怎么划分、它们的作用是什么。
共20节 5447人已学习¥280.0 免费试学 - 嵌入式
linux设备树详解
现在的linux内核(Linux3.X)都已支持设备树机制(dts),不管你是玩内核还是玩驱动,一定会碰到设备树,而网上虽然有很多博客,但都讲的不够清晰,看了还是不懂,半桶水,学员急需一套讲解设备树比较透彻的课程,所以我们来了,致力于帮助广大学员扫清设备树在驱动以及内核学习中的障碍。
共29节 12877人已学习¥69.0 免费试学 - 嵌入式
ARM裸机1期加强版(linux)
1、 现场编写调试 2、假设学员0基础: 只会简单C语言 3、ARM裸板为主线,硬件知识,c语言为辅线,4、Linux命令,ARM硬件、汇编,重定位,链接脚本,gcc、Makefile 5、全新软件以及ubuntu系统
共23节 8850人已学习超级会员免费 免费试学 - 嵌入式
Linux 声卡驱动程序
3期的声卡驱动更详细,推荐。
共6节 3943人已学习¥39.0 免费试学 - 嵌入式
Linux驱动程序之网卡
先讲框架,在编写一个虚拟网卡驱动
共3节 2351人已学习¥39.0 免费试学 - 嵌入式
Linux驱动之USB设备驱动
不管是USB设备还是USB接口,都会被注册到同一个bus上,也就是usb_bus_type,其之间的区别会在match函数中区分,之后再去绑定不同的driver。 当一个USB设备被插入的时候,USB设备驱动,也就是usb_generic_driver会跟USB设备交互,得到其所有的各种描述符,并为每个接口都定义成为一个device,之后再加载到usb_bus上,让其去匹配其对应的接口驱动程序。
共5节 4040人已学习¥39.0 免费试学 - 嵌入式
Linux驱动之LCD实战视频课程
总结出怎么写一个lcd的驱动程序的步骤 1.分配一个fb_info的结构体 2.设置fb_info结构体 3.向内核注册register_framebuffer 4.硬件相关的初始化
共7节 3014人已学习¥39.0 免费试学 - 嵌入式
Linux驱动程序之NOR FLASH
norflash驱动程序的步骤: (1)分配map_info结构体,并设置:物理地址,位宽,虚拟地址等 (2)设置读写函数,用默认函数即可 (3)调用NOR FLASH协议层提供的函数来识别:do_map_probe (4)添加分区:add_mtd_partitions
共4节 3147人已学习¥39.0 免费试学
- 1
- 2
韦东山
技术总监/研发总监
2003 年毕业于中国科学技术大学,电子专业、软件专业双学位。近10年嵌入式开发经验,曾ZTE公司负责Linux底层系统开发。
近5年作为特聘讲师在若干个有名的培训机构讲课。 擅长ARM系列方面的硬件原理图设计, 精通ARM等架构处理器的Linux底层系统开发。
著有《嵌入式LINUX应用开发完全手册》一书,自2008年来一直是Linux系统类畅销书。
课程数 28 学生数 475924