嵌入式Linux学习路线

自己总结的个人学习linux的路线,主要是嵌入式方向

Posted by Tupelo Shen on February 27, 2020

自己总结的Linux学习路线,还在这条路上继续奔跑着… embedding-linux-route 我将其总结为4个阶段吧:

  • 入门 - 抛弃旧的思维习惯,熟练使用 Linux 命令行

    从Window切换到Linux是一件很痛苦的事情,因为人类接受信息最快的方式就是图形化的信息。所以,我们需要先从熟悉命令行开始。在这一阶段,推荐的书籍是《鸟哥的私房菜》、《linux shell脚本攻略》。

    • 《鸟哥的私房菜》- 几乎每个linux程序的必经之路。
    • 《linux shell脚本攻略》- 印度人写的,二十岁的时侯写下了这本书,那时他已经是Ubuntu 和Fedora的源码贡献者了。
  • 中级 - 通过系统调用或内核接口,学会自己进行程序设计

    这一部分,我的建议是分两部分学习:

    • linux程序设计,通过系统调用学会在linux环境下进行C/C++程序开发。推荐的书籍有《Linux环境下C编程指南》、《UNIX 环境高级编程》。
    • linux驱动开发,学会基本的linux内核数据结构、接口等等,了解linux设备模型、设备树等,为理解内核打下坚实的基础。推荐的书籍有《LDD3》、《Linux设备驱动开发详解》。
  • 高级 - 软硬结合,反复阅读代码

    这一部分还是分为2部分:

    • ARM体系架构学习,推荐阅读,ARMv6、ARMv7和ARMv8架构的数据手册,汇编语言等等。
    • linux内核源码解析,对每个子系统的代码架构深入研究,能对内核进行模块裁剪等。推荐的书籍有《Linux内核设计与实现》、《Linux内核源代码情景分析》和《深入理解Linux内核(第三版)》。
  • 大牛 - 活到老,学到老

    俗话说,活到老,学到老。学习是永无止境的。到这一阶段,可以到linux.org官网研究每个子系统的代码,并为世界作出贡献了。

最后,再说一点,英语非常重要。很多好的资料都是英文的,国内有些翻译本不是太好。尤其是google搜索时,学会使用英文关键词非常重要。

一起努力吧。