温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
  • 忘记密码?
登录注册×
获取短信验证码
其他方式登录
点击 登录注册 即表示同意 《亿速云用户服务条款》
  • 服务器
  • 数据库
  • 开发技术
  • 网络安全
  • 互联网科技
登 录 注册有礼
最新更新 网站标签 地图导航
产品
  • 首页 > 
  • 教程 > 
  • 互联网科技 > 
  • 怎么远程调试在Linux车机中的应用

怎么远程调试在Linux车机中的应用

发布时间:2021-10-22 11:24:22 来源:亿速云 阅读:140 作者:柒染 栏目: 互联网科技

本篇文章为大家展示了怎么远程调试在Linux车机中的应用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

导读

在软件开发过程中,调试是必不可少的环节,嵌入式操作系统的调试与桌面操作系统的调试相比有很大差别,嵌入式系统的可视化调试能力比桌面操作系统要弱一点。对于导航这种业务场景比较复杂的程序开发,可视化调试环境能让我们业务场景开发事半功倍,也能快速定位导航业务与车机中其他模块交互出现的问题,提高开发过程中的调试效率。

远程调试是真机调试中最便捷的一种,开发者只需借用在PC端强大的调试器就能完成业务场景的调试。

背景

Thrift是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务,是一种RPC(远程过程调用)通信框架,由Facebook为“大规模跨语言服务开发”。在车机系统中,各模块之间也可以使用Thrift通信框架进行通信。导航作为一个单独的为进程提供服务的模块,只提供导航相关的业务以及地图渲染的能力,导航的HMI界面是车机系统中统一的操作界面,系统HMI界面与导航之间的交互接口则是通过已经定义好的接口描述语言(IDL),使用自动化工具生成本地可调用的接口,然后使用Thrift框架传输完成系统HMI与导航之间的通信。

 怎么远程调试在Linux车机中的应用

调试手段

为了开发过程中调试方便,我们在PC上做了一套模拟器,能在PC上进行地图渲染。还实现了一套在PC上使用的系统HMI模拟命令发送工具,模拟工具是作为客户端连接导航提供的服务,这样能在PC端模拟发送命令,帮助导航简单业务的开发,但这种方式存在着以下弊端

  • 模拟命令工具,只能模拟简单的业务场景,有多个交互的场景无法模拟。

  • 无法操作地图HMI,也看不到HMI界面显示以及过程中的反馈。

  • 无法滚动地图,后面接了Win32上面的鼠标事件,能用鼠标实现滚动,但这种方式与车机中滚动流程不一致。 

  • PC端无法使用车机中的设备,如导航过程中没有导航音,无法使用USB等。 

  • PC端拿不到车机中的数据,比如车身数据、GPS信号等。

调试方案优化

针对当前调试手段存在的以上问题。我们对调试方案进行了优化,我们可以借助车机中系统HMI来与导航进行交互。实现了使用车机环境中的信号对PC端导航业务场景进行调试。主要有以下几点功能:

1.PC端模拟器接收车机发来的信号

在该项目中,导航的相关业务都是作为服务端向车机中其他模块提供服务,在车机系统中,系统HMI连接导航服务的地址是固定的,我们在车机中开发了一个代理--Sandwich,主要作用是启动导航服务,这个导航服务并不实现真正的导航业务,而是启动了一个空服务,让车机中其他模块能成功建立连接,同时Sandwich作为客户端连接PC端模拟器提供的导航服务,PC端的导航服务真正实现导航业务,Sandwich负责接收车机发送过来的业务请求,并将请求转发给PC端模拟器,这样PC端模拟器就能接收到车机中的信号,收到的业务请求并做处理再将处理结果通过Thrift反馈到车机端。

这个流程我们打通了车机中信号发送到PC端模拟器,并可以将处理完的数据反馈给车机端。

 怎么远程调试在Linux车机中的应用

3. 将PC端模拟器中显示的地图投射到车机端显示

实现了以上两步,一个使用车机信号调试PC端导航程序的环境基本完成了。已经能实现车机信号与PC进行双向接收,但是此时导航的渲染能力还是停留在PC端,车机中还只是显示了一个系统HMI界面,无法看到导航地图展现的效果,这样就会带来一个问题,一些需要强依赖地图的操作可能就无法精准操作,比如点击地图上某个POI等。此时需要将PC端的展现同步到车机侧。

要实现这一目的,一般我们有两种方法:

  • 车机与PC同步渲染

车机中的导航正常运行,当导航接收到系统模块业务请求时,先是车机导航进行处理,处理完毕后将信号转发到PC端处理,这种方案两端导航业务逻辑并行运行,复杂的业务场景下,两端会同时跟车机进行交互,此时可能会产生互斥,会有两端逻辑不同步的场景,达不到预期效果。

  • 将车机中渲染的数据投射到车机端

