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

背景:

        为了优化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下解压。

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

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++")						

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

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

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

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


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

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

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文件夹,用来存放编译结果。

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

6、配置编译环境

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

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

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

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

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

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

8、装载。make install

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

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

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

 

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

 

 

 

 

上一篇:Python模拟登录WUST教务处


下一篇:Xilinx FPGA全局介绍