自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

内核笔记

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

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

原创 RK3568平台开发系列讲解(驱动篇)十面埋伏的并发(一):硬件同步原语

十面埋伏的并发(一):硬件同步原语并发的根源多线程、多进程调度各种中断并发对程序的不良影响篡改共享数据动作不完整同步、死锁、数据竞争、系统调度开销…硬件同步原语由计算机硬件提供的一组原子操作,具有不可分割性,避免并行运算执行错误。案例//C语言代码进程一:i=10进程二:i=20//汇编代码进程一:ldr r0, =0X30000000 /* i 变量的内存地址 */ldr r1, = 10 /* 要写入的值 */str r1, [r0] /* 将 10 写入到

2020-01-31 20:55:14 4516 9

原创 RK3399平台开发系列讲解(系统篇)1.14、通信机制 Binder

本博客首先介绍了进程间的通信机制 Binder,其次介绍了 JNI 机制以及传感器模 块实现中是如何使用的,最后以数据传递为主线分析了各模块的设计与实现。平台内核版本安卓版本RK3399Linux4.4Android7.1文章目录1、进程间通信机制1、进程间通信机制Binder作为 Android 中另外一个庞大的体系,虽然代码量多、跨度广,但也 同样需要自己...

2020-01-30 21:10:38 1926 8

原创 RK3568平台开发系列讲解(LCD篇)显示驱动硬件抽象层

在Android系统中,Gralloc模块由gralloc_module_t模块、alloc_device_t设备和framebuffer_device_t设备3个结构体来描述,里面的函数指针具有非常重要的作用。Gralloc模块是由UI库中的文件frameworks/base/include/ui/FramebufferNativeWindow.cpp调用的。在文件FramebufferNativeWindow.cpp中定义了类FramebufferNativeWindow,此类继承了android_

2020-01-30 12:40:30 2984 12

原创 RK3568平台开发系列讲解(驱动篇)十面埋伏的并发(二):自旋锁

十面埋伏的并发(二):自旋锁原子操作简单易用只能作计数操作,保护的东西太少自旋锁主要用于多核处理器短时期的轻量级加锁加锁失败时,原地打转、忙等待避免上下文调度、系统开销较小加锁步骤:查看锁的状态,如果锁是空闲的将锁设置为当前线程持有存在问题在没有 CAS 函数前,多个线程同时执行这 2 个步骤是会出错的。解决方案CAS 函数把这 2 个步骤合并为一条硬件级指令。这样第 1 步比较锁状态和第 2 步锁变量赋值,将变为不可分割的原子指令(硬件同步原语)CA

2020-01-28 21:52:06 1584 9

原创 RK3399平台开发系列讲解(其他篇)1.12、流媒体详解

平台内核版本rv1108Linux3.1文章目录1、流媒体技术基础1.1、流媒体传输的原理1.2、流媒体传输的特点1.3、流媒体传输的方式2、流媒体相关协议2.1、实时流协议--RTSP2.2、实时传输协议--RTP2.3、实时传输控制协议--RTCP2.4、绘画描述协议--SDP1、流媒体技术基础在二十世纪九十年代,流媒体刚出现时,人们就已经能在网上看到视频直播,...

2020-01-28 12:13:26 2742 7

原创 RK3399平台开发系列讲解(其他篇)1.13、H264关键编码技术介绍

平台内核版本rv1108Linux3.1文章目录1、H264的关键编码技术1.1、帧内预测编码1.2、帧间预测编码1.2.1、树状运动补偿1.2.2、高精度运动估计1、H264的关键编码技术H.264 的特征是加大了预测部分的比重,通过改善预测误差而提高编码效率。它采用了一系列先进的编码技术:内容好处分层结构设计增强网络亲和性空域帧内...

2020-01-27 23:10:53 2619 6

原创 RK3568平台开发系列讲解(驱动篇)十面埋伏的并发(三):信号量

