RK3399平台入门到精通系列讲解(导读篇)21天学习挑战介绍
Posted 内核笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399平台入门到精通系列讲解(导读篇)21天学习挑战介绍相关的知识,希望对你有一定的参考价值。
活动地址:CSDN21天学习挑战赛
文章目录
每个人在突破自己技术瓶颈时都会经历一段痛苦的时光,只有我们具有坚定的信念,并努力坚持下去,相信我等你回过头来再看曾经认为难以理解的技术和知识时,你会有一种阔然开朗、融会贯通的感觉,这就是成长和进步所带来最大的成就感。
一、关于作者
博主从事Linux
内核和驱动开发七年多,是Linux
内核的爱好者,在智能汽车行业上市公司从事Linux
底层软件开发工作。
撰写博文是博主多年来一直坚持的事情,一是为了沉淀自己,二是只有不断的向前奔跑才能赶上Linux
内核发展的步伐,故博主依靠RK3399
此平台进行相关Linux
内核驱动,android
框架的研究。
1、博主的联系方式
由于博主知识水平有限,博文中难免存在纰漏和理解错误之处,敬请各位读者朋友批评指正。大家可添加博主的微信。allen_yxs
2、支持
- 若读者有比较感兴趣的
Linux
内核板块,可以联系博主,博主会尽力去研读代码输出博文。
二、需要具备的知识和工具
RK3399
平台上进行内核驱动开发,并非像C
语言开发一样简单,需要我们付出一定的学习成本和时间成本,还要求我们有一定的基础知识,有的是需要掌握的,有的是只需要了解即可。
1、需掌握知识点
C
语言:Linux
内核的语言基石就是C
语言,故我们必须掌握。- 数据结构:内核中遍布了链表等数据结构。
- 硬件基础:我们开发驱动过程中会接触到形形色色的硬件,这个时候就需要你可以看懂硬件原理图。
- 英文阅读技巧:我们还需要经常通过芯片的数据手册查找相关寄存器地址等信息,故需要看懂英文芯片手册。
2、需了解的知识点
C++
面向对象的思想:Linux
内核设备管理的核心思想就是面向对象思想,设备管理的基石是Kobject
(对象)结构体,故我们只需要了解这个面向对象的思想即可。git
代码管理工具:现在主流的代码管理使用git,我们只需要了解几个简单的命令即可- 硬件调试工具:虽然公司中有硬件工程师的帮助,但身为驱动工程师了解常见的万用表、示波器、逻辑分析仪等工具的使用,必不可少。
三、通过系列博客可以学到什么
1、本系列博文特色
- 图文并茂:
Linux
内核庞大而复杂,任何一本厚厚的的Linux
内核书籍都可能让人看得昏昏欲睡。因此博主在博客中都会插入思维导图的形式,让错综复杂的Linux
内核子系统结构体关系明了。
- 以实战为出发角度:博主大部分博文中都会对应一个使用例子,这样才能学以致用。
2、21天学习目标
工作后学习的过程一定是要跟实际工作结合起来的,从工作中用到的知识出发,延伸到之前未接触到的地方,逐步构建自己的知识网络,本专栏也是工作调试过程中的经验记录。
微信:15168364509 拉大家入学习群
下面我根据自身经验,介绍下前期的学习顺序。
8月1日-8月7日
内核设备树学习:掌握内核硬件HW
配置。8月8日-8月14日
内核调试技巧学习:掌握内核的调试手段。8月15日-8月21日
内核驱动子系统学习:掌握iic、spi等总线子系统驱动。
3、21天学习内容
8月1日-8月7日
:
- 设备树(Device Tree)的由来
- 图解Kernel Device Tree(设备树)的使用
- 设备树二进制文件DTB解析
- 设备树dtb信息转化为device_node结构
- DTS 架构下 Device 与 Driver 匹配流程
- 内核对设备树的处理
- 设备树的解析of函数介绍
- DTB的基本调试方法
- 内核启动阶段获得dtb位置指针过程介绍
8月8日-8月14日
:
- 如何使用dynamic debug动态打印调试
- 如何使用dump_stack分析函数调用关系
- 休眠唤醒standby调试指南
- 如何创建一个proc节点供上层app调试使用
- devmem直接读写寄存器进行调试
- Linux Kernel Printk
- 利用debugfs调试
8月15日-8月21日
- GPIO子系统
- Pinctrl子系统详解
- SPI子系统
- I2C子系统
- UART子系统
- Input子系统
4、学习时间
- 周一至周五晚上 7 点—晚上9点
- 周六上午 9 点-上午 11 点
- 周日上午 9 点-上午 11 点
5、学习产出
技术笔记 3 篇,每周周末输出一篇本周总结。
四、一些经验
1、学习时间
- 平时周内工作一定要做好记录,然后周末进行汇总总结。
- 早上可以去阅读代码,整理代码框架。
只要肯愿意去积累,两个月入门,两年精通,五年大成
2、学习方法
- 自己闭门造车不好,不如将自己的总结发出来,这样会更好的激励自己。
- dump_stack分析函数调用关系,这个手段掌握了,分析代码框架就是如鱼得水。
以上是关于RK3399平台入门到精通系列讲解(导读篇)21天学习挑战介绍的主要内容,如果未能解决你的问题,请参考以下文章