自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

内核笔记

主要讲解瑞芯微平台、高通平台下内核的开发

  • 博客(1276)
  • 资源 (33)
  • 收藏
  • 关注

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

欢迎大家来到内核笔记的《RK3399平台开发入门到精通系列讲解》,开始前博主先列出RK3399平台学习的大纲,同时这也可以作为大家学习RK3399内核与安卓框架的参考。下面蓝字都是传送门,点击进入即可:...

2020-11-17 23:20:48 90534 204

原创 RK3568 从入门到实战项目专栏目录及介绍

本专栏采用AIO-3568J四核高性能人工智能主板。是四核处理器,集成双核心架构GPU以及高效能NPU;支持8G大内存;板载M.2与SATA3.0接口;支持POE+供电;支持WiFi 6,5G/4G无线网络通讯;拥有丰富的扩展接口,可应用于智能NVR、云终端、物联网网关、工业控制等场景。

2018-01-30 20:05:13 28015 51

原创 百面嵌入式专栏(简历篇)海康威视牛人的linux技术栈-wifi方向

📢本篇我们将对海康威视大牛简历刨析。

2024-07-24 23:15:30 1509

原创 Linux系统调试课:系统I/O的性能优化

IO 性能指标分为:文件系统 I/O 性能指标磁盘 I/O 性能指标

2024-07-24 22:05:30 1495

原创 百面嵌入式专栏(简历题)海康威视大牛简历刨析

其中有许多内容值得其他候选人借鉴。该项目中有许多值得深入研究的内容,包括协议驱动开发、内存管理优化、复杂网络配置与优化、嵌入式系统疑难问题解决、以及团队协作与知识分享。每个方面都有其独特的技术挑战和学习价值,对于从事嵌入式系统开发的工程师来说,这些内容不仅能提高技术水平,还能积累宝贵的项目管理和团队协作经验。

2024-07-23 23:35:28 1592

原创 RK3568平台开发系列讲解(USB篇)USB软件框架思维导图

Gadget Framework提供了一个通用的框架,用于开发USB设备端的驱动程序,包括composite驱动、UDC(USB Device Controller)驱动和Function驱动等。USB核心层是USB子系统的核心部分,提供通用的USB功能和接口,管理USB设备和主机的初始化、配置和数据传输。通过上述组件的协同工作,Linux系统能够提供完整的USB功能支持,从而满足各种USB设备和应用场景的需求。USB主从切换流程涉及OTG设备在主机和设备模式之间的切换,管理相应的状态变化和资源分配。

2024-07-21 23:36:58 607

原创 RK3568平台开发系列讲解(SPI篇)SPI device设备树处理过程

在SPI Master对应的设备树节点下,每一个子节点都对应一个SPI设备,这个SPI设备连接在该SPI Master下面。沉淀、分享、成长,让自己和他人都能有所收获!

2024-07-13 15:55:37 1556 1

原创 RK3568平台开发系列讲解(PCIE篇)PCIE驱动要如何学?

深入研究PCIe规范文档,了解不同版本的规范和其更新内容。熟悉规范中的各个章节,包括物理层、数据链路层、传输层和应用层的细节。

2024-07-11 22:55:48 446 1

原创 RK3568平台开发系列讲解(内存篇)Linux进程内存的消耗统计

我们在日常工作中一般图简单会直接用 RSS 来表示进程的内存占用

2024-07-11 22:32:38 196

原创 RK3568平台开发系列讲解(网络篇)netfilter框架

Linux内核自2.4版本开始引入了Netfilter框架,这是一项重要的网络功能增强。Netfilter框架由Linux内核防火墙和网络维护者 Rusty Russell 所提出和实现。这个作者还基于 netfilter 开发了大名鼎鼎的 iptables,用于在用户空间管理这些复杂的 netfilter 规则。Netfilter的核心理念是在网络协议栈的关键路径上设置了一系列钩子(hook)点。这些钩子点允许开发者注册自定义的回调函数,使得网络数据包在流经这些点时,可以被相应的函数拦截并进行处理。

2024-07-10 19:11:59 1884 1

原创 RK3568平台开发系列讲解(调试篇)iostat 监视I/O子系统

通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况, 负载信息。

2024-07-10 00:17:50 332

原创 RK3568平台开发系列讲解(调试篇)性能分析:火焰图(flame graph)

