[发明专利]一种交叉编译方法在审
| 申请号: | 202310460362.8 | 申请日: | 2023-04-25 | 
| 公开(公告)号: | CN116483374A | 公开(公告)日: | 2023-07-25 | 
| 发明(设计)人: | 陈海满;廖俊贤;钟杰豪;王乙全 | 申请(专利权)人: | 广州灵眸科技有限公司 | 
| 主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/60;G06F9/455 | 
| 代理公司: | 广州中祺知力知识产权代理事务所(普通合伙) 44736 | 代理人: | 陈军 | 
| 地址: | 510310 广东省广州市黄*** | 国省代码: | 广东;44 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 交叉 编译 方法 | ||
本发明提供一种交叉编译方法,包括:板卡端预先部署RNDIS;结合DHCP服务器和NFS服务器,板卡端跟PC端之间通信后免配置进行实时文件共享;PC端利用Docker容器技术,执行指令(run.sh),进入容器,容器后台利用DHCP客户端自动从板卡端获取IP地址,建立网络通讯,利用NFS客户端挂载NFS共享目录,作为交叉编译的逻辑根目录。
技术领域
本发明属于计算机技术领域,具体涉及一种交叉编译方法。
背景技术
在一种计算机环境中运行编译程序,把计算机目标代码编译成可以在另外一种计算机环境下运行的程序,这个编译过程为交叉编译,其使用的编译程序就是交叉编译工具链。
目前进行交叉编译的主要原因在于以下几方面:
①Speed:目标平台的运行速度往往比主机慢得多,许多专用的嵌入式硬件被设计为低成本和低功耗,没有太高的性能。
②Capability:整个编译过程是非常消耗资源的,嵌入式系统往往没有足够的内存或磁盘空间。
③Availability:即使目标平台资源很充足,可以本地编译,但是第一个在目标平台上运行的本地编译器总需要通过交叉编译获得。
④Flexibility:一个完整的Linux编译环境需要很多支持包,交叉编译使得不需要花时间将各种支持包移植到目标板上。
需要说明的是,进行交叉编译的必须工具就是交叉编译工具链,目前网络上能获取到一些针对特定CPU平台编译好的交叉工具链,如单独针对mips平台的交叉工具链,单独针对x86平台的交叉工具链。然而这些从网络上获取的交叉工具链存在以下问题:
1、传统交叉编译是每更新一次rootfs都要更新SYSROOT;
2、文件下载量过大;
3、须指定宿主机操作系统发行版本,有限制性,通用性不够;
4、操作复杂,不够方便简洁。
发明内容
本发明的目的在于提供一种交叉编译方法,以解决上述技术问题。
一种交叉编译方法,包括:
板卡端预先部署RNDIS;
结合DHCP服务器和NFS服务器,板卡端跟PC端之间通信后免配置进行实时文件共享;
PC端利用Docker容器技术,执行指令(run.sh),进入容器,容器后台利用DHCP客户端自动从板卡端获取IP地址,建立网络通讯,利用NFS客户端挂载NFS共享目录,作为交叉编译的逻辑根目录。
进一步,对于cmake工程,板卡端已预装cmake工具,并且把交叉编译相关的cmake环境变量预设保存在文件板卡端的cross.cmake中,用户只需要在PC端的CMakeList.txt文件中包含此文件即可进行交叉编译,免去复杂的环境配置。
进一步,对于qmake工程,板卡端已预装X86版的qmake命令,使用方法与寻常的qmake一样,因为已在板卡端的qmake.conf中把复杂的交叉编译环境变量处理好了。
进一步,通信方式为OTG-UDC或以太网/WiFi。
进一步,交叉编译工具链接器逻辑根目录为SYSROOT或rootfs。
进一步,开发环境包括docker镜像方式。
本发明的积极进步效果在于:
1、采用docker容器部署开发环境,减少文件下载量,用户仅需下载2KB文件即可;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州灵眸科技有限公司,未经广州灵眸科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310460362.8/2.html,转载请声明来源钻瓜专利网。





