Port birdge

来自个人维基
跳转至: 导航搜索

源代码

main函数位置

vendor\qcom\proprietary\data\port-bridge\port_bridge.c

main()
{
1  判断内核启动的时候是不是有androidboot.uart=uart2参数。有的话置flag=1,否则flag=0 <br>
 
2  
   全局结构体中保存端口的文件名
   dun_portparams.smdportfname   ---〉保存为argv[1]<br>
   dun_portparams.extportfname   ---〉保存argv[2](串口ttyMSM1) 或者 ttyGS0(usb端口),取决于第一步的flag。<br>
 
3 创建pipe dun_ctrl_pipefds
 
4 在pipe dun_ctrl_pipefds[0]上监听事件,死循环在这里。
 
 
}

打开端口

main() ---> dun_process_event()

{

dun_process_state_usb_unplug()

dun_process_state_idle()

dun_process_state_connected()

}


--->dun_start_ports_threads()-->dun_init_ports();