在这里我们可以将PC上程序每渲染一帧地图则将结果传到车机端,由车机端Sandwich负责接收,当Sandwich接收到一帧地图像素数据后,负责将此帧数据渲染到车机屏幕上,此时车机中呈现的效果跟PC端一致。在该项目中我们采用了这一方案,这种方案中,真正的导航业务逻辑是来自PC端,车机中只是一个转发过程,所以不会存在第一种方案中的问题。

 

但在某些特定的环境下,导航描画会很频繁,发送给车机的数据也会很多,频繁的数据发送可能会带来一定的性能开销,表现上可能会出现延迟。这里可以使用降低图像质量来减少图像数据,例如,可以使用16位或者8位BMP来传输,还可以压缩传输,这样1920*720分辨率图像传输大小能控制在30-50k左右。

小结

基于车机系统中Thrift通信框架,实现的这套远程调试方案,实质是在车机中使用Sandwich程序接管车机系统中与导航有交互的全部接口处理,通过RPC通信转发,实现了使用真实车机信号调试导航的目的。有了这套调试环境,我们甚至可以直接在真车上边路测边调试,跟以前的路测拿Log回来分析、重现相比,整个调试过程,简单,便捷,直观。大大提高了开发效率。

基于RPC通信的特性,我们还可以对调试方案再进一步优化,可以加入多客户端调试功能,使用同一台车机环境,不同的模块负责人可以同时进行复杂业务场景的联合调试。

上述内容就是怎么远程调试在Linux车机中的应用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节
推荐阅读:
  1. Linux 中Tomcat远程调试代码的实现方法
  2. 怎么在Pycharm中对远程调试进行配置

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux
  • 上一篇新闻:
    怎么理解js数组
  • 下一篇新闻:
    js基本数据类型的特点有哪些

猜你喜欢

  • 服务器发生ssl错误的原因有哪些
  • tomcat部署ssl证书不生效怎么解决
  • Linux如何把目录权限给指定用户
  • js怎么实现鼠标经过图片时更换图片
  • PHP实现实时通讯的方式有哪些
  • java消息队列的使用场景有哪些
  • android添加ssl证书的步骤是什么
  • redis怎么实现自动消息推送
  • php消息队列的使用场景有哪些
  • 虚拟机的联网方式有哪些
最新资讯
  • Privoxy与Ubuntu浏览器的深度集成
  • Ubuntu用户如何优化Privoxy的CPU占用
  • Privoxy在Ubuntu中提升网络隐私的方法
  • Ubuntu中Privoxy的缓存机制分析
  • Privoxy与Ubuntu防火墙的配合使用
  • Ubuntu用户如何调试Privoxy问题
  • Ubuntu系统Privoxy的兼容性测试报告
  • Privoxy如何帮助Ubuntu用户绕过地域限制
  • Ubuntu中Privoxy的透明代理模式
  • Privoxy在Ubuntu中解决HTTPS问题
相关推荐
  • 怎么在PyCharm中设置SSH远程调试
  • 怎么在IDEA中利用Springboot实现远程调试
  • 如何通过Windows Visual Studio远程调试WSL2中的.NET Core Linux应用程序
  • Linux在实际中的应用是怎么样的
  • 在Linux系统中如何安装KVM虚拟机
  • 在Linux中如何使用iptables进行异机备份/恢复
  • 怎么在Linux上托管Django应用
  • 怎么在Linux上运行Windows的应用
  • tomcat中怎么开启远程调试
  • pycharm中怎么设置远程调试

相关标签

oraclelinux linux安装mysql linux内核 linux监控 linux 系统 linux云计算 linux资料 达内 linux云计算 运维网络 linux centos7 linux系统目录 linux入门 linux主机 linux脚本 linux下mongodb安装 linux安装 linux bash linux系统管理 ubuntu linux linux docker linux/unix
AI

深圳坪山网站建设公司上海优化网站公司安阳网站优化多少钱优化网站设计gf冫云速捷怎样做好网站优化分析官渡区网站seo优化便宜网站建设优化哪家怎样利用熊掌号来优化网站闸北专业网站优化公司网站优化矩阵图优化网站打开速度从江网站优化与推广泰安济南网站排名优化公司规模大的网站优化与推广费用巩义seo网站优化哪家专业温州绵阳网站优化便宜网站建设网站排名优化公司百度标王包年推广荆州外包网站优化平邑网站优化哪家专业上海财务公司推广网站优化怎么做驻马店网站排名优化多少钱手机网站优化哪里有企业网站怎么维护seo优化关于网站关键词优化河源网站优化外包罗湖网站关键词优化推广网站优化的代码济南五金行业网站优化推广方案景德镇网站优化东升江门网站优化香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化