查看: 1001|回复: 0

米尔科技Rico Board试用笔记四——Qt开发环境搭建

[复制链接]
  • TA的每日心情
    开心
    2016-10-12 17:42
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2016-11-10 08:45:36 | 显示全部楼层 |阅读模式
    分享到:
    0 补充
       在使用Visual Box遇到无法桥接宿主机网络的难题后,我转向了VMWare阵营。目前已经搭建好了环境。之前讲过的内容就不重复了,这里说说之前没有试过的。
    1 tftp服务的配置
    TFTP是一种简单文件传输协议,实现不同主机间的文件发送和接收。这里,Ubuntu主机为服务器,开发板为客户端。
    (1) 安装tftp服务器端,记得不要输错,有2个软件需要安装:
    $sudo apt-get install tftp-hpa tftpd-hpa
    (2) 创建tftp服务器的工作目录并配置权限
    $mkdir /home/soda/myrico/tftpboot
    $chmod 777  /home/soda/myrico/tftpboot
    (3) 配置tftp服务器,这里可以检查一下之前的两个软件是否安装好,如果有以下配置文件的话:
    $sudo vim /etc/default/tftpd-hpa
    (4) 添加以下字段
    TFTP_DIRECTORY="/home/soda/myrico/tftpboot"
    TFTP_OPTION="-l -c -s"
    (5) 重启TFTP服务
    $sudo service tftpd-hpa restart
    安装和配置已经做完,下面简单的测试以下,在之前建好的tftpboot目录下新建一个文件hello.txt。然后在开发板的终端中,输入
    # tftp -l hello.txt -r /home/soda/myrico/tftpboot/hello.txt -g 192.168.1.134 69
    Note: -l表示local,本地;-r,表示remote,远端;-g,get,从服务器中下载,后面是服务器的IP地址,69是端口号。这里注意远端的路径是绝对路径,不然会报错。
    做完这些,就可以在目标板上看到下载的文件了。
    (6) 开发板上传文件到Ubuntu主机
    Ubuntu主机需要有该文件的存在,只能覆盖,不能添加,这个问题还需要解决;
    2 NFS服务的配置
    NFS,网络文件系统,允许主机通过网络实现文件共享,这样很方便进行文件传输。
    (1)在开发主机上安装NFS服务程序;
    $ sudo apt-get install nfs-kernel-server
    (2)编辑export文件,添加nfs文件夹目录
    $ sudo vi /etc/exports
    例如我的就改为
    /home/soda/myrico/nfs *(rw,subtree_check,no_root_squash,no_all,squash,sync)
    (3)设置目录权限
    $ chmod 777 -R /home/soda/myrico/nfs
    (4)修改配置nfs,绑定端口
    $ sudo vi /etc/default/nfs-kernel-server
    将RPCMOUNTDOPTS修改为
    #RPCMOUNTDOPTS=--manage-gids
    RPCMOUNTDOPTS="-P 13100"
    (5)重启NFS服务
    $ sudo service nfs-kernel-server restart
    在本机上测试NFS服务:
    $ sudo mount -t nfs 127.0.0.0:1:/home/soda/myrico/nfs /mnt
    在开发板上,使用ping命令测试开发板与PC机网络是否连通
    # ping 192.168.1.134
    在开发板上新建挂载目录
    # mkdir -p /mnt/nfs
    挂载NFS文件夹
    # mount -t nfs -o nolock,rw 192.168.1.134:/home/soda/myrico/nfs /mnt/nfs
    到了这里,NFS共享文件夹挂载成功,通过NFS共享文件夹可以方便的实现主机与开发板之间的文件共享,并且可以直接在共享文件夹下运行目标程序,免去了文件拷贝的操作。我觉得这个比TFTP更方便,简直就是太好用了。
    3 Qt介绍
    Qt是一个完整的C++应用程序开发框架,它包含一个类库,和用于跨平台开发和国际化的工具,Qt API在所有支持的平台上都是相同的,Qt工具在这些平台上的使用方式也一直,因而Qt应用的开发和部署与平台无关。简单来说,Qt可以用来给开发板开发GUI应用程序的。
    一、准备工作
    (1)根据用户手册安装好交叉编译工具,设置好环境变量;

    (2)设置好开发板的网络环境,使开发板能正常进行网络通信。
    二、使用光盘中提供的SDK
    按照手册里的指导,依次进行以下步骤:
    (1)解压编译好的tslib和Qt SDK到Ubuntu主机;
    (2)配置Ubuntu的Qt编译环境;
    (3)创建源文件,输入代码;
    (4)编译。
    按照手册里的指导,会出现一个错误,这个非常坑。

    遇到这个问题,开始有些慌。后来仔细一看,路径不对啊,并没有出现/media/data/myir/am335x/qt4.8.5这个路径啊,应该是/opt/qt-4.8.5-sdk才对啊。于是打开Makefile文件,将所有的/media/data/myir/am335x/qt4.8.5路径替换为/opt/qt-4.8.5-sdk,这个错误不再报了,结果又出现一个新的错误。

    这个新问题提示,找不到lts,开始走了不少弯路,耽误了很多时间,后来在另一个试用者的经验帖中找到了解决方案。应该是没有将tslib的路径加入编译路径中,因此在Makefile文件中将变量“LIBS”添加一条“-L /opt/tslib/lib”。再次编译,顺利通过,得到可执行文件“hellomyir”。

    在开发板上执行文件./hellomyir,可以在LCD屏幕上显示,由于手里没有LCD显示屏,这里就不进行展示了。 这里还需要解决一个问题:关于qmake的配置,不然每次手动修改Makefile文件会特别麻烦。这里先留个彩蛋,下次再提解决方案吧。
    4 小结
    官方手册的不严谨导致多花了很多时间精力。特别是对一些新手来说,可能会对该开发板产生不好的印象。希望官方能够及时纠正这些问题,在以后的手册中更加仔细认真。此款开发板毕竟不同于AM335X系列,有些地方还是需要进行修改的。
    下一期,准备尝试用Qt Creator IDE来写应用程序。
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-26 20:59 , Processed in 0.119034 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.