• 迅为-i.IMX6Q开发板QT系统移植wifi-mt6620(一)


    本文档介绍 SDIO WIFI 在 iMX6 开发板 QtE 的移植方法,配套资料在网盘资料“iTOP-i.MX6 开发板资料汇总(不含光盘资料)8_iTOP-i.MX6 开发板 Linux 系统开发资料16-Qt 系统移植 WiFi-mt6620”目录下。请注意:移植过程中的部分库和工具,在源码或者镜像中可能已经存在,大家可以使用自己生成的覆盖即可。提供的文件如下图所示,分别为三个源码压缩包、编译好的库位于 lib 文件夹、wpa_supplicant 工具位于 sbin 文件夹、6620_launcher,需要的驱动在 x6MtDirvers 文件夹,以及脚本 make_mt6620.sh。

    45.1 6620_launcher
    6620_launcher 工具是作为后台的一个服务程序运行,该服务会配置串口的工作参数,下载固件补丁到 MT6620 中,它位于开发板的“/usr/bin/”目录下,在系统中内置,用户可以直接覆盖。
    45.2 移植 wpa_supplicant
    在进行编译之前要先修改编译器为 4.3.2 版本,如何设置编译器参见手册 19.1 章节“Qt4.7 编译器的安装”。另外为了避免使用环境变量设置编译器而可能出现的问题,文档中大部分编译是使用编译器的绝对路径,用户也应先找到自己编译器的绝对路径待用。下图是本次编译使用的编译器以及编译器压缩包。

    由上图可知该编译器的绝对路径为“/usr/local/arm/4.3.2/bin/ arm-none-linux-gnueabi-gcc”。
    用户需要将提供的源码压缩包拷贝到 Ubuntu 的工作目录,分别解压 ,如下图所示。

    45.2.1 移植 OpenSSL
    首先进入目录 openssl-1.1.0g,内容如下图所示。

    执行下面指令,做相应配置。
    ./config no-asm shared --prefix=$(pwd)/__install
    执行完成后如下图所示。

    no-asm: 是在交叉编译过程中不使用汇编代码代码加速编译过程,原因是它的汇编代码是不支持 arm格式。
    shared :生成动态连接库。
    --prefix :指定 make install 后生成目录的路径,不修改此项则默认为 OPENSSLDIR 目录
    (/usr/local/ssl)。
    使用命令“vim Makefile”打开 Makefile,搜索 CFLAG,定位到下图中所示位置。

    删除上图中红框中的“-m64”,完成后 CFLAG 应如下图所示。

    执行以下命令,编译 OpenSSL 库,注意这里使用的是交叉编译器的绝对路径。
    make CROSS_COMPILE=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi- 编译完成后如下图所示。

    执行下面命令,将编译好的库文件拷贝到第一步指定的目录
    make install
    如下图所示在当前目录下的__install 目录下生成了头文件和库文件:

    include 下文件在编译程序的时候需要指定该 include 的路径。而 lib 下在程序运行时会用到,需要将 lib 下所有文件包括文件夹拷贝到开发板/lib 文件夹中。
    45.2.2 移植 libnl
    libnl 是为了方便应用程序使用 netlink 接口而开发的一个库。这个库为原始 netlink 消息传递以及不同的 netlink family 专用接口提供了一个统一的接口。
    进入目录“libnl-1.1.4/”,如下图所示。

    执行下面的指令,配置编译架构。
    ./configure --prefix=$(pwd)/__install --enable-shared --enable-static
    其中--prefix=$(pwd)/__install 指定了编译出来的库存放的路径,一般将其放在当前目录下的__install 目录下,执行结果如下图所示。

    执行下面的命令,编译库 make CC=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-gcc完成后如下图所示。

    使用命令“make install”, 将编译好的库文件拷贝到指定目录。在当前目录下的__install 目录下生成了头文件和库文件 ,如下图所示。

    include 目录下文件在编译程序的时候会用到,而 lib 下在程序运行时会用到。故在移植 hostapd 的时候需要指定 include 的路径,需要将 lib 目录下所有文件包括文件夹拷贝到开发板中的/lib 文件夹中。

  • 相关阅读:
    Windows下 Mysql忘记密码的修改方法
    java 多文件压缩下载
    MySQL配置文件中jdbc.url
    java实现excle文件上传,解析
    MySQL事务
    重拾MySQL
    Linux中修改MySql配置文件
    Freemarker模板引擎
    过滤器、监听器、拦截器
    XML基础
  • 原文地址:https://www.cnblogs.com/liyue3/p/14866219.html
Copyright © 2020-2023  润新知