Linux 学习笔记

Linux内核mmc_sdio_sd卡子系统驱动架构

https://wenku.baidu.com/view/af12c0b01711cc7931b716c8.html

  • 访问:26992次
  • 积分:296
  • 等级: 
  • 排名:千里之外


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日


你可能感兴趣的:(学习笔记)