Linux内核mmc_sdio_sd卡子系统驱动架构
https://wenku.baidu.com/view/af12c0b01711cc7931b716c8.html
https://git-scm.com/download/win
Linux 内核:BUG_ON 和WARN_ON()
Kernel LOG系统分析
Android 用adb 打印linux内核调试信息dmesg和kmsg命令
学习内容
Android启动篇 — init原理(一) 详细分析init.rc的解析过程。
linux 内核态调试函数BUG_ON()
dmesg七种用法
Android系统adb调试命令及常用抓log方法
浅谈Android系统开发中LOG的使用
csdn.net路径 http://blog.csdn.net/xiaohua0877
chenglinhust的专栏 http://blog.csdn.net/chdhust
内核:https://www.kernel.org/ Lastest stable kernel 4.13.11 Protocol Location HTTP
https://www.kernel.org/pub/ GIT https://git.kernel.org/
RSYNC rsync://rsync.kernel.org/pub/
1. 开机和关机流程;休眠和唤醒的流程;
2. 充电 0.7C For NX589J 业务知识
3. Cpuset
4. Linux /Android 编译环境准备
5. 查看Linux 版本号 通过打印kmsg
6. Linux 源码学习 ==Linux version 3.10.84
7. 厂商Kernel源码提供路径 小米、华为,OV
输入关键字:kernel_huawei
git clone https://github.com/CyanogenMod/android_kernel_huawei_msm8916.git
git clone https://github.com/LineageOS/android_kernel_huawei_angler.git
https://github.com/DirtyUnicorns/android_kernel_huawei_angler.git
GPL-3.0 license Updated on 9 Dec 2016
https://github.com/DestructoSphere/android_kernel_huawei_msm8909.git
https://github.com/Huawei-msm8937/android_kernel_huawei_msm8937.git
https://github.com/skinzor/android_kernel_huawei_msm8953_2.git
151.101.72.249
http://global-ssl.fastly.Net 192.30.253.112 http://github.com
http://blog.csdn.net/menghuanbeike/article/details/74001756
git clone下载速度很慢的解决方法
马达调试信息;
GPIO配置信息//业务配置振动强弱//提供节点信息
编译步骤--清除信息;
中断信息
定时器申请
常用函数
打印log信息
内存申请
setlinux
linux 内核态调试函数BUG_ON(),WARN_ON BUG,BUG_ON,回调函数
linux中BUG_ON和WARN_ON解析
Linux call trace 调用关系
linux 系统调用 sysfs_create_file
C语言标准数据类型
编程规范文档
常用编译技巧、编译boot.img, 单独App,lk,目录
下载模式的技巧
EXPORT_SYMBOL_GPL
Arch ARM 与ARM64关系
dev_name(dev) 打印名称
函数
标准
MSM
drivers/platform/msm/qpnp-haptic.c
1
2nux内核与编译
存储基础知识
OOM out of memory 内存泄露方法
define NOTICE
分析system/core/init 初始化函数关注
http://www.cnblogs.com/pepsimaxin/p/6702945.html
Android的存储系统—Vold与MountService分析(一)
http://www.cnblogs.com/pepsimaxin/p/5193398.html
能够和一起,栉风沐雨,砥砺前行;一起振兴,通信产业
在外面不顾风雨地辛苦奔波
经历磨炼,克服困难,往前进步的意思
舞台有多大,平台有多大,岗位不同;提供平台资源
1.chenglinhust的专栏 分布式系统 基础架构 中间件系统 安全领域 容器技术 人工智能 http://blog.csdn.net/chdhust
2. log 信息//Android 用adb 打印linux内核调试信息dmesg和kmsg命令 http://blog.csdn.net/qq_37858386/article/details/71486748
3. LINUX内核面试题摘选
http://blog.csdn.net/chdhust/article/details/12227383
LINUX内核面试题---经典30道
http://blog.csdn.net/mlj1668956679/article/details/8622192
4. syste/core/int 函数分析过程
5. 异步通信和同步通信 下载资源周排行 http://download.csdn.net/rankings
重点关注问题
1 . system/core/init/ Log.cpp 马达部分:Qpnp_haptic.c
2. kernel/driver/platform/msm/qpnp_haptic.c
arch/arm64/configs/msm_defconfig :
CONFIG_QPNP_HAPTIC=y
drivers/platform/msm/Makefile
drviers/platform/msm/Kconfig config QPNP_HAPTIC
schedule_work 与queue_work 与DRV 关系 查找 “*.*” 与“*”
关系 kernel kernel/driver/nubia/vibrator/ 线性马达调用 Drv2605.c
CDSN 参考文档——
http://blog.csdn.net/u013983194/article/details/53547379?locationNum=5&fps=1
3. 系统调用接口 kernel/driver/base/bus.c
对应函数:bus_for_each_dev()
kernel/driver/base/Dd.c
对应函数:driver_attch();
kernel/driver/mmc/card/block.c
上层函数 kernel/driver/mmc/core/sd_op.c
SD协议操作函数 kernel/driver/mmc/core/Host.c
电源管理BCL ( kernel/driver/power/battery_cureent_limit.c
nubia_mmi
函数 vendor/qcom/proprietary/nubia_mmi/mmi/Func_map.cpp
回调函数
延迟函数 udelay,mdelay
hrtimer_init 高分辨率kernel定时器
Android 编译器或者编译系统
Linux Kenrel 交叉编译
汤家雷分析log
休眠和唤醒异常log过程;
总结写平台积累
多核代码编译注意事项
of_device_id 各种总线match匹配函数:
linux系统总线添加设备或驱动时,总是会调用各总线对应的match匹配函数来判断驱动和设备是否匹配,这些match函数之间都存在一定的差异
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成tar.jpg tar -czf jpg.tar.gz *.jpg
//将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz tar -cjf jpg.tar.bz2 *.jpg //将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2 tar -cZf jpg.tar.Z *.jpg
//将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z rar a jpg.rar *.jpg //rar格式的压缩,需要先下载rar for linux zip jpg.zip *.jpg
//zip格式的压缩,需要先下载zip for linux
=======================================================================
笔记时间:2017年11月13日
待收转cdsn 记录上去文档:
文档: 犹太人的时间管理法则.doc
(Android)java虚拟机和Dalvik虚拟机的区别
http://blog.csdn.net/FeiPeng_/article/details/55048027
Android7.0 Ninja编译原理
http://blog.csdn.net/ksjay_1943/article/details/53579176
Android系统编译原理
http://blog.csdn.net/vane918/article/details/54630208
android 编译原理详解
http://blog.csdn.net/hellolinshoujie/article/details/8537989
http://blog.csdn.net/handsome_926/article/details/50849120
adb logcat 命令行用法
http://blog.csdn.net/tumuzhuanjia/article/details/39555445
Android平台Log输出规范
http://blog.csdn.net/liuxd3000/article/details/13768141
*make -j2 启动2(x86 CPU是单核)个线程(job)编译系统
*make help 打印帮助信息
*make clean 清除编译出来的所有文件
*make snod 重新生成system.img
*make ramdisk 重新生成ramdisk.img
*make bootimage 重新生成boot.image
*make recoveryimage 重新生成recovery.img
*make 模块名 编译指定模块 例: $ make rild
*make clean-模块名 清除指定模块 例: $ make clean-rild
疑难问题
1. 如何执行编译 make kernelconfig ,配置参数, y, m
如何将一个已经编译好的so文件编译进system/lib64目录下
http://blog.csdn.net/u013308744/article/details/50071101\\
android.useDeprecatedNdk=true 64位库 使用
编译mmm frameworks/native/opengl/libs/之后发现
=======================================================================
笔记时间:2017年11月14日