自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (7)
  • 收藏
  • 关注

原创 【linux内核中的双向链表-02】list_for_each_safe

在前面的文章中描述了双向链表的定义以及常用API,其中有个非常重要的宏定义:list_entry(ptr, type, member)。它可以在已知结构体成员地址的情况下,还原出结构体的首地址。。如下图所示:思考一个问题:在已知的情况下,如何打印出所有对象的name成员?

2023-09-11 09:14:36 505

原创 【linux input子系统-01】核心层、事件处理层、设备驱动层

最精彩的部分,发生在 input_attach_handler 之后。当 input_dev 和 input_handler 匹配上之后,会发生什么呢?下一篇讲。

2023-09-11 09:09:16 237

原创 【linux字符设备驱动-01】创建一个字符设备驱动

实现一个字符设备驱动

2023-09-06 11:51:06 705

原创 【图像处理】YUV格式图解

通过图解方式带你了解YUV格式的压缩原理

2023-08-04 12:17:35 115

原创 【linux内核中的双向链表-01】list_head、list_entry

【linux进程管理-02】内核中的双向链表list_head(x86)

2023-07-14 18:12:11 485

原创 【linux进程管理-01】task_struct、thread_info、stack之间的关系(x86)

linux进程管理 task_struct、thread_info、stack之间的关系

2023-07-11 19:27:29 399

原创 反汇编一个简单的C程序并分析堆栈

反汇编一个简单的C程序并分析堆栈

2023-05-26 16:28:07 273

原创 使用GDB探究函数调用过程中堆栈以及CPU寄存器的变化过程

使用gdb探究函数调用过程中堆栈及CPU寄存器的变化

2023-05-25 19:19:58 1564 2

原创 cache学习笔记一:映射方式

主要介绍了cache的三种映射方式

2022-11-07 20:02:00 3607

原创 ALSA框架学习笔记3:声卡注册流程(代码解析)

ALSA 声卡注册

2022-10-19 09:52:51 2355

原创 ALSA框架学习笔记2:SOC DAI注册流程(代码解析)

ALSA框架 SOC DAI注册

2022-10-11 14:11:04 1206

原创 ALSA框架学习笔记1:component注册

ALSA框架学习笔记1:devm_snd_soc_register_component

2022-09-20 20:18:02 1987

原创 【C语言】关于printf的缓冲区问题

printf的缓冲区问题

2022-07-08 11:24:37 2589 1

原创 【bug记录】LVDS端口的switch功能导致画面显示重影

因为lvds端口的switch功能配置导致的画面显示重影,以及解决方案。

2022-06-11 17:43:47 2376 1

原创 ADI SigmaStudio安装及使用

ADI 的SigmaStudio工具的安装及使用

2022-06-11 17:17:54 3911

原创 【Linux驱动】应用层调用ioctl返回25“Not a typewriter”

unlocked_ioctl与compat_ioctl

2022-06-07 09:29:13 1205 1

原创 【Linux驱动】将GPIO配置为输入,并注册为中断管脚,触发中断后通知应用层

Linux驱动中注册一个GPIO为中断,并将中断通知上层应用

2022-06-06 15:59:27 2019 1

原创 /usr/bin/as: unrecognized option ‘-EL‘

编译报错/usr/bin/as: unrecognized option '-EL'

2022-05-06 11:34:27 3147 2

原创 【Linux】基于美信串行解串器实现UART串口通信

美信串行解串器,UART配置及通信。

2022-03-29 20:13:05 16499 10

原创 SOC与MAX96763串行芯片UART串口通信调试

通过读取MAX96763的芯片ID,测试UART通信

2022-03-24 16:43:38 988 1

原创 使用sed命令给二进制文件添加文件头

场景:做音频分析时,设备提供的是pcm原始音频文件,上位机要求的是.wav的文件。就需要对pcm文件头部添加44字节的wav头。以下为示例,把AA BB CC DD替换为真实数据即可。sed -i '0,/^/s/^/\xAA\xBB\xCC\xDD/' test.pcm...

2022-01-12 18:54:59 2188

原创 【Windows】解决命令行报错:use of REX.w is meaningless.reg

执行以下脚本即可:use of REX.w is meaningless.reg

2021-12-27 16:52:35 1153

原创 【Linux命令】使用ftpd快速搭建ftp服务器

linux开发板上快速搭建ftp服务器,进行文件传输

2021-12-27 16:45:00 3748

原创 【ESP32S2】esp32s2开发板做为usb网卡使用

概述使用 esp-iot-solution 中的 usb_dongle 例程(esp-iot-solution/examples/usb/device/usb_dongle),实现USB网卡功能。操作前先详细阅读README.md,按照说明连接好设备的管脚。硬件esp32s2开发板USB连接线的D+/D-分别接esp32s2的pin_20/pin_19编译烧写编译环境搭好之后,直接编译usb_donglecd usb_dongle_demoidf.py set-target esp3

2021-12-02 17:57:12 10691 3

原创 【ESP32S2】把只有4M flash的开发板制作成一个2G的U盘(一)

