- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 全网最详细讲解-Linux驱动模块化编程
特别是`insmod`、`rmmod`、`modprobe`等命令的使用,以及模块的`init`和`exit`函数。知识点介绍:Linux通过`insmod`(插入模块)和`rmmod`(移除模块)命令动态管理驱动模块,结合`modprobe`(自动解决依赖)和`lsmod`(查看已加载模块)形成完整的模块生命周期管理工具链。最终,Linux内核通过`struct module`和`module_init`/`module_exit`宏实现了模块的生命周期管理(加载、初始化、卸载)。
2025-05-25 08:42:39
47
原创 浏览器请求数据包的“超级马里奥之旅”
如果找到了,就直接去访问;实例:比如你在咖啡馆里点击了朋友圈的一张美食图片,浏览器会先看看自己的“地图”(本地缓存),如果没有找到对应的IP地址,就会向DNS服务器发送请求,获取朋友圈服务器的IP地址。通过这次“超级马里奥”式的冒险,我们不仅了解了浏览器请求数据包的全流程,还见识了网络世界的奇妙和技术的重要性。实例:电商服务器接收到你的请求后,会处理你的购买请求,生成相应的HTML页面,并通过同样的路径返回给你。实例:你的请求数据包从咖啡馆的网络出发,经过多个路由器的转发,最终到达电商服务器所在的网络。
2025-05-25 08:03:49
322
原创 RK平台开发(内核篇):Linux内核启动全流程精讲(从BootROM到用户空间)
技术总结RK3568的启动流程如同建造摩天大楼,需要经历政府审批(BootROM)、施工队入场(BL2)、物业安保(ATF)、设计师规划(U-Boot)、装修施工(Linux内核)、住户入住(用户空间)六个关键阶段。每个阶段都有严格的技术规范和调试方法。互动话题你在RK3568开发中遇到过哪些启动问题?对哪个技术环节最感兴趣?欢迎评论区讨论!
2025-05-19 08:44:45
23
原创 Wi-Fi连接故障阶段分析排查方法大全
**Android日志**:通过`adb logcat | grep -i wifi`查看Wi-Fi模块日志。- **驱动异常**:驱动程序未正确加载(如Android中`wpa_supplicant`未运行)。- **命令行工具**:`dumpsys wifi`可获取Wi-Fi状态、关联AP和错误代码。- **硬件问题**:Wi-Fi模块未启用或硬件故障(如天线损坏)。- **证书问题**:企业级网络(如802.1X)的证书配置错误。- **信号强度不足**:RSSI值过低(如低于-70dBm)。
2025-05-18 13:14:46
45
原创 I2C总线波形救星:根治信号畸变的电容电阻博弈论(附自检表+实测案例)
示例:R=4.7kΩ,C=200pF → 上升时间=2200×4.7×0.2=2068ns(远超400kHz需求)。走线电容≈200pF,R=4.7kΩ → 上升时间=2200×4.7×0.2=2068ns(超标6倍)。总线电容=150pF → 上升时间=2200×10×0.15=3300ns(远超1μs上限)。最大允许电阻 (kΩ) = 上升时间要求 (ns) / (2200 × 电容 (nF))上升时间 (ns) ≈ 2200 × 上拉电阻 (kΩ) × 总线电容 (nF)
2025-05-18 06:46:17
45
原创 干货来了~I2C总线设计:用储水罐与水管模型彻底弄懂电容与电阻的门道
减少电容:移除两个非必要传感器,总线电容降至150pF → t_rise≈2.2×2200×150pF≈0.73μs(优化后)。某工程师设计中,I2C总线挂载了5个传感器(C≈200pF),使用4.7kΩ上拉电阻,实测100kHz通信时波形严重畸变。单个器件输入电容≈5~10pF,20cm PCB走线≈40pF,总电容=C=器件数×10pF+走线电容。电阻越小:充电电流越大,信号边沿越陡(上升时间快),但低电平时电流大,功耗高。低功耗场景:4.7kΩ~10kΩ电阻,但需确保C足够小(公式验证)。
2025-05-18 06:02:28
27
原创 风趣幽默的方式学习-bq25895的数据手册
bq25895就像是一个超级智能的电源管理助手,它能够自动检测连接的输入源类型,并根据检测到的输入源类型设置输入电流限制。- REG04:这是它的充电设置”,包括启用电流脉冲控制、设置快速充电电流限制和设置预充电电流限制等。- REG06:这是它的电压设置”,包括设置充电电压限制和设置电池预充电到快速充电阈值等。- REG08:这是它的补偿设置”,包括设置IR补偿电阻和设置IR补偿电压限制等。- REG05:这是它的终止设置”,包括设置终止电流限制和设置预充电电流限制等。
2025-05-17 23:26:04
413
原创 Android Wi-Fi开发指南:像谈恋爱一样掌握Wi-Fi技术
Log.d("派对地址", "SSID:"+config.getSsid()+" 密码:"+config.getPassphrase());Log.d("妹子信息", "颜值(信号强度):"+result.level+" 名字:"+result.SSID);Log.d("脱单成功", "当前Wi-Fi:" + wifiInfo.getSSID());Log.d("与"+result.SSID+"的距离", distance+"米");
2025-05-14 06:32:49
868
原创 一文读懂无线WiFi技术:从入门到802.11协议核心解析
Wireshark抓包:分析802.11帧类型(管理帧/控制帧/数据帧)[[3]- 帧聚合技术:把多个小包裹打包成集装箱运输(A-MPDU提升效率)[[1]- Aircrack-ng:检测WEP/WPA2网络漏洞(需合规使用)- 突破:MIMO多天线技术 + 信道捆绑(HT40)[[1]- 动车时代:600Mbps,双频段(2.4G/5G)运行。- 信号解码:识别破损包裹并自动重发(MAC层重传机制)[[1]- WPA2:动态密码锁+防撞库机制(AES-CCMP加密)
2025-05-11 20:59:07
376
原创 USB快充(即USB Power Delivery, USB PD)的核心概念和原理
在USB PD(Power Delivery)协议中,`PD_MSG_HDR` 是指消息头(Message Header),它是USB PD消息的一部分,用于定义消息的基本结构和控制信息。总之,"usb_peripheral" 指的是通过USB接口连接到主机上的设备,它们可以是任何形式的数据传输设备或需要从主机获取电力的设备。在USB PD的上下文中,它还可以特指支持USB PD协议的设备,这些设备能够在连接时与主机协商电力需求,实现高效的电力传输。这一功能的实现依赖于CC引脚的工作原理。
2024-09-25 11:22:14
862
原创 Android SDM660源码分析 - UEFI XBL QcomChargerApp充电流程代码分析
通过对源码中充电流程的详细分析,我们可以逐步深入了解Android充电流程的实现细节,帮助初学者建立起清晰的知识框架,逐步理解每个步骤的工作原理。希望这篇博客能帮助你更好地理解Android充电流程,如果有任何问题或需要进一步讨论的内容,欢迎随时交流!
2024-09-22 08:23:05
485
原创 SC66模块传感器配置详解
常用的传感器有:加速度传感器、陀螺仪传感器、地磁传感器、压力传感器、温度传感器、光传感器、接近传感器等。有些传感器还支持复合功能,例如加速度和陀螺仪传感器、光和接近传感器。传感器是一种检测装置,能够感受到被测量的信息,并能将感受到的信息,按一定规律变换成为电信号或其他所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。- **烧录固件**:直接保存修改后的配置文件,删除代码中的`/out`目录,重新编译固件,最后使用`fastboot`下载到模块中。+-> 删除/out目录。
2024-09-21 22:53:12
397
原创 AT命令入门指南
6. **IMEI(International Mobile Equipment Identity)锁定**:IMEI是国际移动设备识别码,锁定IMEI可以防止设备被非法使用,常用于丢失或被盗设备的管理。使用时,命令以`AT`开头,后面跟上命令标识符和参数。9. **AT&T 3G退网**:随着通信技术的发展,旧的3G网络逐渐被淘汰,新的4G/LTE网络成为主流。8. **FTM(Factory Test Mode)**:工厂测试模式,这是一种特殊的操作模式,用于测试设备的功能和性能。
2024-09-21 22:45:46
511
原创 SC600x&SC66系列智能模块PCB设计的基本原理
为了准确控制阻抗,需要根据PCB材料的特性,比如介电常数,来确定信号线的宽度和间距。1. **Smart Module Series**:指的是Quectel提供的集成有智能处理能力的模块,通常包含处理器、内存、无线通信等功能,适用于物联网(IoT)等应用场景。3. **RF Traces**:射频走线,指的是PCB上用于传输射频信号的路径,其宽度和间隔需要精确控制以满足特定的阻抗要求。4. **Ground Plane**:地平面,是在PCB层上的一片连续的金属层,用于提供电路中的参考点或回流路径。
2024-09-21 21:47:55
880
原创 SC66系列模块的深入解析
SC66模块提供了丰富的硬件接口,包括但不限于USB、UART、(U)SIM、SD卡接口、GPIO、I2C、SPI、LCM(MIPI)、触摸屏(TP)、摄像头、音频接口、I2S、SPI等。通过上述内容,我们从模块的基本概念入手,逐步深入探讨了它的硬件接口、功能框图、天线与射频设计要点,最后讨论了调试与配置的方法。随着物联网技术的发展,智能模块作为核心组件的重要性日益凸显。SC66系列模块提供了丰富的外设接口,支持多种功能扩展,下面详细总结了SC66系列模块支持的外设和接口,以及在调试时应该注意的事项。
2024-09-21 21:39:41
937
原创 SC66系列模块Secure Boot功能详解
这就是Secure Boot的作用。4. **Primary Boot Loader (PBL)**:主引导加载程序,是设备启动过程中的初始阶段,通常是内置在芯片中的不可更改部分,被视为启动过程中的可信实体。1. **Secure Boot**:安全启动,是一种在设备启动过程中验证每个阶段的固件是否经过授权的技术,确保只有合法的软件可以在设备上运行。6. **Secondary Boot Loader (SBL)**:第二阶段引导加载程序,在PBL验证通过后加载执行,继续后续的启动流程。
2024-09-21 21:28:05
225
原创 SC66 摄像头驱动开发指南:从新手到专家
**Chromatix配置文件**:位于`vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/configs/`路径下。3. **Sensor驱动**:确认`.sensor_slave_info`中的`sensor_name`、`slave_addr`、`sensor_id_info`等配置项是否符合实际使用的传感器。假设您是一个初学者,我们将从基础术语开始,逐步深入到复杂的配置流程。
2024-09-21 21:14:50
467
原创 SC66模块Android编译指南
3. **JACK重启**:在修改了`.jack-settings`和`.jack-server/config.properties`之后,记得使用`./prebuilts/sdk/tools/jack-admin kill-server`和`./prebuilts/sdk/tools/jack-admin start-server`命令重启Jack。4. **编译速度慢**:如果发现编译速度非常慢,可以尝试增加编译线程数,即`make –jn`命令中的`n`值,但也要注意不要超过CPU的核心数量。
2024-09-21 20:54:21
300
原创 SC66 Android系统烧录指南
## 引言SC66是一款智能LTE模块,支持从Android Pie (P)到Android 10 (Q)多个版本的系统烧录。本文旨在详细介绍如何使用工具对SC66模块进行Android系统烧录,从基础知识入手,逐步深入到具体操作流程。## 基础概念### SC66模块SC66是一款智能LTE模块,适用于多种工业级应用,其集成了高性能处理器和调制解调器。### QFIL (Qualcomm Flash Image Loader)由高通公司开发的用于加载固件到基于高通芯片的设备上的工具
2024-09-21 20:42:26
571
原创 高通平台Android 10设备AT&T 3G退网软件配置详解
**位置**:`frameworks/native/services/connectivity`下的`ConnectivityService.java`,以及`frameworks/base/core/java/com/android/internal/telephony`下的`ModemProperties.java`。- **关注点**:确保内核驱动支持最新的AT命令集,如`AT+QNVFR`和`AT+QNVFW`等,这些命令用于读取和写入设备的非易失性内存设置。
2024-09-21 17:31:58
793
原创 一文带你迅速了解SC66系列多网络制式的智能LTE模块
2. **技术规格**:详细列出了模块的技术指标,包括支持的频段、数据传输速率、支持的网络类型(如LTE、UMTS/HSPA+、TD-SCDMA等)、Wi-Fi和蓝牙版本、GNSS支持的系统(如GPS、GLONASS、BeiDou等)。3. **硬件接口**:描述了模块提供的接口类型,如LCM、摄像头、触摸屏、麦克风、扬声器、UART、USB、I2C、SPI等,并提到了模块支持的最大分辨率、双屏异显的能力以及最多支持的摄像头数量。
2024-09-21 17:18:24
1149
原创 高通平台Android 10充电系统调试入门指南
**设备树文件**:`fg-gen3-batterydata-xxx.dtsi` 和 `msm-pm660.dtsi`,位于`Android\kernel\msm-4.4\arch\arm64\boot\dts\qcom\`目录下,包含电池参数和充电参数。- **驱动文件**:`qpnp-smb2.c` 和 `smb-lib.c`,位于`Android\kernel\msm-4.4\drivers\power\supply\qcom\`目录下,负责处理充电逻辑。
2024-09-21 17:05:45
970
原创 如何抓取智能模块 Dump Log
**USB驱动**: 确认USB驱动是否安装成功。**操作**: 使用`AT+QCFG="dumpenable",1`来启用Dump模式,使用`AT+QCFG="dumpenable",0`来禁用Dump模式。**示例**: 当模块死机后,如果已启用Dump模式,系统会自动生成一个Dump Log文件,里面包含了死机时刻的内存状态和系统信息。**操作**: 通过串口终端程序输入AT命令,如`AT+QCFG="dumpenable",1`,来启用Dump模式。
2024-09-21 10:48:32
1009
原创 WPA Supplicant 在 Android中的原理、用法与实现及问题排查
其中 `-Dnl80211` 指定了内核模块 `nl80211` 作为驱动接口,`-i wlan0` 指定了 Wi-Fi 接口名称,`-c` 参数指定了配置文件路径。2. **Wi-Fi (wlan0)**:由 Wi-Fi 驱动和 `wpa_supplicant` 共同管理,驱动位于 `drivers/net/wireless`,`wpa_supplicant` 位于 `external/wpa_supplicant`。在 Android 中,`init` 进程的行为由 `/init.rc` 文件定义。
2024-09-19 06:47:42
2074
原创 全面掌握 Android 设备上的网络管理与调试技巧
svc wifi-ap set-config --ssid="HiddenSSID" --security=WPA2 --password="yourPassword" # 设置 Wi-Fi 热点配置。- `airplane_mode_on <value>`:设置飞行模式状态(1 表示启用,0 表示禁用)。- `--ez state <value>`:设置状态值(true 表示启用,false 表示禁用)。- `mobile_data <value>`:设置移动数据连接状态(1 表示启用,0 表示禁用)。
2024-09-18 23:10:51
1314
原创 高通平台Camera开发
**Chromatix文件**:`vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/chromatix/0310/chromatix_s5k3p9/`。- **传感器驱动配置**:`vendor/qcom/proprietary/mm-camera/mm-camera2/media-controller/modules/sensors/sensor/libs/xxx/xxx_lib.h`。
2024-09-18 05:02:30
2023
原创 涓流充电以及电池在充电过程中的各种状态,超详细
3. **电池健康状态较差:** 对于一些健康状况较差或老化的电池,系统可能会在充电过程中更早地进入涓流模式,以减少高电流对电池的压力。2. **电池温度较高时:** 如果在充电过程中电池温度升高(但未达到停止充电的阈值),系统可能会切换到涓流充电以避免进一步升温。充电过程中,设备会根据电池的状态(包括电量、温度、电压等)动态调整充电方式和状态,以实现快速、安全的充电。1. **电池接近满电:** 当电池充电水平接近90%到100%,设备会切换到涓流充电模式,减少电流输入。
2024-09-17 21:31:39
1466
原创 高通平台显示驱动开发
在这里,我们创建了一个XML文件,这个文件包含了屏幕的所有必要信息,比如它的分辨率、刷新率等。这个流程图概述了显示驱动开发的主要阶段,从最初的Excel配置表设置开始,经过DSI和MDP寄存器的配置,以及DSI PHY时序的计算与设置,直到最后更新Panel XML文件,配置内核及UEFI固件。- 生成的设备树文件需要被复制到内核的适当目录中,如`#cp dsi-panel-hx8394f-720p-video.dtsi kernel/msm-4.4/arch/arm64/boot/dts/qcom/`。
2024-09-16 08:13:43
2616
原创 高通充电技术详解
**Power Management Service (电源管理服务)**:位于`frameworks\base\services\core\java\com\android\server\power`,负责管理电源状态和服务。- **HAL实现**:HAL的具体实现可能位于不同的地方,具体取决于设备厂商的选择。- 充电驱动文件位于`Android\kernel\msm-4.4\drivers\power\supply\qcom\`目录下,包括`qpnp-smb2.c`和`smb-lib.c`。
2024-09-15 07:31:02
2155
原创 从今天开始建设自己的技术博客
从2014年开始做软件,到现在都有7年的时间了。感觉自己走了很多弯路,这中间也认识了很多nice的朋友。今天开始决定更新博客的原因一方面是记录自己技术成长的过程,另一方面希望可以认识更多志同道合的朋友。废话不多说,以后多努力吧,今天是个起点!加油!...
2021-11-06 11:12:17
75
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人