自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 收藏
  • 关注

原创 wlan0网络接口如何生成

在 OpenWrt 中,wlan0这样的无线网络接口(或类似名称,如wlp1s0)的生成是一个多步骤过程,涉及 ​​、​​ 和 ​​。

2025-06-04 13:53:54 669

原创 openwrt中hostapd启动

在 OpenWrt 中,hostapd的启动并非直接通过传统的 ​init.rc​(如 Android 或某些 Linux 发行版),而是通过 ​​ 和 ​​ 动态管理的。

2025-06-04 13:51:58 620

原创 vim&adb&git命令

如果提示冲突,并且强行rebase后,查看文件修改差异,可以看到有“<<<<<<< HEAD”等字符。修改了某个文件,本来想git commit,不小心git commit --amend了。1,git reset --hard HEAD~1 (此时是git add状态,绿色)1,git reset --hard HEAD~1 (此时是git add状态,绿色)adb shell logcat -b main //只输出logcat。执行commit后,还没执行push时,想要撤销这次的commit。

2025-06-04 13:38:14 1022

原创 lto.o

在 Linux 内核编译过程中(尤其是使用 ​​ 时),和是两个不同的中间文件,它们的用途和内容有显著区别。

2025-05-28 09:47:17 353

原创 gcc & clang

是的,既然三套代码在同一台电脑上编译却出现了不同的编译器选择(有的用 GCC,有的用 Clang),​​(如系统 PATH、默认工具链等全局配置),因为如果是电脑环境的问题,三套代码的行为应该一致。问题的根源更可能是 ​​。

2025-05-27 15:34:18 1086

原创 lto.o

在编译时强制关闭 LTO,使 Clang 生成与 GCC 类似的标准。已丢失调试信息,需重新编译并保留。

2025-05-27 15:26:01 894

原创 GCC & CLANG

在 Linux 内核的构建系统中,和是由内核的 ​​后动态生成的配置选项,而非开发者手动定义。

2025-05-27 15:19:14 959

原创 kernel版本号

是的,5.10.1765.10.187和5.10.86都是 ​​,属于 ​​ 的不同子版本(Patch Release)。

2025-05-27 15:15:21 930

原创 gcc和clang编译plat_1105

生成和的流程与使用的编译工具(gcc或clang)​​,但核心流程和最终结果​​。

2025-05-27 12:07:29 742

原创 plat_1105.o和plat_1105.ko

​​modules目标​​:触发内核模块编译,生成.ko文件。​​生成原因​​:通过obj-m声明模块主对象文件。通过或默认规则合并多个.o文件。​​典型流程​​:graph LR​​调试建议​检查Makefile中是否定义了。通过nm或objdump验证的内容。使用V=1查看详细编译命令。在嵌入式Linux内核模块开发中,和。

2025-05-27 12:05:24 606

原创 C语言编译.o和.o.cmd文件

​​.o文件​​:编译器生成的通用目标文件,所有平台都会生成。​​.o.cmd文件​​:由高级构建系统(如Linux Kbuild)生成,用于记录编译命令和依赖关系,与工具链的​​构建逻辑​​(而非编译器本身)相关。若需进一步验证,可以检查项目的构建脚本(如MakefileKbuild)或查阅所用工具链的文档。

2025-05-27 11:54:57 913

原创 objdump如何输出更多信息

您选择的方案一(统一使用LLVM工具链)是明智之举。关于您提到的编译选项,这些确实可以显著增强的输出信息量。

2025-05-23 20:24:30 862

原创 make命令相同但是实际编译工具不同

在嵌入式Linux开发中,编译工具链的选择会直接影响最终生成的目标文件。您遇到的问题是:虽然使用相同的make命令,但smt分支和user分支却调用了不同的编译器和链接器,导致生成的文件存在差异。

2025-05-23 17:28:01 365

原创 合入排查AR调用

从日志中确认调用了AR生成,说明 ​​,导致未按标准内核模块构建方式(LD -r)执行。

2025-05-23 11:58:21 726

原创 隐式触发LD

