
课程介绍
百问网从2008年开始做嵌入式Linux培训,
并且12年来只做Linux,
你未来的上司、同事,
说不准就是我的学员
从STM32进阶到嵌入式Linux需要多久?
我们的课程规划只需要10周,涵盖裸机开发、驱动开发、应用开发一站式教程,
全新打磨的资料为你的学习保驾护航。
这10周下来你将能获得(基于jz2440):
掌握基础的裸机开发
掌握嵌入式Linux驱动基本技能
掌握一个应用开发的过程(数码相框)
本系列课程共分为三大部分:
三周从STM32入门Linux
三周掌握Linux驱动基本技能
四周掌握输入子系统_Framebuffer_APP基本编程
入门之后
123部分如果全天学习的话,最快的学习时间是10周;你可以给自己加点余量,争取3、4个月搞定。
学习过程中如果出现问题请先自己的操作检查是否老师演示的操作一致、认真阅读资料和文档;
再自主在我们的答疑论坛或者网上寻找前辈的经验;
然后在我们的技术讨论群中发起讨论;
学前准备
jz2440开发板
本系列课程所有资料下载:
链接:https://eyun.baidu.com/s/3sm5soGH 密码:ZeED
注意:
这套教程是从2440的1、2、3期视频里抽取出来组合的,是一套更适合入门的教程。
如果已经买过1、2、3期视频的学员,按照 http://wiki.100ask.org/Jz2440VideoStudyGuide 中的路线学习即可。
- 三周从STM32入门Linux
面向对象:掌握C语言、STM32单片机开发的人
目标:快速入门Linux驱动开发,掌握简单的LED、按键驱动开发
时长:3周
过程:
① 掌握ubuntu常用操作
② 掌握在ubuntu下开发单片机程序,跟STM32的开发有一个对比
③ 掌握u-boot的使用(无需了解代码,但是要会编译、烧写u-boot)
④ 掌握Linux内核的配置、编译、烧写
⑤ 掌握文件系统的结构,会烧写我们构建好的文件系统(不要求会自己编译)
⑥ 编写LED驱动、编写按键驱动
三周从STM32入门Linux所有资料下载:
链接:https://eyun.baidu.com/s/3qZxmM3y 密码:7qLc
2.1 基于Ubuntu开发裸机(目标①②)(学习时间:1周)
课程资料获取地址: 链接:https://eyun.baidu.com/s/3dBm3fC 密码:8tMN
2.2 ARM板系统的基本使用(目标③④⑤)(学习时间:1周)
课程资料获取地址:链接:https://eyun.baidu.com/s/3mjyGKQW 密码:Q9eD
注意1:这部分视频中涉及u-boot的源码分析,因为未学习第1期中的代码重定位等知识,所以不要看源码分析,只要学会:编译、烧写、使用u-boot就可以。
注意2:这部分视频中涉及内核的部分源码分析,不要求掌握这些源码,只要学会:大概了解内核启动过程做了什么事、会编译、烧写、使用uImage就可以。
注意3:这部分视频中涉及根文件系统之busybox的编译,照着操作就可以了。
只学习其中的1、3、4课(搭建开发环境时,需要阅读JZ2440开发板使用手册)
2.3 Linux基础驱动程序(目标⑥)(学习时间:1周)
课程资料获取地址:链接:https://eyun.baidu.com/s/3c3DknWs 密码:E5xy
- 三周掌握Linux驱动基本技能
面向对象:已经会编译第1个LED裸板程序、第1个LED驱动的人
目标:快速入门Linux驱动开发,掌握简单的LED、按键驱动开发
时长:3周
过程:
① 掌握裸机重定位(这有助于后续理解u-boot)
② 掌握裸机中断处理流程
③ 掌握Linux异常、中断处理体系
④ 编写Linux下的按键驱动程序
⑤ 掌握Linux中驱动和应用程序的交互方式:查询、中断-唤醒、poll、异步通知
三周掌握Linux驱动基本技能所有资料下载:
链接:https://eyun.baidu.com/s/3gghVTEb 密码:RyKN
3.1 裸机核心知识(目标①②)(学习时间:1周)
课程目录:
课程资料获取地址:链接:https://eyun.baidu.com/s/3kXcEtV5 密码:TRxr
3.2 Linux内核中断体系及APP与内核交互(目标③④⑤)(学习时间:2周)
课程目录:
课程资料获取地址:链接:https://eyun.baidu.com/s/3i5Xc5u9 密码:qpO5
- 四周掌握输入子系统_Framebuffer_APP基本编程
面向对象:具备了基本驱动开发能力并且希望驱动和应用兼顾的人
目标:掌握输入子系统驱动开发、掌握Framebuffer驱动开发、掌握基本APP编程能力
时长:4周
过程:
① 学习裸机触摸屏编程(只要求理解原理,不要求能写出来)
② 编写Linux输入子系统驱动开发:按键、触摸屏
③ 学习裸机LCD编程(只要求理解原理,不要求能写出来)
④ 编写Linux下的LCD Framebuffer驱动
⑤ 练习Linux下APP编程
有同学提问:
老师我看您在这一阶段目标中非常侧重LCD学习,
但感觉还是有很多项目开发用不到LCD和触摸屏。
答:
这阶段的学习涉及触摸屏、LCD,
请注意:不是让你去关注触摸屏、LCD的硬件操作,
而是输入子系统、LCD的驱动跟之前写的LED、按键驱动不一样,
它们借助于内核现有的代码来实现,
你要体会这种“基于某个子系统编写驱动”的思路。
而APP编程里,也不是让你去关注硬件的操作,
而是要关注很多接口函数:比如文件读写、多线程、网络,poll。
当然如果你本身对APP编程已经有经验了,那没必要学习本阶段的APP编程。
四周掌握输入子系统_Framebuffer_APP基本编程所有资料下载:
链接:https://eyun.baidu.com/s/3kWCVTyB 密码:CSvk
4.1 Linux输入子系统的驱动开发(目标①②)(学习时间:1周)
课程资料获取地址:链接:https://eyun.baidu.com/s/3ggJjKPH 密码:0a8l
4.2 LCD Framebuffer驱动开发(目标③④)(学习时间:1周)
课程资料获取地址:链接:https://eyun.baidu.com/s/3qZIRvYG 密码:3fXW
4.3 Linux下APP编程(目标⑤)(学习时间:2周)
第3期的第1个项目,涉及大量的Linux APP编程。里面含有Makefile、多线程、网络等很多知识。
对于初学者,可以先不管Makefile。
对于初学者,也可以先不管过于复杂的“数码相框项目”。
① 前期准备:
第3期不再使用2.6.22.6内核,而是使用linux 3.4.2;
第3期使用工具链arm-linux-gcc 4.3.2;
第3期使用新的文件系统:fs_mini_mdev_new。
请注意上述3点。
课程资料获取地址:链接:https://eyun.baidu.com/s/3kWzyLJT 密码:kJJf
- 入门之后
入门之后,请按需学习。
注意事项
购买课程后只能在线观看,不提供离线观看服务。