ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Xilinx zynq开发,Linux系统下交叉编译nanomsg库

2021-01-12 12:31:46  阅读:485  来源: 互联网

标签:1.1 lock 编译 zynq nanomsg Linux Xilinx Vitis


背景:

        为了优化socket TCP的传输速率,使代码更具有移植性,遂产生使用nanomsg代替socket TCP的想法。

        nanomsg是一个socket library,它提供了几种常见的通信模式,网络层快速、可扩展并且能易于使用。用C实现,且适用于广泛的操作系统,几乎不需要依赖。这里的通信模式(也称为“可扩展性协议”)是构建分布式系统的基本框架。通过组合它们,可以创建广泛的分布式应用程序。

环境准备:

        本文是在为了开发Xilinx Zynq一款芯片的PS端的应用代码。为了安装arm-linux-gnueabi-gcc和arm-linux-gnueabi-g++这2个交叉编译器,直接安装了Xilinx Vitis 2019.2(Xilinx在2019.1之前的SDK开发工具名称为Xilinx SDK XX.XX,2019版本以后改名为Vitis),因为安装完Vitis 2019.2后,编译器会被自动安装好。(其他环境开发,你只要安装自己需要的交叉编译器,自行百度)

1、Xilinx Vitis 2019.2下载地址: https://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/vivado-design-tools/2019-2.html

2、nanomsg官网:https://nanomsg.org/

3、nanomsg Release 1.1.5官方下载地址:https://github.com/nanomsg/nanomsg/releases

4、Ubuntu系统。

步骤:

1、在ubuntu系统下安装Vitis 2019.2。

2、下载nanomsg Release 1.1.5压缩包nanomsg-1.1.5.tar.gz,在ubuntu下解压。

3、在解压后的文件夹nanomsg-1.1.5下,找到CMakeLists.txt,增加交叉编译器内容。

set(CMAKE_SYSTEM_NAME Linux)						
set(CMAKE_C_COMPILER "arm-linux-gnueabi-gcc")						
set(CMAKE_CXX_COMPILER "arm-linux-gnueabi-g++")						

4、安装跨平台交叉编译工具cmake。


PS:这里的话可能会发生如下错误,无错误则跳过。

E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)

E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?

解决方法:

删除锁定文件,就OK了:

sudo rm /var/lib/dpkg/lock-frontend     

sudo rm /var/lib/dpkg/lock 


5、在文件夹nanomsg-1.1.5下,新建build文件夹,用来存放编译结果。

6、配置编译环境

./configure --pefix=/home/wzc/Desktop/nanomsg/nanomsg-1.1.5/build/

等待一会,出现如图info,即配置完成。

7、编译。make,如图结果为编译完成。

8、装载。make install

9、进入build文件夹,查看编译结果。看到生成的/bin,/include,/lib三个文件夹。

 

以上为在linux下使用交叉编译工具cmake,编译nanomsg的过程。

 

 

 

 

标签:1.1,lock,编译,zynq,nanomsg,Linux,Xilinx,Vitis
来源: https://blog.csdn.net/wangzhichunnihao/article/details/112511115

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有