火焰图 (Flame Graph) 是性能优化大师 Bredan Gregg 创建的一种性能分析图标,因为它的样子近似火焰而得名。使用火焰图能够非常快速的定位到代码中的瓶颈,它就像一个在代码之海中航行的程序员的地图,指引着性能优化的方向。下图是clickhouse的一张火焰图。

2024-06-27 23:16:04 1653 1

原创 RK3568平台开发系列讲解(调试篇)分析内核调用的利器 ftrace

Ftrace 是一个自 Linux 内核 2.6 版本起就支持的内核调试工具。最初,Ftrace 主要用于函数级别的跟踪(function trace),但经过不断发展,Ftrace 现已成为一个通用的调试框架,能够实现多种跟踪目的。

2024-06-26 22:13:38 174 1

原创 RK3568平台开发系列讲解(I2C篇)利用逻辑分析仪进行I2C总线的全面分析

IIC-BUS(Inter-IntegratedCircuit Bus)最早是由PHilip半导体(现在被NXP收购)于1982年开发。主要是用来方便微控制器与外围器件的数据传输。它是一种半双工,由SDA(数据)和SCL(时钟)组成的两线式串行传输总线。

2024-06-25 23:50:49 156 1

原创 RK3568平台开发系列讲解(UART篇)printk执行过程

printk函数与用户空间的printf函数格式完全相同,它所打印的字符串头部可以加入“\001n”样式的字符。现在我们知道了,内核的每条打印信息都有自己的级别,当自己的级别在数值上小于某个阈值时,内核才会打印该信息。local_irq_save的调用把当前的中断状态(开或关)保存到flags中,然后禁用当前处理器上的中断。执行dmesg命令时,它就是访问虚拟文件/proc/kmsg,把log_buf中的信息打印出来。其中n为0~7,表示这条信息的记录级别,n数值越小级别越高。

2024-06-19 23:56:39 221 1

原创 RK3568平台开发系列讲解(UART篇)UART子系统框架详解

RK3568平台开发系列讲解(UART篇)UART子系统框架详解

2024-06-19 23:07:11 81

原创 RK3568平台开发系列讲解(UART篇)UART协议详细介绍

UART协议详细介绍

2024-06-18 23:46:14 113 2

原创 RK3568平台开发系列讲解(UART篇)UART 的相关操作接口

文件:drivers\tty\serial\serial_core.c。沉淀、分享、成长,让自己和他人都能有所收获!文件:drivers\tty\tty_io.c。文件:drivers\tty\tty_io.c。文件:drivers\tty\n_tty.c。文件:drivers\tty\n_tty.c。函数:n_tty_write。函数:n_tty_read。函数:uart_write。

2024-06-18 23:30:59 202 2

原创 RK3568平台开发系列讲解(SPI篇)SPI数据的传输

RK3568平台开发系列讲解(SPI篇)SPI数据的传输

2024-05-15 00:18:55 295 1

原创 RK3568平台开发系列讲解(SPI篇)spi_dev 驱动分析

RK3568平台开发系列讲解(SPI篇)spi_dev 驱动分析

2024-05-15 00:14:42 517 2

原创 RK3568平台开发系列讲解(Linux系统篇)menuconfig的使用

📢 Linux 内核可以通过输入“make menuconfig”来打开图形化配置界面,menuconfig 是一套图形化的配置工具,本篇我们一起来学习使用menuconfig 配置内核。

2024-04-27 22:11:35 324 3

原创 RK3568平台开发系列讲解(Linux系统篇)芯片手册的使用:GPIO的寄存器说明

📢寄存器GPIO 进行配置, 一般情况下需要对 GPIO 的复用寄存器, 方向寄存器, 数据寄存器进行配置。

2024-04-27 22:06:33 1889 3

原创 Linux知识库套餐 干货满满

Linux 知识库套餐介绍。

2024-04-24 22:13:26 919 4

原创 RK3568平台开发系列讲解(Linux系统篇)设备树中断的属性

中断信号源节点(例如设备节点或其他中断源节点) 中的 interrupt-parent 属性用于指定中断信号源所属的中断控制器节点。中断信号源节点的 interrupts 属性中的中断号和其他相关信息将与指定的中断控制器关联起来。中断信号源节点(例如设备节点或其他中断源节点) 中的 interrupt-parent 属性用于指定中断信号源所属的中断控制器节点。中断信号源是产生中断的设备或其他中断源节点。在某些情况下, 中断控制器可以形成多级结构, 其中一个中断控制器节点可能是另一个中断控制器的父节点。

