研发课堂丨手把手教你添加i.MX6UL对curl软件的支持

原创 2020-04-03 08:47:00 i.MX6UL curl软件


 

前言

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开发资料中有提供。以下是目录下的内容:

 

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


操作步骤

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

2. 

3. 进入到解压文件夹:

 

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

 

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

 

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

 

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

 

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

 

 

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

  

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

 

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

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

 


测试用例

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

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

 


参考:

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

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

相关产品 >

  • FETMX6UL-C核心板 商业级

    飞凌嵌入式商业级iMX6UL核心板采用NXP公司ARM Cortex-A7 i.MX6UL处理器,板载512MB DDR3内存和4GB高速eMMC存储器。飞凌嵌入式级imx6ul核心板体积小巧并具有成本优势,为了更好的让客户进行二次开发,飞凌提供了iMX6UL的PCB文件,包含底板的原理图和PCB文件,提供了i.MX6UL核心板数据手册,IMX6UL核心板硬件手册;为了适应不同应用环境,飞凌IMX6UL核心板兼容IMX6ULL并同时具备工业级、商业级两种不同的配置。

    了解详情
    FETMX6UL-C核心板 商业级
  • FETMX6UL-C核心板 工业级

    i.MX6UltraLite ARM Cortex-A7处理器是 NXP IMX6家族中高能效比CPU芯片的代表,iMX6UL芯片相比同系列的Cortex-A9系列产品,在同等性能下iMX6ul功耗更低。下面介绍一下飞凌i.MX6UL工业级核心板的基本参数,飞凌工业级iMX6UL核心板,主频528MHz,内存256MB,存储256MB(1GB可选),6路原生串口,开发资源丰富,飞凌提供了imx6ul中文参考手册,方便大家开发设计。

    了解详情
    FETMX6UL-C核心板 工业级

推荐阅读 换一批 换一批