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下解压。
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