在Linux内核模块的构建系统中,obj-m和的机制是内核Makefile提供的一套自动化规则,它会隐式触发LD的部分链接操作(ld -r。

2025-05-23 11:57:57 806

原创 LD与AR

在嵌入式Linux开发中,文件大小的差异(开发分支用LD生成较大,用户分支用AR生成较小)通常源于两种工具对目标文件的处理方式不同。

2025-05-23 11:50:51 464

原创 objdump提示文件格式不对

优先通过file和hexdump确认文件真实格式,再匹配工具链。若文件是归档或部分链接产物,需先解压/完全链接后再解析。

2025-05-22 18:01:57 688

原创 hostapd和NAT

在OpenWrt中,​​ 主要通过 ​netfilter​ 和 ​iptablesnftables​ 实现,将内网设备的私有IP流量转换为公网IP,从而实现多设备共享上网。

2025-05-22 13:50:55 749

原创 在 OpenWrt 的构建系统中,`package.mk` 调用模块内部的 `Makefile` 是通过 `Build/Compile` 规则实现的,具体流程分为 声明依赖、触发编译 和 执行构建 三

在 OpenWrt 的构建系统中,​package.mkMakefile​ 是通过 ​​实现的,具体流程分为 ​​、​​ 和 ​​ 三个阶段。

2025-05-20 14:01:11 846

原创 OpenWrt 的 package.mk语法

OpenWrt 的package.mk文件遵循一套特定的语法规则,用于定义软件包的元数据、编译选项、安装方式等。以下是 ​package.mk​,

2025-05-20 13:45:57 276

原创 ​​Makefile​​ 和 ​​package.mk

​Makefile​ 和 ​package.mk​ 分别承担不同的角色,共同完成模块的编译和系统集成。

2025-05-20 13:41:48 802

原创 个人vimrc配置

" vundleappend `!append `!append `!set nu。

2025-05-19 12:50:58 367

原创 高通子系统subsystem基础知识

翻译了高通相关文档部分内容,结合sm4350平台项目做的总结:1,基本概念SubsystemThe system on chip (SoC) consists of a main APSS processor and additional processors that run on their own software. For example, on QTI SoCs, other processors that need separate software include modem,

2021-11-10 17:05:00 9842

原创 高通SM4350平台指纹移植流程

本文总结了高通sm4350平台指纹移植流程,厂家一般会提供移植文档,本文档可作为补充:准备工作:1、把指纹模组扣到主板上的SPI连接器上2、高通sm4350平台,Android R版本全代码,全编通过3、联系FAE获取指纹移植资料,主要包括: a,驱动代码、DTS配置文件 b,指纹CA,一般是动态库,例如vendor.fingerprint.default.so c,指纹TA相关,包括编译脚本(SConscript文件)、源码、算法库 d, ...

2021-11-02 14:56:41 5304 1

原创 高通sm4350充电流程

1, 基础知识: a, UEFI UEFI 统一可扩展固件接口(Unified Extensible Firmware Interface)是一套规范,定义了操作系统 (OS) 与平台固件之间的软件接口。可以简单理解为操作系统启动之前运行的一个程序。 其作用主要是初始化DDR、USB、PMIC等硬件设备,为操作系统提供合适的运行环境。 高通平台从MSM8998 用UEFI取代了LK。其使用 Tianocore EDK2 实现UEFI 规范的要求,Tianocore EDK...

2021-11-02 14:39:28 4208

原创 手机主板如何查找串口点和短接点

高通平台:串口点:1,在原理图查找DBG_UART_TX和DBG_UART_RX2,找到这两个引脚连接的TP(test point)3,在位号图中找到这两个TP对应的铜点短接点:1,在原理图中找到FORCE_USB_BOOT2,找到该引脚连接的TP(test point),相邻位置一般有一个v1.8的TP3,在位号图中找到这两个TP对应的铜点MTK平台串口点方法类似,搜索UTXD0和URXD0MTK平台没有发现短接点,主板接电后直接会进入下载模式...

2021-11-01 11:03:03 5816

原创 测试

测试

2016-08-12 14:17:11 194

转载 Android中定时执行任务的3种实现方法

在Android开发中,定时执行任务的3种实现方法:一、采用Handler与线程的sleep(long)方法(不建议使用,java的实现方式)二、采用Handler的postDelayed(Runnable, long)方法(最简单的android实现)三、采用Handler与timer及TimerTask结合的方法(比较多的任务时建议使用)下面逐一介绍:一、采用Handle与

2014-02-21 14:57:05 474

空空如也

空空如也

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

TA关注的人

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