基于mini2440手持医疗终端(二)

还是arm板上的手持医疗终端项目,承接上篇搭建环境的博客。

这里简单记录下将windows上写好的Qt项目交叉编译成arm平台的可执行文件与如何将编译好的可执行文件运行在FriendlyArm的mini2440开发板上(一口气读起来有点长系列)。

  • 在windows上用Qt创建的项目

  • tftpd32.exe

    Tftpd32是一个集成DHCP, TFTP, SNTP和Syslog多种服务的袖珍网络服务器包,同时提供TFTP客户端应用

    主要是通过它把编译好的可执行文件下载到开发板mini2440

  • SecureCRT

    SecureCRT是一款用于连接运行包括Windows、UNIX和VMS的理想工具

    xp自带了超级终端但xp以后的系统不再自带,这里去CSDN下载了一个win7的超级终端 ​

交叉编译

简单地说,就是在一个平台上生成另一个平台上的可执行代码

  • 找到拷贝到linux系统里需要编译的qt工程 cd进入其目录

  • 删除项目配置文件 rm 项目名.pro.user

  • 执行qmake指令,建立编译规则

    • /home/neusoft/arm-qte-4.8.5/qt-everywhere-opensource-src-4.8.5/bin/qmake
    • /usr/local/Trolltech/QtEmbedded-4.8.5-arm/bin/qmake

    这个指令有上面两个存放路径,随便执行哪个都行,第一个是源码路径,第二个是安装路径。

  • 执行make指令,进行编译

    make
    
    • 如果没有错误,会生成很多中间代码,也就是.0文件和一个程序的可执行文件
  • 如果不是第一次make,已经产生了很多中间文件,可以先执行make clean进行清除,再执行make进行编译

下载可执行文件到开发板

  • 把可执行文件从虚拟机的linux中拷贝windows,放到与tftpd32.exe的同一级目录下

  • 打开超级终端SecureCRT,使用串口线连接开发板与电脑

    • 点击文件->快速连接

    • 协议选择 Serial

    • 端口填 COM2

    • 波特率填 115200

    • 取消勾选 RTS/CTS

    • 优化SecureCRT界面

      选择菜单 选项->会话选项,在弹出对话框中左边选择“仿真”,在右边的“终端”选择”linux”

    • 点击回车进入开发板的终端界面

  • 打开tftpd32.exe ,使用网线连接开发板与电脑

    • 运行tftpd32.exe,在tftpd32界面查看本机ip(假设为XXX.XXX.X.XXX)

    • 配置开发板IP与本机的IP同一网段(前三位相同)

      查看开发板相关ip信息,在开发板终端输入

      ifconfig
      

      设置开发板ip(同一网段),在开发板终端输入

      ifconfig eth0 XXX.XXX.X.*
      
    • 测试连接,在开发板终端输入

      ping XXX.XXX.X.XXX
      
    • 成功连接的话 进行下载,在开发板终端输入

      tftp -g -r 可执行文件名 XXX.XXX.X.XXX
      

开发板运行可执行文件

  • 配置开发板运行环境,在开发板终端输入

    cd /bin/
    . setqt4env  
    

    . 空格 setqt4env

  • 如果程序不是可执行文件 增加权限(在终端下没变色

    chmod +x 可执行文件名
    
  • 运行程序

    ./可执行文件名 -qws
    
  • 强制结束程序

    ctrl+c(中断)

结束语

下载可执行文件到开发板这部由于要插拔网线,导致特别麻烦,而且网线连开发板了就没法上网,找出了两个办法解决这个问题:

  • U盘

    有U盘插电脑上,拷贝可执行文件,也就是要运行的程序,再插开发板上,连接好超级终端后,在开发板终端输入

    cp /udisk/可执行文件 .
    

    拷贝到开发板即可

  • MiniTools-USB下载工具

    全新的USB下载工具MiniTools,配合Superboot,用户可以像刷手机一样刷开发板