网上看了很多的嵌入式学习路线,有的比较片面,有的为了博人眼球东拼西凑,几乎把整个行业用得着用不着的技术都写上去了,没有侧重点,简直是劝退指南,还有的纯粹是打广告卖板子招生。 一口君曾经是某见的教学总监,带过的学生也有大几千了,基本都从事linux相关开发工作。 现在在各行各业也基本都是翘楚,有的都成公司技术主管,带领几十人上百人团队。 一口君凭借多年的研发和开发经验,整理了嵌入式学习的最经典路线 下面就为大家介绍学习路线: 一、基础1.linux基本操作:需要掌握的知识如下: 环境的搭建:ubuntu、vmware安装Linux目录结构;文件类型;基本目录操作,文件操作,vim,ifconfig,ping,cd,cp,mv,mkdir等,最关键是gcc命令要会用;一些简单的shell脚本;Makefile的编写。个人建议只要会一些基本的操作就行了,不需要太深入的学习每一个命令,用到的时候会去搜索就行了。 参考文章如下: 《Linux入门的基础知识点汇总,有这篇就够了》 《linux驱动、ARM学习环境搭建》 《Linux入门-shell编程-适合小白》 《一键获取linux内存、cpu、磁盘IO等信息脚本编写,及其原理详解》 2.c语言:所谓编程不学C语言,便称码农也枉然。 学Linux,不学编程,建议就不要学了,否则职业后期全是瓶颈。 那些和你说学Linux不需要懂编程的都是再耍LM。 学习C语言一定要学习Linux下C编程,C语言网上视频也很多,知识点不一一介绍了。 但是有一点,就是一定要记住,一般的程序员从入门到绝对的精通大概需要2年时间,要想随心所欲写出超高质量的代码,时间因人而异,还要看个人造化。 实际上并不需要每个人都成为大师,能成为一个快快乐乐的小码农,不也是见开心的事吗? 3.数据结构:数据结构很重要,但是在这个上面花太多时间,也是没必要的。想进大厂的除外,自己拼命去刷题吧。对于嵌入式方向来说,个人建议只要掌握几个基本的排序和查找算法即可,没必要把所有算法都研究一遍。 《玩转内核链表list_head,如何管理不同类型节点的实现(万字文)可以收藏》 《十大经典排序算法(代码实现),建议收藏》 《20张图揭开「队列」的迷雾》 《二叉树详解,非常全,还包含C代码》 能掌握常见的算法比如:冒泡排序、直接插入排序、快速排序、二叉树等。链表:双向链表,增删改查。4.基础阶段项目基础阶段,个人强烈建议一定要做一个综合性项目,一定要从0开始写。 建议项目《电话本管理软件》 该项目包含的知识点、功能点: 包含简单的菜单功能链表:包括增、删、改、查、排序等操作的双向链表。结构体、数组、指针、二级指针,字符串操作排序用户登录用户电话号码信息的添加、删除、修改二、进阶进阶阶段知识点很重要,学完这个阶段的内容,我们就可以用各种库函数+系统调用来自己实现Linux命令:ls、cd、stat、pwd、ifconfig,甚至自己实现一些网络协议:tftp、ftp、
|