×
单片机 > 单片机程序设计 > 详情

海思ARM平台交叉编译zeroMQ

发布时间:2020-08-31 发布时间:
|

在使用海思的项目中要使用到ZeroMQ这个消息队列框架,之前在PC端使用感觉不错。所以通过要通过交叉编译,将其移植到ARM平台。


移植方法,可以参考 https://blog.csdn.net/sishuihuahua/article/details/77203094  


以下是我使用海思交叉编译工具的方法:


一、配置编译器


./configure --host=arm-himix100-linux --prefix=/opt/hisi-linux/zeromq-4.1.6/arm-zeromq  --without-libsodium

arm-himix100-linux

   --host=arm-himix100-linux   ===> 表明使用的是 arm-himix100-linux 这个交叉编译工具


   --prefix=/opt/hisi-linux/zeromq-4.1.6/arm-zeromq ===> 表明编译后安装的目录在 /opt/hisi-linux/zeromq-4.1.6/arm-zeromq 这个目录下面


二、编译及安装


make  && make  install

 

三、解决海思开发板硬件资源有限导致无法使用ZeroMQ


由于海思开发板子上面的SPI FLASH使用的是16MBytes,扣除到杂七杂八的存储,剩下给用户使用的容量空间只有几兆。因此,我们是无法直接将ZeroMQ编译出来的动态库 libzmq.so.5.0.2 直接放到 /usr/lib 里面来使用(Zeromq的应用会动态加载该动态库)。因此,我们可以想到的办法是,将 libzmq.so.5.0.2 放到外部存储空间(如SD卡上面),然后指定环境变量到SD的路径。这样的话,我们写的App在加载动态库的时候,就可以到 SD的路径上 加载到 libzmq.so.5.0.2


方法顺序如下


1、通过修改开机shell脚本( /etc/init.d 目录下),开机自动挂载SD卡到指定目录 


mount /dev/mmcblk0p1 /root/mmc


2、修改 /etc/profile 文件中的环境变量参数,增加 libzmq.so.5.0.2 所在的SD卡路径


3、重启即可

关键字:海思  ARM平台  交叉编译  zeroMQ 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32中断向量表的位置.重定向