嵌入式Linux调试笔记

1. JIT Issue

错误描述

1
JIT is disabled for QML. Property bindings and animations will be very slow. Visit https://wiki.qt.io/V4 to learn about possible solutions for your platform.

解决方案:

  1. 参考Qt:QML 在嵌入式linux下环境变量设置设置qml环境变量,修改 /etc/profile 。参照这种方式,最终并未得到解决

    1
    2
    3
    export QTDIR=/opt/Qt5.8.0
    export QML_IMPORT_PATH=
    export QML2_IMPORT_PATH=$QTDIR/qml
  2. 参考 (solved) JIT is disabled for QML , 该问题在Qt5.9.1以下版本中普遍存在,需要升级Qt版本到5.9.2以上或者 KDE Frameworks 版本 5.4.0以上

Ubuntu x64 搭建Qt5.8.0开发环境

  1. 参照说明文档,复制交叉编译器 arm-gccqt5.8.0 到ubuntu 虚拟机中

  2. 解压文件到指定路径 arm-gcc (/usr/local/arm/arm-2014.05/) 和 Qt5.8.0(/opt/Qt5.8.0/

  3. 将编译器路径 /usr/local/arm/arm-2014.05/bin 添加到系统环境变量。 vim ~/.bashrc

    1
    2
    export PATH=/usr/local/arm/arm-2014.05/bin:$PATH
    export GCC_COLORS=auto
  4. 执行该文件source ~./bashrc 使环境变量生效

  5. 安装64bit下对应的32bit库,参考 Ubuntu16.04编译Qt5.8(x86&arm)

    1
    2
    3
    4
    5
    6
    7
    8
    apt-get install libc:i386 lib32ncurses5 lib32z1
    apt-get install libxcb-xinerama0-dev:i386
    sudo apt-get install libqt4-dev 或者 sudo apt-get install libgl1-mesa-dev 或者 libgl1-mesa-dev 或者 libglu1-mesa-dev
    sudo apt-get install '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev
    sudo apt-get install build-essential perl python git
    sudo apt-get install gcc-multilib g++-multilib libc6:i386 lib32z1
    sudo dpkg --add-architecture i386
    sudo apt-get dist-upgrade
  6. 配置Qt 编译器和 Qt 版本

使用串口实现对固纬GPD-3303S直流稳压源的程控

对于设备的测试,批量小的情况下可以通过手动测试完成,但是大批量测试时就是一件耗时耗力的工作了。为了实现对0~20mA亚当模块的自动测试,需要有一个可程控的电流信号发生器。电流信号的产生,通过可程控直流电压源 + 电压转电流模块 配合的形式产生。

1
2
3
4
5
6
7
graph TD;
PC-->固纬电流源;
固纬电流源-->0-10V电压转0-20mA电流隔离模块;
0-10V电压转0-20mA电流隔离模块-->被测件;
0-10V电压转0-20mA电流隔离模块-->台式电流表;
被测件-->PC;
台式电流表-->PC;

如上图所示,将台式电流表和被测件串到电流回路中,同时均通过串口与计算机相连,来实现数据的上传。

jar程序的反编译

项目需要对一个设备进行自动化控制,但是设备提供方只给了一个可执行的.jar文件,遇到了以下两个问题:

1、无法实现对设备的自动控制

2、无法自动获取输出结果,对数据进行二次处理

开站小记

之前静态博客搭建使用的是 Hexo, 但是由于经常更换终端,在不同的计算机上都得搭建环境,比较麻烦。同时,博客已不经常使用。借此机会,搭建Jekyll的博客,随处同步,随处写博客。

好记性不如烂笔头,记录工作中所学的内容。

青岛 2018.04.13