文章目录前言一、背景二、制作虚拟磁盘VHD三、生成磁盘数据四、生成.h头文件五、改造read10函数六、测试七、工具八、参考前言前面的文章《使用ESP32S2开发板制作U盘,支持无线访问》讲述了如何将ESP32S2开发板制作成一个U盘。本文继续延伸,讲述如何把开发板制作成一个看起来容量远远大于flash实际大小的U盘。为方便起见,就叫它“虚拟U盘”吧。本文用到的工具,附在了第七章。一、背景ESP32S2开发板flash只有4M,但出于某些目的,把它插到主机(PC、Android 手机、平板、.

2021-09-28 21:12:55 6128

原创 【Android】Android 网络评分策略简述

一、初始评分设定以太网默认评分frameworks/opt/net/ethernet/java/com/android/server/ethernet/EthernetNetworkFactory.javaprivate static final int NETWORK_SCORE = 70; // 以太网默认评分mFactory.setScoreFilter(up ? NETWORK_SCORE : -1); wifi默认评分framework

2021-09-24 10:56:49 1765

原创 【Android】Android系统音量调节策略学习总结

前言文章就Android平台主机接不同的外放设备时的音量调节策略做简要介绍。一、主机版本主机版本RK3399广告屏Android7Skyworth平板Android9Skyworth车机Android9二、外设类型USB音箱底座蓝牙音箱3.5mm线控耳机三、相关术语track volume: 单个App设置音量时设置的是这个,它只影响本App的音量。stream volume: 设置某一stream的音量,Android系统中支持的stre

2021-09-24 09:36:34 5000

原创 【ESP32S2】使用ESP32S2开发板制作U盘,支持无线访问

文章目录前言一、开发环境二、硬件介绍三、下载esp-idf四、下载esp-iot-solution五、配置idf1、执行下载脚本2、设置环境变量3、声明外部组件六、构建例程七、烧写Flash八、使用方法九、感谢前言使用官方例程"usb_msc_wireless_disk",将ESP32S2开发板制作成一个支持wifi无线访问的U盘设备。一、开发环境SDKhttps://github.com/espressif/esp-idf.git方案https://github.com/e

2021-09-15 21:05:36 9522 8

原创 【Android】Android SDK中增加i2c-tools,及其使用方法

文章目录前言一、下载二、Android.mk三、编译四、使用前言适用于不带i2c-tools的Android sdk,增加i2c-tools调试。本文基于RK3399 Android SDK。一、下载1、下载:i2c-tools下载2、解压:tar -zxvf i2c-tools-4.3.tar.gz3、拷贝:将解压后的i2c-tools-4.3,拷贝至Android sdk的external/目录二、Android.mk在external/i2c-tools-4.3/创建Androi

2021-09-15 20:30:12 1013

原创 【RK3399】Android平台增加一款声卡设备(ES7210+ES8156),进行录音/播放测试。

文章目录前言一、开发环境二、概述三、硬件介绍1、ES72102、ES81563、数字麦克风阵列4、音频示意图四、下载SDK五、编译、烧写1、u-boot2、kernel3、Android SDK4、烧写分区5、烧写固件六、声卡驱动1、添加codec代码2、修改Kconfig3、修改Makefile4、修改rockchip_defconfig5、修改DTS七、声卡调试1、查看声卡注册信息2、使用tinycap/tinyplay录音和放音3、使用示波器观测八、修改HAL层1、修改默认capture/playba

2021-09-15 20:11:40 17298 13

原创 【ESP32S2】esp-idf SDK环境搭建,编译运行hello_world例程

目录硬件环境软件环境一、下载SDK二、安装三、修改下载源四、设置环境变量五、配置hello world工程六、构建工程七、烧写方法1:使用 flash_download_tool_v3.8.5.exe 工具方法2:使用idf.py(推荐)硬件环境安信可ESP-12K开发板NodeMCU-32-S2软件环境Windows 10一、下载SDK以下载乐鑫官方SDK v4.3.1版本为例:方法一: git clone -b v4.3.1 --recursive https://github

2021-09-15 18:18:23 1535 1

原创 【Linux】栈保护 栈溢出 stack smashing detected 定位方法

程序中能明确看到某个变量的值被篡改,这种情况一般定位思路:使用watch命令观察该变量;执行c继续运行,程序会停在观察点发生变化的地方;执行where命令,查看当前的位置,即定位到哪行语句篡改了被观察的变量。即先看堆栈,大致确定是哪个函数。然后进到该函数中,逐条语句执行、查看堆栈信息,直到看到栈被破坏。遇到函数调用层次比较多时,效率会比较低,但也算有效。

2020-04-17 17:32:34 12261 1

evtest-1.33.orig.tar.bz2

Android Linux Input输入子系统 evnet测试工具

2022-12-21

ES7210 codec driver ES7210声卡驱动

ES7210 codec driver ES7210声卡驱动

2022-08-24

ADI_A2B_Software-Rel19.3.1.exe

ADI_A2B_Software-Rel19.3.1.exe ADI官方软件 配合SigmaStudio使用。

2022-06-09

adi_sigmastudio-rel4.6-x64.exe

adi_sigmastudio-rel4.6-x64.exe ADI官方A2B调式工具

2022-06-09

use of REX.w is meaningless.reg

解决命令行报错:use of REX.w is meaningless

2021-12-27

HxDSetup.zip 磁盘数据编辑工具,方便查看磁盘数据

磁盘数据编辑工具,方便查看磁盘数据

2021-09-28

FileToh.zip

将磁盘二进制文件转换为.h文件,并去除空扇区

2021-09-28

rk3288/rk3399双屏异显、双屏异触测试demo

Demo.APK 使用 Android Studio 开发,可直接通过 adb -install xxx.apk 进行安装。 Demo 应用的界面中有 4 个按钮,其中 SHOW_MR 和 SHOW_DM 按钮可实现多屏异显,并在second display 上显示 Click 按钮,供双屏异触功能测试。

2021-09-16

空空如也

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

TA关注的人

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