forked from songw9s8x7/input--
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
95 lines (71 loc) · 3.96 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
linux debug(lidbg)
项目说明:此项目是以调试为目的,方便调试和控制外设(如在终端直接控制i2c,io,spi,读内存寄存器等)。
后来运用在产品中,目前我们写的驱动均是以ko的形式加载运行,代码集成在lidbg_qrd中。
----------代码下载方法----------
下载:git clone [email protected]:/home/qcom_share/lidbg_qrd
密码:小写字母 l
----------代码结构--------------
主要包含应用层(hal),基础驱动模块(core),具体工作模块(drivers),编译脚本(build),输出目录(out)。
*应用层(hal)
hal/JAVA:提供一些函数模块,可直接用于上层java代码中(例如把java程序中的打印信息输出到串口)。
详见hal/README
*基础驱动模块(core)
作用主要有两个:
1.封装不同soc的底层实现(例如i2c / io / spi / ad / pwm等,在soc/soc目录),提供通用接口给其他模块。通过共享其包含指针函数的结构体地址,给其他模块(主要是drivers下的模块)调用。
2.创建节点/dev/mlidbg0,提供在shell终端控制外设调试的命令,具体的命令参考soc\$soc\doc\echo_shell_soc.txt。
*具体工作模块(drivers)
drivers下是在不同平台下的一些具体实际工作,为了保证其平台可移植性,尽量不要调用soc的底层函数,而是调用core提供的通用接口:
详见drivers/README
*编译脚本(build)
build:编译使用到的脚本。
输出目录(out)
out:编译后自动生成,存放所有编译生成的模块。
----------编译方法----------
1.配置编译环境
cd lidbg_qrd
(1) cp ./build/dbg_cfg_example.sh ./dbg_cfg.sh
(2) 修改DBG_SYSTEM_DIR等环境变量(指向的包的内核需编译过一遍(make bootimage))
(3) chmod 777 ./* -R
以上步骤只需配置一次
dbg_cfg.sh编译环境变量配置说明:
详见soc/$soc/README
2.编译
*模块提供两种方法
(1) 编译所有模块,在lidbg根目录运行lidbg.sh 2 (build.sh)
(2) 编译单独模块,如在lidbg根目录执行:
./build/make.sh drivers/gps
./build/make.sh core
生成模块在out目录
*应用层(hal)的编译
在hal目录下的build_all.sh脚本,生成模块(apk、可执行文件等)在out目录
3.运行clean.sh(lidbg.sh 1)可清除所有编译后产生的文件。
--------------运行-------------
正式产品包已经默认加载lidbg相关模块,要是想push自己的lidbg模块到机器执行,执行下面指令:
原生系统执行
tools/push.sh
产品系统执行
tools/pushfly.sh
以下两种方法均可运行模块
1.在终端用insmod指令直接加载模块(默认加载的原生系统,/system/lib/modules目录)
执行 tools/insmod.sh (正式产品是flysystem/lib/out目录)
2. 开机自动运行lidbg_servicer和lidbg_loader.ko加载模块
详见soc/$soc/README
-------------集成到系统镜像-------------
执行tools/copy2img.sh后重新make编译系统即可
-------------git使用注意事项-------------
1.参考qcom_share 的《git提交规范.txt》
2.个人的测试代码不要push 到服务器master分支,如需要可创建自己的测试分支再push这个分支到服务器。
把本地分支(locate_branch_name) push到服务器(remote_branch_name)
git push origin locate_branch_name:remote_branch_name
查看远程分支
git branch -r
git pull origin remote_branch_name:locate_branch_name
------------关于tag标签的使用------------------
查看某个tag: git show 标签名
在本地打标签: git tag -a 标签名 -m "标签的描述信息"
删除本地标签: git tag -d 标签名
同步服务器tag: git fetch --tags
推送tag到服务器: git push origin 标签名
删除远程服务器的tag: git push origin :refs/tags/标签名
列出所有标签: git tag
推送所有tag到服务器: git push -u origin --tags