Skip to content

kongan/input--

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linux debug(lidbg)
项目说明:此项目是以调试为目的,方便调试和控制外设(如在终端直接控制i2c,io,spi,读内存寄存器等)。
		  后来运用在产品中,目前我们写的驱动均是以ko的形式加载运行,代码集成在lidbg_qrd中。

----------代码下载方法----------
下载:git clone qcom_share@192.168.9.222:/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
      

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 50.1%
  • C 48.8%
  • Other 1.1%