- 博客(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】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
原创 【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
原创 使用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
原创 【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
rk3288/rk3399双屏异显、双屏异触测试demo
2021-09-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人