摘要: 最近有客户反馈Android接收不到短信,于是一头扎进RIL里面找原因。最后发现不是RIL的问题,而是BC72上报短信的格式不对,AT+CNMA=1无作用等几个小问题导致的。尽管问题不在RIL,但总算把RIL短信接收流程搞清楚了。 接收到新信息的log: D/ATC ( 1269): AT< +CM 阅读全文
posted @ 2019-11-01 10:36 hackfun 阅读(842) 评论(0) 推荐(0) 编辑
摘要: 2018年5月份开始在JZ2440上陆续移植了u-boot-2016.11、u-boot-spl-2016.11、linux-4.17和busybox-1.28.4,其中linux-4.17和busybox-1.28.4是当时官方最新的版本,以此作为学习linux两年来的总结。 遗憾的是,当时在移植 阅读全文
posted @ 2019-10-21 00:35 hackfun 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 本文主要对android4.4 RIL的telephony与modem的命令交互流程进行分析,当然本文不是重点介绍telephony。telephony涉及具体业务逻辑内容比较多,包括sim、dail、sms、network等等,以后会针对这些内容学习分析。 RIL在Android体系中的位置: ( 阅读全文
posted @ 2019-10-17 17:35 hackfun 阅读(1000) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客描述了一个简单的串口应用程序和驱动程序,了解了应用程序访问串口的基本操作,如打开串口,设置串口,写串口,读串口,关闭串口等。和Linux串口驱动的基本框架。这里将了解Android下的串口系统框架,仍然使用上一篇博客中的tiny_serial.c作为本例的驱动,本例实现的功能不变,无论应用 阅读全文
posted @ 2017-10-17 19:42 hackfun 阅读(6773) 评论(1) 推荐(0) 编辑
摘要: 这篇博客主要是通过一个简单的例子来了解Android的串口驱动和应用,为方便后续对Android串口服务和USB虚拟串口服务的了解。这个例子中,参考了《Linux Device Drivers》书中的例子,并在该例子中增加了串口接收的处理。由于手上的机器是手机,硬件上只保留了一个串口用于debug。 阅读全文
posted @ 2017-09-29 20:10 hackfun 阅读(8786) 评论(2) 推荐(0) 编辑
摘要: 上一篇博客《Android 6.0 如何添加完整的系统服务(app-framework-kernel)》http://www.cnblogs.com/hackfun/p/7418902.html介绍了如何添加一个系统服务,客户端和服务端都是基于JAVA实现的OpersysService。经过进一步的 阅读全文
posted @ 2017-09-06 20:41 hackfun 阅读(2855) 评论(0) 推荐(0) 编辑
摘要: 最近学习了如何在Android 6.0上添加一个系统服务,APP如何通过新增的系统服务访问底层驱动。在这学习过程中,收获颇多,并结合学习了《Embeded Android》--Karim Yaghmour 一书中的Appendix B. Adding Support For New Hardware 阅读全文
posted @ 2017-08-23 16:38 hackfun 阅读(4470) 评论(1) 推荐(1) 编辑
摘要: 连载上一篇http://www.cnblogs.com/hackfun/p/7327320.html (D) 如何加载访问.so库 在前一篇博客http://www.cnblogs.com/hackfun/p/7327320.html中,知道如何生成了一个HAL的.so库,在这里将分析如何加载这个H 阅读全文
posted @ 2017-08-10 19:52 hackfun 阅读(1957) 评论(0) 推荐(0) 编辑
摘要: 这几天深入学习了Android sensor框架,以此博客记录和分享分析过程,其中难免会有错误的地方,欢迎指出! 这里主要分析KERNEL->HAL->JNI这3层的流程。主要从以下几方面开始着手:(A) 驱动层向上提供了那些文件节点给系统层读写?(B) 系统层通过什么方式访问驱动层?(C) 如何统 阅读全文
posted @ 2017-08-09 19:37 hackfun 阅读(2760) 评论(0) 推荐(0) 编辑
摘要: 这里是要把http://www.cnblogs.com/hackfun/p/6260396.html中的enc28j60网卡驱动模块,添加到2.6.22.6内核中,这个模块代码不需要任何修改。只需要在内核目录下的相关配置脚本文件,如Makefile,Kconfig,.config等,修改某些配置就行 阅读全文
posted @ 2017-02-19 14:53 hackfun 阅读(1498) 评论(1) 推荐(0) 编辑