平台 | 内核版本 | 安卓版本 |
---|---|---|
RK3588 | Linux 5.10 | Android 12 |
沉淀、分享、成长,让自己和他人都能有所收获!😄
💬为什么要学习此专栏?
近十几年来,随着以 iOS
和 Android
系统为代表的智能手机的普及与发展,互联网行业早已进入“移动”的时代。但是如今的“风口”已经从移动转向 AI
,整个移动互联网行业正处于增量下降、存量厮杀的阶段。面对技术变革、前景不明、竞争激烈的现状,嵌入式开发者及移动开发者们都感到了焦虑与迷茫。在这个大环境下,行业和企业对开发工程师的要求越来越高,而用户对产品质量和体验的要求也越来越高。
💬作为一名移动软件开发者以及嵌入式软件开发者,我们该如何破局呢?
- 掌握
Linux
系统底层逻辑(内存管理、进程调度、设备子系统等); - 掌握
Android
系统与底层Linux
系统的交互; - 对
Android framework
层内容形成自己的知识体系 - 遇到的崩溃、内存、卡顿等常见问题,有很好的解题思路;
- 如何让深度学习框架更高效的部署在嵌入式平台;
所以本专栏将针对上面的内容进行深入刨析,🎉帮助大家在移动开发、嵌入式开发的道路上更上一层楼。
💬你将学到什么?
本专栏将基于RK3588
开展内容分享:
- 基于
5.1
版本的Linux
内核进行刨析Linux
底层驱动框架 - 基于
Android 12
版本进行开展安卓内容分享
我们可以学习到包括内核的引导过程、内核管理和调度进程的技术原理、内核管理虚拟内存和物理内存的技术原理、内核处理异常和中断的技术原理,以及系统调用的实现方式等。此外,还将详细讲解内核实现的各种保护临界区的互斥技术,以及内核的文件系统。本专栏将深入浅出,通过大量的图例来描述数据结构之间的关系和函数的执行流程,并结合代码分析,引导读者阅读和理解内核源代码。
💬课程特色
Linux
内核一直是学习的难点:将近3000
万行代码,5
万多个源文件,代码庞大繁杂、代码很难看懂。本专栏将突破以往传统的学习方式,采取更有效和科学的学习方法,多角度地对内核进行多层次分析,不局限于形式,不拘泥细节,目的只有一个:更轻松、更高效地去理解内核、学习内核。
为了更好地让学员掌握内核编程技能,更好地理解内核,本课程将采用并不局限于以下学习方法进行课程的开展:
- 降维分析:复杂系统简单化,帮你剔除旁枝蔓叶,直奔主题
- 软件工程思维分析内核:分层、模块化、框架迭代、回调
- 尝试利用
OOP
思想去分析Linux
内核复杂的子系统 - 讲解:用文件系统思想去理解设备驱动
- 框架思维:抛弃教科书般地结构体成员讲解,更注重勾勒框架
- 图形化讲解:绘制全景流程图,分享给学员,理解更简单!
📢课程目录
一、Linux驱动篇
RK3588平台开发系列讲解(DP篇)DP的相关调试手段
RK3588平台开发系列讲解(CAN篇)CAN FD 开发文档
RK3588平台开发系列讲解(DisplayPort篇)DP相关模式说明
RK3588平台开发系列讲解(MIPI篇)MIPI DSI2驱动代码说明
RK3588平台开发系列讲解(SATA篇)SATA驱动配置说明
RK3588平台开发系列讲解(USB篇)内核 USB 配置
RK3588平台开发系列讲解(USB篇)USB 外设 CONFIG
RK3588平台开发系列讲解(USB篇)UAC初识
RK3588平台开发系列讲解(Pinctrl篇)Pinctrl设备树介绍
RK3588平台开发系列讲解(PWM篇)PWM及backlight的使用方法
RK3588平台开发系列讲解(Thermal篇)Thermal介绍及用法
RK3588平台开发系列讲解(Thermal篇)Thermal的设备树配置
RK3588平台开发系列讲解(SARADC篇)SARADC的工作流程
RK3588平台开发系列讲解(文件系统篇)Linux 文件系统简介
RK3588平台开发系列讲解(SPI篇)SPI内核配置及驱动使用