本帖最后由 wind_west 于 2020-4-23 22:32 编辑

距离上次开发板的开箱测评已经好些天了,也没有新的测评出来。这真的不怪我,就我这偏僻村庄的网速,文件下全已经过去好几个黑夜白天。再加上后来重新安装的ubantu系统,所以就这会了。
接下来的测评内容,简单述说说开发环境的搭建和程序的验证。

1、安装开发环境ubantu16.04TLS
按照文档的要求,宿主机的编译环境需要ubantu16.04,那么我们就选择TLS,也就是长期维护的版本,比较稳定。这里给出几个下载的链接:中科大源阿里云开源镜像站兰州大学开源镜像站下载完成,就可以安装Linux系统了。
(1)、安装镜像的操作可参考这篇帖子:VMWare 安装Ubuntu 16.04。安装之后的虚拟机界面如下:
ubantu16.04.JPG
安装流程没有多大的坑,只是在安装的时候最好缺省安装,不要等不及直接skip。跳过缺省安装也是一样可以登录Linux系统,但是后期连vim都要自己装,太麻烦。
(2)、安装VMware Tools、SSH
虚假机安装完成后,打开终端的界面不能全屏,咱们可以安装VMware Tools就能解决。具体的安装步骤可以参考:Ubuntu16.04 64位下VMware Tools安装配置图文教程。 这个时候可以尝试连接我们的PC和ubantu16.04TLS,这里使用的方式是使用SSH进行连接。 我们重启之后,如果发现Ubuntu界面过小。好的解决办法是:SystemSettings->Displays->1280x768。
SSH.JPG
这个时候进行连接会报错,右上角的网络显示连接,但是无法下载相关的文件,这里可以参考我的网络设置来解决问题。然后就可安装相关的软件,包括apt-get、ssh的客户端。
咱们想安装SSH,命令:sudo apt-get install openssh-server
桥接.JPG
然后就可以启动服务了,命令:service sshd start 。很不幸,这个时候依旧不能联网。
需要我们修改一下配置文件:1. 在Ubuntu终端中输入如下命令,进入配置文件  vim /etc/ssh/sshd_config 。2、将此处文本修改(注释掉“PermitRootLogin prohibit-password”,另起一行添加“PermitRootLogin yes”)。3、将光标移动到文档末尾,在文档末尾添加如下文本:
Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
  • MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96
  • KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
  • 复制代码
    然后保存退出,后面采用SHH使用root账户登录。基本就OK了,再有问题,可以仔细检查一下那个步骤有疏漏。采用的SHH版本参考截图(如果不能登录可以使用我这个版本的SHH)。
    SSH连接成功.JPG
    这里ubantu16.04的通用安装步骤已经完成,接下来的一些步骤就根据相关的具体开发板资料进行有差异的配置了。

    2、安装编译器、编译程序
    这里可以直接就行进编译器的安装,但是默认的用户名可能比较长,也不是自己喜欢的名称。那也可以修改: 修改系统配置文件。 /etc/hostname和 /etc/hosts,使用命令 sudogedit/etc/hostname修改成自己喜欢的名字,原来的注释掉。这里就不多说了,咱们回到编译器的安装。
    (1)、使用SSH登录后,将03-Tools、04-Sources 这2个文件夹拷贝到Linux系统,直接拉过去就结了,当然了crl+v也是一样好使。这里说明一下,03-Tools里面是工具链,04-Sources是程序。
    然后在03-Tools的相关目录下执行:./myir-imx-xwayland-glibc-x86_64-fsl-image-qt5-validation-imx-aarch64-toolchain-4.14-sumo.sh ,然后系统会询问你的安装目录,这里我们自己设置一个就行。
    设置编译工具地址.JPG
    然后,加载环境变量到当前shell:source /安装的地址/environment-setup-aarch64-poky-linux 。好了,qt5的编译器整好了,效果如下(时间有点长):
    安装编译工具-1.JPG
    然后以同样的方式安装基本的编译器:./myir-imx-xwayland-glibc-x86_64-meta-toolchain-aarch64-toolchain-4.14-sumo.sh 。注意,可能这里不询问你的安装地址,选择N退出,然后再进来安装就询问安装地址了。不要把两个编译器放在一块,我也没做太大的区分,分为 tool_chain_1 、tool_chain_2。
    chains.JPG

    (2)、编译器安装了,那就可以编译程序了。从 04-Sources 进入到 example.tar.gz 所在的文件夹然后解压,输入下面的指令就行:
    source /安装目录/environment-setup-aarch64-poky-linux
  • tar xvf example.tar.gz
  • cd example
  • make
  • 复制代码
    这里就能生成 可执行文件了,如果编译涉及权限的问题那就来个:
    chmod 777 -R  ./  
    复制代码
    exmaple文件夹下,编译时可以看到:

    gpio_led_编译OK.JPG

    完成之后得到可执行文件 gpio_key ,对应文件夹如下:

    可执行文件.JPG
    编译器的安装和编译过程没遇到什么问题,都是一路顺风。如果前面的步骤都是OK的,那么这一步也肯定OK。


    3、测试程序
    我测试程序采用了原始的那一种,使用U盘拷贝的。先在SSH下将可执行文件 gpio_key 挪到PC,然后整到U盘上,这里没有什么命令,都是复制、拖动一类的操作,所以就略过了。
    U盘插到开发板上,开发板的串口终端也整好了(注意PC端的CH340转接板的RX和TX同开发板的TX和RX的连接,这里提醒一下)
    (1)、先找到咱们的U盘,我的是sda:
    ls /dev
    复制代码
    sda.JPG
    (2)、在/mnt下创建一个路径usb
    mkdir /mnt/usb
    复制代码
    (3)、挂载U盘
    mount /dev/sda  /mnt/usb
    复制代码
    (4)、复制 gpio_key文件 到/root下
    cp /mnt/usb/gpio_key    /root/data/gpio_key
    复制代码
    (5)、执行我们的程序
    ./gpio_key /dev/input/event1
    复制代码
    运行程序的界面如下:
    运行gpio-key.JPG
    这个时候按下 按键K3 ,界面就会有相关的日志打印,但是不知道为什么打印的是K2:
    移动程序ok.JPG


    总结:
    开发版截图.JPG

    整个流程没有涉及内核、程序等一些和平台相关的知识,写的全是基于通用平台的一个使用方法,其他平台的Linux开发板参照这样的流程走到这一步,也是没有问题的。

    最后,谢谢大家的阅读:细水长流,江湖再见。

    往期:
    【MYC-C8MMX物联网开发板】------开箱测评