目录
在进行linux的开发之前,我们需要想几个问题,有单片机了,为什么还要有Linux?linux开发有什么优势?linux开发难吗?
很多人喜欢从系统启动流程开始学习:先学习裸机,裸机集合起来就是 uboot,再学习内核移植、驱动开发,接下来学习根文件系统,最后学习 APP 开发。
学习裸机需要 2、 3 个月,学习 u-boot 也需要 2、 3 个月,结果工作中 uboot 基本不用改,并且 u-boot 比驱动开发还难!
按这套流程下来,学了后面忘了前面,最惨的是:不能快速上手工作,消耗学习热情!
入门讲究的是快速,入门之后再慢慢深入,特别是对于急着找工作的学生,对于业余时间挑灯夜读的在职工程师,一定要快!
以前的学习路线时间战线长,很多学习者就慢慢被劝退了;很大因素是很多学习者对企业需要的linux开发工程师的技能要求不清晰导致的,大家都明白当一个项目需求是什么,我们按照需求来学习完成即可,企业工作时也是这样的,在企业中Linux开发工程师做的大部分工作是业务逻辑的处理和驱动相关工作,所以正确的学习路线是:应用开发->驱动开发->项目开发。
工具篇
1.开发环境搭建
开发环境搭建---Ubuntu18.04开发环境搭建_嵌入式学习_force的博客-CSDN博客
开发环境搭建---QT开发环境搭建
开发环境搭建---VSCode开发环境搭建
开发环境搭建---Source Insight4.0开发环境搭建
语言篇
1.C语言
嵌入式C语言这一篇就够了_嵌入式学习_force的博客-CSDN博客
2.编程规范
STM32CUBEMX---嵌入式编程规范_嵌入式学习_force的博客-CSDN博客
3.git与github
嵌入式必备技能---git与github_嵌入式学习_force的博客-CSDN博客
应用开发基础
文章标题 | 文章链接 | 视频链接 |
HelloWorld | 点击我 | 点击我 |
文件 IO | 点击我 | 点击我 |
Framebuffer 应用编程 | 点击我 | 点击我 |
文字显示 | 点击我 | 点击我 |
输入系统应用编程 | 点击我 | 点击我 |
网络通信 | 点击我 | 点击我 |
多线程编程 | 点击我 | 点击我 |
I2C 应用编程 | 点击我 | 点击我 |
串口应用编程 | 点击我 | 点击我 |
驱动开发基础
文章标题 | 文章链接 | 视频链接 |
Hello 驱动 | 点击我 | 点击我 |
LED 驱动 | 点击我 | 点击我 |
按键驱动 | 点击我 | 点击我 |
MISC 驱动 | 点击我 | 点击我 |
INPUT 子系统驱动 | 点击我 | 点击我 |
LCD驱动 | 点击我 | 点击我 |
RTC驱动 | 点击我 | 点击我 |
I2C驱动 | 点击我 | 点击我 |
SPI驱动 | 点击我 | 点击我 |
RS232/485/GPS驱动 | 点击我 | 点击我 |
多点触摸屏驱动 | 点击我 | 点击我 |
音频驱动 | 点击我 | 点击我 |
USB驱动 | 点击我 | 点击我 |
块设备驱动 | 点击我 | 点击我 |
网络驱动 | 点击我 | 点击我 |
WIFI驱动 | 点击我 | 点击我 |
项目开发
文章标题 | 文章链接 | 视频链接 |
车牌学习 | 点击我 | 点击我 |
人脸识别 | 点击我 | 点击我 |
专题学习
文章标题 | 文章链接 | 视频链接 |
同步与互斥专题 | 点击我 | 点击我 |
LCD驱动专题 | 点击我 | 点击我 |
I2C子系统专题 | 点击我 | 点击我 |
Input子系统专题 | 点击我 | 点击我 |
Pinctrl子系统专题 | 点击我 | 点击我 |
GPIO子系统专题 | 点击我 | 点击我 |
Interrupt子系统专题 | 点击我 | 点击我 |
UART串口子系统专题 | 点击我 | 点击我 |
PCI和PCIe子系统专题 | 点击我 | 点击我 |
SPI子系统专题 | 点击我 | 点击我 |
USB驱动专题 | 点击我 | 点击我 |