RK3399平台入门到精通系列讲解(导读篇)前言

Posted 内核笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399平台入门到精通系列讲解(导读篇)前言相关的知识,希望对你有一定的参考价值。

点击蓝字即可跳转界面:
=>返回总目录<=

一、关于作者

博主从事Linux内核和驱动开发五年多,是Linux内核的爱好者,在智能汽车行业上市公司从事Linux底层软件开发工作。
撰写博文是博主多年来一直坚持的事情,一是为了沉淀自己,二是只有不断的向前奔跑才能赶上Linux内核发展的步伐,故博主依靠RK3399此平台进行相关Linux内核驱动,android框架的研究。

1、博主的联系方式

由于博主知识水平有限,博文中难免存在纰漏和理解错误之处,敬请各位读者朋友批评指正。大家可以扫描下方的二维码,添加博主的微信。

2、支持

  • 若读者有比较感兴趣的Linux内核板块,可以联系博主,博主会尽力去研读代码输出博文。

二、需要具备的知识和工具

RK3399平台上进行内核驱动开发,并非像C语言开发一样简单,需要我们付出一定的学习成本和时间成本,还要求我们有一定的基础知识,有的是需要掌握的,有的是只需要了解即可。

1、需掌握知识点

  1. C语言Linux内核的语言基石就是C语言,故我们必须掌握。
  2. 数据结构:内核中遍布了链表等数据结构。
  3. 硬件基础:我们开发驱动过程中会接触到形形色色的硬件,这个时候就需要你可以看懂硬件原理图。
  4. 英文阅读技巧:我们还需要经常通过芯片的数据手册查找相关寄存器地址等信息,故需要看懂英文芯片手册。

2、需了解的知识点

  1. C++面向对象的思想Linux内核设备管理的核心思想就是面向对象思想,设备管理的基石是Kobject(对象)结构体,故我们只需要了解这个面向对象的思想即可。
  2. git代码管理工具:现在主流的代码管理使用git,我们只需要了解几个简单的命令即可
  3. 硬件调试工具:虽然公司中有硬件工程师的帮助,但身为驱动工程师了解常见的万用表、示波器、逻辑分析仪等工具的使用,必不可少。

三、通过系列博客可以学到什么

1、本系列博文特色

  1. 图文并茂Linux内核庞大而复杂,任何一本厚厚的的Linux内核书籍都可能让人看得昏昏欲睡。因此博主在博客中都会插入思维导图的形式,让错综复杂的Linux内核子系统结构体关系明了。
    在这里插入图片描述
  2. 以实战为出发角度:博主大部分博文中都会对应一个使用例子,这样才能学以致用。

2、博文学习顺序建议

现有博文是2017到2021
所输出的博文,下面我根据自身经验,介绍下前期的学习顺序。

  1. Linux应用开发基础篇:熟悉一个人,首先第一眼看的是其外表,内核驱动开发也一样,首先要了解各个驱动自己的属性,和方法。
  2. 内核开发篇 4、内核设备树篇:掌握内核硬件HW 配置。
  3. 内核开发篇 9、内核调试篇:掌握内核的调试手段。
  4. 内核开发篇 1、内核入门篇:了解内核中的一些基础知识。
  5. 内核开发篇 2、内核子系统篇:进行子系统相关学习。
  6. 内核开发篇 3、内核驱动外设篇:实战
  7. 前面学习以后后面几个篇章即可根据喜好进行挑选学习。

3、后期博文计划

Linux内核涉及的内容包罗万象,但系列博文不想成为大而全的博文,因此后期会选取最基本最常用的内存管理、进程管理、并发与同步和中断管理这几个方面内核模块进行讲述,力求把我所理解的东西完整记录下来,2021下半年、2022未来这两年每周都将不断输出。

  1. 处理器体系结构cache一致性管理、MMU、内存屏障等
  2. 内存管理slub分配器、mmap系统调用、物理页面page结构等
  3. 进程管理:fork系统调用、CFS调度器
  4. 并发与同步:Mutex、信号量、原子变量
  5. 中断管理:硬件中断处理、软中断、Taskletworkqueue

四、一些经验

1、学习时间

  1. 平时周内工作一定要做好记录,然后周末进行汇总总结。
  2. 早上可以去阅读代码,整理代码框架。

只要肯愿意去积累,两个月入门,两年精通,五年大成

2、学习方法

  1. 自己闭门造车不好,不如将自己的总结发出来,这样会更好的激励自己。
  2. dump_stack分析函数调用关系,这个手段掌握了,分析代码框架就是如鱼得水。

以上是关于RK3399平台入门到精通系列讲解(导读篇)前言的主要内容,如果未能解决你的问题,请参考以下文章

RK3399平台入门到精通系列讲解(导读篇)资料下载与介绍

RK3399平台入门到精通系列讲解(导读篇)烧写工具使用

RK3399平台入门到精通系列讲解(导读篇)使用到的工具

RK3399平台入门到精通系列讲解(导读篇)21天学习挑战介绍

RK3399平台入门到精通系列讲解(导读篇)21天学习挑战介绍

RK3399平台入门到精通系列讲解 - 总目录