- 博客(6)
- 问答 (2)
- 收藏
- 关注
原创 Android bp 条件编译
Android 7.0 之前的模块都是使用 Android.mk 来定义的,本质上就是 makefile,自然是支持条件编译的。最后我们指定了 hello 模块的 defaults 为 hello_defaults, 这样我们对 hello_defaults 模块的配置,就会附加到 hello 模块上。模块 soong-hello, 指定源文件为 hello.go, 在解析到这个模块的 Android.bp 时,会对 hello.go 进行编译。这个类型是我们在 hello.go 中定义的。
2024-12-20 15:22:10
725
原创 Linux 动态调试
调试android 内核的可能清楚,对于一些概率性的问题,能够正确抓到日志是有多么重要。但是,为了不影响用户的正常使用,保证良好的使用性能,log必须控制在一定的量。但是对于一些涉及到协议相关的,为了方便调试,又必须加入一些打印数据的日志。1) 打印一个文件中的所有动态打印语句,以gadget.c为例。2) 打印一个模块中所有动态打印语句。3 打开一个函数中所有动态打印语句。需要根据自己的需要,开启日志等级。最后一点需要主要,这里的打印都是。Linux 内核的动态调试。什么是动态打印语句?
2024-04-29 11:22:24
512
1
原创 android wifi 架构学习
最近在学习android 系统中的WiFi架构,但是个人记忆力较差,总是忘记代码路径,因此想写一篇博文记录一下android 9下,WiFi的代码路径。当然也借鉴了一些网上的博文,总结出来的。哈哈哈哈!代码路劲如下:首先是app层的,以setting为例吧。packages/apps/Settings/src/com/android/settings/wifi/然后是framework层的。framework是wifi Android 架构中主要的逻辑实现场所,所以wifi的代码和路径都有些多。
2021-06-17 16:09:05
1769
原创 Android WIFI 连接调用流程
wifi 连接流程记录connectToUserSelectNetwork 包括请求连接的netid号,请求的app uid ,已经是否是属于已经保存的app hasCredentialChangedcase WifiManager.CONNECT_NETWORK: if (!connectToUserSelectNetwork( netId, message.sendingUid, hasCredentialChanged)) mWifiConfigMan
2021-06-03 14:10:59
380
1
转载 2021-04-28
分享一篇博客DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"详解https://blog.csdn.net/davidhopper/article/details/78989369
2021-04-28 09:18:27
121
原创 I2C 总线驱动
I2C 学习笔记一、从地址映射二、I2C 驱动注册过程2.1 module_init(mt_i2c_init); 模块注册流程:2.2 i2c init 函数操作2.3 平台驱动注册2.4 I2C 驱动Probe 流程device 与drv 注册流程图一、从地址映射例如:实际地址0x08(0001000) 打印出来的从地址写:0x11(00010001),读0x10(00010000)原因:映射时,从地址向左移一位,写则在最低位写1,读则写0.因此,对于i2c有两个地址参考资料:https://w
2021-04-02 10:59:39
1322
空空如也
上手WiFi书籍推荐
2021-06-24
TA创建的收藏夹 TA关注的收藏夹
TA关注的人