十面埋伏的并发(三):信号量本质计数器,用来控制对公共资源的访问特点长时期的资源占用获取信号量失败,触发上下文调度当前进程(线程)陷入休眠,系统开销大信号量相关API定义信号量struct semaphore sem;初始化信号量static inline void sema_init(struct semaphore *sem, int val)参数:sem:指定要初始化的信号量val:信号量的初始值获取信号量void down(struct semaphore

2020-01-27 18:59:14 1639 8

原创 RK3568平台开发系列讲解(驱动篇)十面埋伏的并发(四):互斥锁

十面埋伏的并发(四):互斥锁信号量与互斥锁:同步还是独占?信号量强调信号机制(同步)生产者–消费者模型获取信号量失败,触发上下文调度互斥锁强调互斥机制独占共享资源获取互斥锁失败,触发上下文调度服务于多个线程间的执行的逻辑顺序的选信号量服务于共享资源的选互斥锁自旋锁与互斥锁:休眠还是“忙等待”?自旋锁加锁成本低,不释放cpu使用权互斥锁加锁成本更高(上下文切换耗时在几十纳秒到几微秒之间),加锁失败时会释放 CPU 给其他线程无法判断锁住的代码会执

2020-01-26 20:33:32 2080 8

原创 RK3399平台开发系列讲解(网络篇)7.9、tcpdump及Wireshark工具的使用说明

Tcpdump + Wireshark 实现,在 Linux 里抓包,然后在wireshark里分析包。

2020-01-26 14:05:02 2236 9

原创 RK3399平台开发系列讲解(内核入门篇)1.5、内核编译机制分析

`Linux` 内核从源码到安装使用大致可分三个阶段,配置,编译,安装。配置的过程主要由 `Kconfig` 提供的图形界面完成,也有部分工作由 `Kbuild` 完成。编译的实现机制主要是`Kbuild`系统,由`make`命令完成内核编译。内核的安装也是由`Kbuild`提供的安装脚本再由 `make` 命令执行安装。

2020-01-26 13:15:16 4197 10

原创 RK3568平台开发系列讲解(驱动篇)驱动开发之I2C使用

RK3568开发板上有 6 个片上 I2C 控制器本文主要描述如何在该开发板上配置 I2C。配置 I2C 可分为两大步骤:定义和注册 I2C 设备定义和注册 I2C 驱动

2020-01-25 14:24:53 3805 9

原创 RK3568平台开发系列讲解(驱动篇)驱动开发之红外遥控IR

RK3568 开发板上使用红外收发传感器 IR (在ADC接口下面)实现遥控功能,在 IR 接口处接上红外接收器。本文主要描述在开发板上如何配置红外遥控器。其配置步骤可分为两个部分:修改内核驱动:内核空间修改,Linux 和 Android 都要修改这部分的内容。修改键值映射:用户空间修改(仅限 Android 系统)。

2020-01-25 12:58:25 4453 9

原创 RK3399平台开发系列讲解(其他篇)1.7、Linphone的使用说明

文章目录一、摘要:二、准备工作:三、linphone 操作:四、Linphone中相关api介绍:五、Linphone中参数解析:六、 Linphone中通信过程分析:一、摘要:Linphone是基于WEB的IP电话工具,可以运行于 Linux和Windows下。通过 Linphone可以在互联网上和其他人进行声音、视频通信。 Linphone是遵从SIP协议开发的,它需要和支持SIP协议的设...

2020-01-24 12:24:24 8480 10

原创 RK3568平台开发系列讲解(驱动篇)驱动开发之PWM 使用

配置 PWM 主要有以下三大步骤:配置 PWM DTS 节点、配置 PWM 内核驱动、控制 PWM 设备。

2020-01-24 11:43:40 3181 7

原创 RK3568平台开发系列讲解(驱动篇)IIC核心函数与“万能”驱动

IIC核心函数与“万能”驱动i2c_add_adapter()函数drivers/i2c/i2c-core-base.c注册一个i2c适配器int i2c_add_adapter(struct i2c_adapter *adapter)int i2c_add_numbered_adapter(struct i2c_adapter *adapter)adapter->nr:适配器的编号参数:adapter:i2c物理控制器对应的适配器返回值:成功:0失败:负数i2c_a

2020-01-23 12:02:02 1692 7

原创 RK3568平台开发系列讲解(LCD篇)驱动开发之LCD使用

RK3568的SDK下kernel/arch/arm64/configs/firefly_defconfig已经把LCD相关的配置设置好了,如果自己做了修改,请注意把以下配置加上:CONFIG_DRM_ROCKCHIP=yCONFIG_ROCKCHIP_DW_MIPI_DSI=yCONFIG_DRM_PANEL_SIMPLE=y

2020-01-23 11:23:46 3157 7

原创 RK3399平台开发系列讲解(低功耗篇)11.4、RK3399待机唤醒相关问题定位

待机分为一级待机和二级待机,对应的唤醒也是分成 两级;一级待机:主要动作是关显示(lcd, backlight),关tp,关gsensor等;场景包括音乐播放,蓝牙传输,wifi下载,插USB接电脑等;二级待机:简单理解就是进入soc低功耗模式, RK3399支持 Core 断电,Logic 断电,DDR 进入Retention状态,OSC Disable (系统时钟切为 32.768k);

2020-01-22 21:24:11 5110 11

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关注的人

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