2024-04-12 00:30:58 247 2

原创 RK3568平台开发系列讲解(Linux系统篇)中断下半部 tasklet 原理

bit0 表示 TASKLET_STATE_SCHED等于 1 时表示已经执行了 tasklet_schedule 把该 tasklet 放入队列了;tasklet_schedule 会判断该位,如果已经等于 1 那么它就不会再次把tasklet 放入队列。bit1 表示 TASKLET_STATE_RUN等于 1 时,表示正在运行 tasklet 中的 func 函数;函数执行完后内核会把该位清 0。

2024-04-10 01:12:26 257 2

原创 Linux 内核驱动的优化技巧

Linux 内核驱动的优化技巧。

2024-04-08 00:49:08 388 1

原创 Linux自旋锁死锁问题

Linux自旋锁死锁问题。

2024-04-08 00:47:25 242 2

原创 RK3568平台开发系列讲解(Linux系统篇)设备树中时钟描述

📢时钟(Clock) 用于描述硬件设备和系统中的时钟源以及时钟相关的配置和连接关系。 时钟在计算机系统中起着至关重要的作用, 用于同步和定时各种硬件设备的操作。 时钟可以分为两个主要角色: 时钟生产者(clock provider) 和时钟消费者(clock consumer) 。

2024-03-25 00:09:59 438 3

原创 RK3568平台开发系列讲解(pinctrl篇)引脚的复用关系的设置

引脚的复用关系是在什么时候被设置的。

2024-03-21 00:47:00 456 3

原创 RK3568平台开发系列讲解(pinctrl篇)pinctrl 子系统函数操作集

在 pinctrl_desc 结构体中总共有三个函数操作集

2024-03-21 00:12:45 246

原创 RK3568平台开发系列讲解(基础篇)互斥锁的实现

互斥锁会导致休眠, 所以在中断里面不能用互斥锁。mutex的操作函数中有fastpath、slowpath两条路径(快速、慢速):如果fastpath成功,就不必使用slowpath。atomic_long_try_cmpxchg_acquire(mem, old, new)是一个封装的原子操作。如果mutex当前值是0或负数,则需要调用__mutex_lock_slowpath慢慢处理:可能会休眠等待。大部分情况下,mutex当前值都是1,所以通过fastpath函数可以非常快速地获得mutex。

2024-03-18 00:01:05 416 2

原创 RK3568平台开发系列讲解(pinctrl篇)什么是 pinctrl子系统

Linux 中的 pinctrl 子系统(Pin Control Subsystem) 是一个用于管理和配置通用输入/输出(GPIO) 引脚的框架。 它提供了一种标准化的方法, 以在 Linux 内核中对 GPIO 引脚进行配置、分配和控制, 从而适应不同的硬件平台和设备。

2024-03-16 01:07:54 272 2

原创 RK3568平台开发系列讲解(基础篇)内核是如何发送事件到用户空间

kobject_uevent 是 Linux 内核中的一个函数, 用于生成和发送 uevent 事件。 它是 udev 和其他设备管理工具与内核通信的一种方式。

2024-03-16 00:26:34 611 1

原创 CPUFreq 中央处理器频率调节技术

CPUFreq 中央处理器频率调节技术。

2024-03-13 23:32:53 479

原创 Linux内核面向对象思想之继承

Linux内核面向对象思想之继承。

2024-03-13 23:31:32 645 1

原创 RK3568平台开发系列讲解(基础篇)自旋锁的实现

上述__raw_tickets结构体中有owner、next两个成员,这是在SMP系统中实现spinlock的关键。

2024-03-08 00:29:10 240

原创 RK3568平台开发系列讲解(基础篇)平台设备关键结构体

内核使用 platform_device 结构体来描述平台设备,结构体原型如下:

2024-03-07 00:43:19 387

原创 RK3568平台开发系列讲解(基础篇)注册字符设备

注册字符设备可以分为两个步骤:字符设备初始化字符设备的添加

2024-03-07 00:16:47 192 1

原创 RK3568平台开发系列讲解(基础篇)设备号的分配和释放

字符设备在/dev目录下,不能简单地把它们当作普通文件。字符设备文件的类型是可以识别的,用ls -l命令能够查看。主设备号和次设备号标识设备,并将其与驱动程序进行绑定。下面列出/dev目录(ls -l /dev)的内容,让我们看一看其工作原理:

