研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法_第1张图片

前言

curl是一个开源项目,名字的含义是客户端(client)的URL工具的意思。主要的产品是curl(命令行工具)和libcurl(C语言的API库),两者功能均是:基于网络协议,对指定URL进行网络传输。

curl是强大的网络协议传输工具,它支持http/https/ftp等协议,还支持POST、cookies、认证、断点续传、指定user-agent、限制下载速度和文件大小、传输进度条等等功能,涉及任何网络协议传输,不涉及对具体数据的具体处理(如:html的渲染等)。curl在命令行或脚本中用于传输数据,用于汽车、电视机、路由器、打印机、音频设备、手机、平板电脑、机顶盒、媒体播放器等等设备中,是每天影响数十亿人口的互联网传输基础软件。

基于CortexA7架构 i.MX6UL设计的FETMX6UL-C核心板应用场景比较多,客户的需求也各不相同。本文将结合操作实例,分享FETMX6UL-C支持curl软件的方法。

前期准备

在移植curl之前需要准备以下工具:

  1. i.MX6UL开发环境:Ubuntu12.04 x32 (下载地址在文末)

  2. libcurl的安装包:curl-7.67.0.tar.gz(官网下载的最新版,官网地址在文末提供)

  3. 交叉编译环境:根据安装时的配置而不同,大部分都在/opt下或者~/opt下(本文的交叉编译环境位置:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin)。交叉编译工具链使用的是linaro的4.6.2版本,在i.MX6UL开发资料中有提供。以下是目录下的内容:

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法_第2张图片

  4. 移植平台:FETMX6UL-C Linux3.14.38系统 Qt4.8/Console

操作步骤

  1. 从官网下载最新版,并解压:

研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

  1. 进入到解压文件夹:

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

  2. 编译器配置,(其中--profix参数是指软件最终编译生成的位置,本文设置的路径为:/home/bk/work/libcurl目录下),指令执行后会配置编译器:

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

  3. 使用交叉编译工具链编译:

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

  4. 执行如下命令编译安装到步骤3中指定的位置。注意:本步骤会有多出错误提示,忽略即可。

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

  5. 打开步骤3中的位置,此时目录下已经生成如下4个目录:

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法_第3张图片

  6. 将libcurl文件夹的内容拷贝到开发板上。(本文将libcurl文件夹拷贝到U盘再使用开发板复制文件到/lib文件夹,因为libcurl中包含链接文件直接拷贝会导致丢失,所以需要单独复制下链接文件)。

研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

  1. 在 i.MX6UL开发板将U盘中的文件拷贝到/lib文件下:

研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

  1. 将curl命令加入系统环境变量:

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法_第4张图片

在箭头处加入 :/lib/bin代码(上图已经加入),保存退出后命令行输入sync 命令之后重启开发板。

  1. 重启开发板后即可输入curl使用:

    研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法

测试用例

测试新浪官网,使用命令curl -v www.sina.com

-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。

研发课堂丨手把手教你添加i.MX6UL对curl软件的操作方法_第5张图片

参考:

Ubuntu下载地址:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/12.04.5/

curl官网下载地址:https://curl.haxx.se/download.html

详情资讯:https://www.forlinx.com/article_view_371.html