avatar
文章
129
标签
539
分类
37

首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
Zhangzqs
搜索
首页
时间轴
标签
目录
友情链接
推荐工具
站长工具
8. VIVO-Y927 Linux 内核设备树完善(WiFi-蓝牙)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第7阶段:完善WiFi-蓝牙 目标 让 WCN3620 这颗 WiFi/蓝牙 SoC 跑起来——dmesg 里看到 wlan0 和 hci0 注册成功。 硬件分析 Y927 用的 WiFi/蓝牙是 Qualcomm WCN3620——MSM8916 板上的协处理器,跟主 SoC 共享 SMD 总线,整条链路涉及 6 个角色: 角色 内核模块 DTS 节点 作用 协处理器加载 qcom_wcnss_pil (CONFIG_QCOM_WCNSS_PIL) &wcnss 用 PIL 把 wcnss.mdt 加载到协处理器 协处理器内存 — &wcnss_mem 给 WCNSS 预留 6 MiB 共享内存 RF 子模块 — &wcnss_iris 声明 RF 子模块型号(qcom,wcn3620) WiFi MAC wcn36xx (CONFIG_WCN36XX) 通过 SMD 自动关联 注册 wlan0 蓝牙 HCI btqcomsmd (CONFIG_BT_QCOMSMD) 通过 SMD 自动关联 注册 hci0 WCNSS ...
7. VIVO-Y927 Linux 内核设备树完善(GPU)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第6阶段:完善GPU 目标 Y927 用的 GPU 是 Adreno 306(来自 MSM8916 SoC,Qualcomm A3xx 系列),主线 freedreno 驱动支持得很好。整体比 WiFi 简单一档——没有协处理器、没有 RF 校准。 之前dmesg里可以看到有 1[0.505468] msm_mdp 1a01000.display-controller: no GPU device was found 本章将启用GPU驱动,让Y927能够识别到GPU设备,使该错误消失。 DTS 改动分析 123&gpu { status = "okay";}; 内核配置 1234cd ~/y927/linux./scripts/config --enable DRM_MSM./scripts/config --enable CONFIG_DRM_MSM_GPU_STATEmake ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- olddefconfig 编译 Linux 内核 12c ...
6. VIVO-Y927 Linux 内核设备树完善(触摸屏)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第5阶段:完善触摸屏 目标 支持 Goodix GT9271 多点电容触摸屏。 DTS 改动分析 Y927 触摸屏挂在 blsp_i2c5,I2C 地址 0x14,中断走 tlmm GPIO13、复位走 tlmm GPIO12,AVDD28(约 2.85V 模拟供电)由 PM8916 LDO16 提供,VDDIO(1.8V 数字 IO 供电)由 PM8916 LDO6 提供。 主线 Goodix 驱动 drivers/input/touchscreen/goodix.c 已经支持 goodix,gt9271 这条 compatible,所以不需要写驱动,只要把 DTS 写对。 1234567891011121314151617181920212223242526272829303132333435363738394041424344/* AVDD28 走 PM8916 LDO16,dtsi 默认未声明这条 LDO,板级要补上 */&pm8916_rpm_regulators { pm8916_l16: l16 { regulator ...
5. VIVO-Y927 Linux 内核设备树完善(GPIO按键)
发表于2026-06-14|VIVO-Y927移植主线Linux发行版
第4阶段:完善 GPIO 按键 目标 支持音量键/电源键 DTS 改动分析 123456789101112131415161718192021222324252627282930313233#include <dt-bindings/input/input.h>/ { gpio-keys { compatible = "gpio-keys"; pinctrl-names = "default"; pinctrl-0 = <&gpio_keys_default>; label = "GPIO Buttons"; button-volume-up { label = "Volume Up"; gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; linux,code ...
4. VIVO-Y927 Linux 内核设备树完善(eMMC-SD卡-屏幕驱动)
发表于2026-06-08|VIVO-Y927移植主线Linux发行版
第2阶段:启用eMMC/SD卡设备 目标 上一章节只有 initramfs 的临时文件系统(RAM),断电就没了。手机有 16GB 的 eMMC 芯片焊在主板上,我们需要内核识别它,为后续挂载持久化 rootfs 做准备。 DTS 改动分析 需要写多少 DTS? 答案:两行。 12&sdhc_1 { status = "okay"; }; // eMMC — 焊死在主板上的内部存储&sdhc_2 { status = "okay"; }; // SD 卡 — 外部卡槽(Y927 有 TF 卡槽) 不需要写 GPIO、不需要写 pinctrl、不需要写寄存器地址。原因和阶段0的骨架 DTS 一样——这一切早在 msm8916.dtsi 和 msm8916-pm8916.dtsi 里定义好了。 msm8916.dtsi(SoC 级)第 2170-2190 行为 sdhc_1 写了: 属性 值 含义 reg 0x07824900 / 0x07824000 eMMC 控制 ...
3. VIVO-Y927 Linux 内核 + BusyBox 最小系统引导启动实验
发表于2026-06-07|VIVO-Y927移植主线Linux发行版
背景 上一章节完成了 lk1st 的移植,为Linux主线内核的引导和ARM64 Linux 的启动提供了基础。此时 fastboot 正常工作,但是 fastboot boot 无法启动下一步。 本章即将进入到Linux主线内核的真正启动阶段, 获取Linux内核源码 获取内核源码 123cd ~/y927git clone https://github.com/msm8916-mainline/linux.git -b wip/msm8916/7.0 --depth 1cd linux 第0阶段:零外设验证内核引导启动 目标 最极简的验证:不需要串口、不需要 USB、不需要看屏幕任何输出。只需要一个秒表。 原理: 1内核启动 → 挂载 initramfs → 执行 /init → sleep 15 秒 → exit 触发 panic → kernel 重启 观察设备行为: 刷入 boot.img 后重启 屏幕亮起(lk1st splash) → 停 ~15 秒 → 重启 → 再次亮起(lk1st) 如果这个循环发生了,内核就启动了。 不需要任何调试外设,不需要 DTB ...
2. VIVO-Y927 lk1st 的移植
发表于2026-06-06|VIVO-Y927移植主线Linux发行版
背景 Y927 原厂 Android 4.4 的 tz/hyp 是 32 位,无法启动 ARM64 内核。lk2nd 也受限于此。必须同时替换 tz、hyp、aboot 三个分区。 最终启动链 1PBL → SBL1 → DB410c tz → qhypstub (EL2) → lk1st (EL1, aarch32) → Linux (EL1, aarch64) ✅ 核心组件 组件 作用 DB410c tz DragonBoard 410c 的 TrustZone(与 qhypstub 兼容) qhypstub 开源 hyp stub,替代原厂 hyp,支持 ARM64 EL2 启动 lk1st 从 lk2nd 仓库构建的主引导程序(aboot 替换),提供 Fastboot 备份关键分区 本章操作只替换 tz/hyp/aboot,这三个分区的原厂镜像在线刷包中都有,即使变砖也能 EDL 刷回。 但 modem 和 fsg 存着每台手机唯一的 IMEI,线刷包的 modem 镜像是通用的,覆盖前务必先备份。 123456789101112131 ...
1. VIVO-Y927 lk2nd 的移植
发表于2026-06-06|VIVO-Y927移植主线Linux发行版
什么是 lk2nd? lk2nd 是社区为 MSM8916 设备开发的二级引导加载程序: 不替换原厂 bootloader(aboot/sbl1) 打包成 Android boot image 格式,由原厂 bootloader 加载 提供标准 Android Fastboot 协议接口 自动检测硬件(屏幕、电池等)并生成设备信息 123原厂上电 → PBL → SBL1 → aboot(原厂) → lk2nd → 主线Linux内核 ↑ Fastboot 协议接口 安装工具链 12345678# ARM32 交叉编译 (lk2nd/lk1st)sudo apt install -y gcc-arm-none-eabi# ARM64 交叉编译 (内核)sudo apt install -y gcc-aarch64-linux-gnu# 其他工具sudo apt install -y device-tree-compiler ...
0. VIVO-Y927 9008 模式下通过 EDL 线刷恢复至出厂状态
发表于2026-06-06|VIVO-Y927移植主线Linux发行版
准备工作 原厂线刷固件 从百度网盘下载完整的 Y927 线刷包 (PD1410V_A_1.22.1): 12345678910关键文件:├── boot.img (10 MB) ← 原厂内核+ramdisk+QCDT├── prog_emmc_firehose_8916.mbn ← vivo 签名 firehose (EDL用)├── 8916_msimage.mbn ← Sahara programmer├── rawprogram_unsparse.xml ← EDL 分区映射├── fastboot_flash_all.bat ← 官方刷机脚本├── NON-HLOS.bin ← 基带固件├── emmc_appsboot.mbn ← aboot (bootloader)├── sbl1.mbn, rpm.mbn, tz.mbn, hyp.mbn ← 引导链组件└── system_ ...
一维波动方程的详细推导
发表于2026-02-23|数学
引言 波动方程是数学物理中最重要的偏微分方程之一,描述了波在介质中的传播规律。从弦的振动、声波传播到电磁波辐射,波动方程都是描述这些物理现象的基础工具。 本文将从物理模型出发,详细推导一维波动方程的标准形式: ∂2u∂t2=c2∂2u∂x2\frac{\partial^2 u}{\partial t^2} = c^2 \frac{\partial^2 u}{\partial x^2} ∂t2∂2u​=c2∂x2∂2u​ 其中 u(x,t)u(x,t)u(x,t) 表示位移函数,ccc 为波速。 物理模型:弹性弦的微小振动 基本假设 考虑一根长度为 LLL 的弹性弦,两端固定在 x=0x=0x=0 和 x=Lx=Lx=L 处。对弦的振动做以下理想化假设: 弦是完全柔软的:弦只能承受拉力,不能承受弯矩 弦的线密度恒定:设为 ρ\rhoρ (kg/m) 弦在拉紧状态下振动:张力 TTT 为常数 振动是微小的:弦上各点的位移远小于弦长,可忽略二阶小量 振动只发生在垂直方向:不考虑纵向位移 在这些假设下,弦的振动可以用位移函数 u(x,t)u(x,t)u(x,t) 描述,其中 xxx ...
12…13
avatar
Zhangzqs
一个分享与记录的个人空间
文章
129
标签
539
分类
37
Follow Me
最新文章
8. VIVO-Y927 Linux 内核设备树完善(WiFi-蓝牙)2026-06-14
7. VIVO-Y927 Linux 内核设备树完善(GPU)2026-06-14
6. VIVO-Y927 Linux 内核设备树完善(触摸屏)2026-06-14
5. VIVO-Y927 Linux 内核设备树完善(GPIO按键)2026-06-14
4. VIVO-Y927 Linux 内核设备树完善(eMMC-SD卡-屏幕驱动)2026-06-14
分类
  • AI1
  • Android7
  • GAMES101课程笔记11
  • Git1
  • Golang6
  • Java框架2
  • Python1
  • ROS机器人1
标签
Grafana 基本路径测试法 希腊字母输入 Makefile编译 指弹 GPU驱动 黑匣子沉降模型 系统架构 pulp库 性能调优 字节码反编译 pandoc HBase环境搭建 遗传算法 C++实现 几何表示 系统测试 泛音点计算 数学推导 FIRST集合 HDFS进阶操作 Spark Shell 边界值分析法 Hibernate映射 Terminal字体设置 本地广播 营地调度算法 图形管线 密码学 RelativeLayout Python代码优化 编码规范 Hive踩坑解决 Z-Buffer Goroutine FAT32 Qdrant 着色 btqcomsmd qhypstub
归档
  • 六月 20269
  • 二月 20262
  • 一月 20261
  • 十二月 20251
  • 十一月 20252
  • 十月 20255
  • 八月 20254
  • 四月 20255
网站资讯
文章数目 :
129
已运行时间 :
本站总字数 :
232.8k
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2026 By Zhangzqs
框架 Hexo|主题 Butterfly
搜索
数据库加载中