2024-03-06 23:52:35 439 3

原创 RK3568平台开发系列讲解(基础篇)字符设备驱动关键结构体

Linux 内核中将字符设备抽象成一个具体的数据结构 (struct cdev), 我们可以理解为字符设备对象,cdev 记录了字符设备的相关信息 (设备号、内核对象),字符设备的打开、读写、关闭等操作接口(file_operations),在我们想要添加一个字符设备时,就是将这个对象注册到内核中,通过创建一个文件 (设备节点) 绑定对象的 cdev,当我们对这个文件进行读写操作时,就可以通过虚拟文件系统,在内核中找到这个对象及其操作接口,从而控制设备。

2024-03-06 00:37:22 231 1

arm64指令集高清图

arm64指令集高清图

2022-03-29

UsbTreeView工具

UsbTreeView工具

2022-01-23

Bushound安装包

Bushound安装包

2022-01-23

PCIe 官方教程,里面有彩色配图

PCIe 官方教程,里面有彩色配图

2022-01-21

USB 描述符介绍资料pdf

USB 描述符介绍资料pdf

2022-01-20

PCIE Power Management.pdf

PCIE Power Management

2022-01-16

Camera产品领域业务介绍v1.0.pptx

海思Camera产品领域业务介绍

2021-11-11

开发AUTOSAR兼容的嵌入式软件.pdf

开发AUTOSAR兼容的嵌入式软件

2021-11-11

新人学习autoware代码初步指导.docx

Autoware.AI是世界上第一个用于自动驾驶技术的“All-in-One”开源软件。104页的详细介绍

2021-11-11

DHT11-for-RK3399-driver-master

DHT11-for-RK3399-driver

2021-10-10

rk3399-edp.dts

点一块edp屏的dts

2021-10-05

ethtool-4.19.tar.xz

ethtool-4.19.tar.xz

2021-06-12

RK3399 Android7.1-Box 软件开发指南 V1.01-20170401.rar

RK3399 Android7.1-Box 软件开发指南 V1.01-20170401.rar

2021-06-04

RK3399硬件设计指南_V1.1_20170111.rar

RK3399硬件设计指南_V1.1_20170111

2021-06-04

Rockchip TRM.rar

Rockchip TRM

2021-06-03

RK3399平台入门到精通系列讲解开发工具

RK3399平台入门到精通系列讲解开发工具

2021-06-03

RK3399平台开发系列讲解专栏对应官方资料

RK原厂资料

2021-05-24

Hi3751 V811 ReleaseDoc相关文档资料

Hi3751 V811 ReleaseDoc相关文档资料

2021-03-19

autosar官方英文资料 302篇

autosar官方英文资料 302篇

2021-03-18

车载诊断标准ISO 5篇pdf

车载诊断标准ISO

2021-03-18

新能源汽车电池电机电控月度监测与分析报告(2018年及2019年)44份pdf.rar

新能源汽车电池电机电控月度监测与分析报告(2018年及2019年)44份pdf

2021-03-18

技术报告——惯性导航系统原理验证.docx

惯性导航系统原理验证

2021-03-17

智能汽车及车联网.pptx

智能汽车及车联网

2021-03-17

国家车联网产业标准体系建设指南(电子产品与服务).pdf

国家车联网产业标准体系建设指南(电子产品与服务).pdf

2021-03-17

国家车联网产业标准体系建设指南(信息通信).pdf

国家车联网产业标准体系建设指南(信息通信)

2021-03-17

国家车联网产业标准体系建设指南(总体要求).pdf

国家车联网产业标准体系建设指南(总体要求)

2021-03-17

ioremap_gpio_demo.c

ioremap demo对应博客介绍 https://xuesong.blog.csdn.net/article/details/114156170

2021-02-26

rkisp的驱动代码

rkisp的驱动代码首先看一下很设备树匹配用的of_device_id 目录:device/media/platform/rk-cif/cif_cif10_v4l2.c: 博客https://blog.csdn.net/qq_33487044/article/details/82191349

2020-10-21

MLX90640红外开发资料包.zip

https://blog.csdn.net/qq_33487044/article/details/86565536?ops_request_misc=%7B%22request%5Fid%22%3A%22158200180319726869063373%22%2C%22scm%22%3A%2220140713.130056874..%22%7D&request_id=158200180319726869063373&biz_id=0&utm_source=distribute.pc_search_result.none-task 博客地址

2020-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除