Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页
    1. Home
    2. liuxingkeji
    L
    • Profile
    • Following 3
    • Followers 0
    • my integral 1114
    • Topics 10
    • Posts 14
    • Best 5
    • Groups 0

    liuxingkejiLV 5

    @liuxingkeji

    1114
    integral
    10
    Reputation
    23
    Profile views
    14
    Posts
    0
    Followers
    3
    Following
    Joined Last Online

    liuxingkeji Unfollow Follow

    Best posts made by liuxingkeji

    • 【V853开发板试用】编译QT测试下

      记录一下自己交叉编译QT的过程,目前来说再体验了初次编译镜像之后,编译这个QT还是算比较快捷的,因为该有的库都安装完成了。
      首先就是我需要找到我们的交叉编译器安装位置,这个在下载了Tina之后还是很好找的。
      tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin
      如上路径。
      c0b85329-e8ca-45c9-b046-c2a98b5dba15-image.png
      我们用的一般就是这个,我们可以把其路径加到我们系统的环境中,这样在编译QT的时候就比较简单了。
      4e051d9f-09fb-49e2-9ef0-d75d002a0c59-image.png
      一般我是直接加到/etc/profile下的,这样重启后就有了。
      62cfa564-9b63-4ed0-8f7e-f262e7ee15ce-image.png
      敲一下arm-openwrt-linux-gcc -v这样就能出现如上提示就OK了。
      接下来我们准备下编译QT前先编译tslib这个在底层使用触摸屏的时候比较方便。
      43610a86-1438-41e1-a08f-bbb940a36c01-image.png
      这里我选择的1.15版本的,这个都可以,本身Tina再构建的时候好像就带了tslib。

      export STAGING_DIR=/home/v853/tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/arm-openwrt-linux-muslgnueabi
      

      这段要再配置前执行,这段是为了找交叉编译器的库文件,头文件的。

      ./configure --host=arm-openwrt-linux ac_cv_func_malloc_0_nonnull=yes--cache-file=arm-linux.cache -prefix=/home/v853/QT/tslib-1.15/arm-tslib
      

      2a42c4f8-8cc5-4fdd-9a71-5fe63f89f9bb-image.png
      进行配置生成makefile文件。
      b03bb03e-b424-40dc-b056-76768f1b8c74-image.png
      然后直接make,make结束之后就是make install,这样就会在我们配置的文件夹中生成我们的arm-tslib。
      a913c65e-1ab4-4be8-ae42-110737377936-image.png
      这里其实也只是为了QT交叉编译找一下头文件库这些。
      24cb0fc8-da58-43ee-9686-1493a08ac1d6-image.png
      然后我们选择一个QT5版本,这里我选择了QT5.12.6。然后新建一个装交叉编译完成的文件夹我命名为arm-qt。之后我们一般选择构建一个脚本。
      b8a8a4ff-ee3d-4307-89e3-54a07bdf46fe-image.png
      这里我建了一个叫make.sh的。这样在这里面我们完成所以QT的配置工作,具体如下:

      #!/bin/sh
      PWD=`pwd`
          mkdir arm-qt
          ./configure \
          -prefix $PWD/arm-qt \
          -release \
          -opensource \
          -shared \
          -xplatform linux-arm-gnueabi-g++ \
          -optimized-qmake \
          -pch \
          -qt-sqlite \
          -qt-libjpeg \
          -qt-libpng \
          -qt-zlib \
          -no-opengl \
          -skip qt3d \
          -skip qtcanvas3d \
          -skip qtpurchasing \
          -skip qtlocation \
          -skip qttools \
          -no-sse2 \
          -no-openssl \
          -no-cups \
          -no-glib \
          -no-dbus \
          -no-xcb \
          -no-iconv \
          -no-separate-debug-info \
          -no-fontconfig \
          -tslib \
          -I /home/v853/QT/tslib-1.15/arm-tslib/include \
          -L /home/v853/QT/tslib-1.15/arm-tslib/lib \
          -recheck-all \
          -make examples
      
          make -j16 
          make install
      

      结尾就是直接构建然后安装。
      -xplatform linux-arm-gnueabi-g++
      中间我们注意这个配置,这个配置是要对应上我们交叉编译器的。
      0a3fc40d-7416-43b3-b134-b31eb15ad0e1-image.png
      fd911a34-13dc-445f-b191-6a474439a649-image.png
      把上面文件里面内容全部替换成我们的交叉编译器的名字。然后执行脚本即可。
      9dbf6215-1ea2-4623-b2a6-d61c67f7af67-image.png
      1d2175ae-a616-4d38-a4b4-8238cb370587-image.png

      确定一下我们的是否同意其license。输入yes即可,中间无报错直接就会构建完安装完。
      af0be0b0-a9c7-4855-a051-8773de3a9541-image.png
      这是我们配置的一些组件,可以自己选择性的安装。也就是修改脚本即可。
      9ad8e260-6903-4842-bcd4-247c714480ac-image.png
      这里就是编译完成了,中间大概等了半小时,看个人虚拟机配置情况。
      48aae576-69d5-40b4-be1b-f96e6f51da39-image.png
      在路径下生成了很多文件,我们放到arm开发板上也就是lib,和plugins这里面还没有字体文件,可以自己添加。
      0b54b788-f4d8-49a3-a387-63401a067fdb-image.png
      来到底层,我们需要把文件放到底层,然后我居然发现我编译的系统没有tar指令,没办法我们只能对SD卡下手了,我给sd格式化成ext4格式了也就是支持linux系统的格式。

      sudo apt install gparted
      

      我在Ubuntu下安装了gparted工具。直接格式化卡就行。
      这样我们可以直接挂载然后使用库。这个目的是因为有些。So文件无法解压的。

      export QT_PLUGIN_PATH=/mnt/qt5.12.6/plugins
      export QT_QPA_PLATFORM=linuxfb
      export LD_LIBRARY_PATH=/mnt/qt5.12.6/lib
      

      然后初始化一下我们的库路径,这样就能运行QT了,效果如下:
      dbd794f4-c66f-4eea-9a95-922cbcb454e7-image.png
      eafd34f3-13c1-4792-9a2c-2c1e94cb61ba-image.png
      附件如下:
      qt5.12.6.tar

      posted in V853系列-AI视觉
      L
      liuxingkeji
    • MYC-YT507H测试u8g2_OLED显示库

      最近在测试u8g2库,准备是在单片机上使用的,不过目前我看到其也是支持了linux设备的,所以想着是不是能在T507上跑下。搜了下已经是有人做了移植了。官方现在应该也是支持了的,我选择别人开源的,因为介绍的还比较详细。开源地址如下。
      https://github.com/wuhanstudio/u8g2-arm-linux
      11463d2e-4e1c-4f60-b489-95dd1c178e0b-image.png
      这是整个项目了,里面和官方差不多。
      5cef65ba-1654-4c0a-90df-f03af9627827-image.png
      构建就是我们需要修改例程下面的构建工具链,选择自己的。
      ffdd904f-dafc-46ab-9520-ab2c0b92cc0a-image.png
      目前提供了不少的历程,SPI和IIC的都有,还有软件和硬件方式。
      3cdd8871-9e6e-482e-ba93-3941aae4c248-image.png
      我们修改上面的编译器的名称,换成T507的。
      60d2b2f6-8c44-4bb4-b94f-f2b4cb00da9b-image.png
      需要把我们的编译器的路径加到环境变量中,不然也编译不了。
      72b3e1df-2f06-4ceb-a8e0-0f5c89b892e2-image.png
      加入完成后就是可以用aa加TAB健就能显示出我们交叉编译工具链。
      c44e7bd5-defa-4b90-a878-eff08facb655-image.png
      7afd42b7-de33-47ca-bcb0-9328d7bb1358-image.png
      这里我们需要修改下我们的接口名称,因为T507没有I2C-1的。拓展接口中有IIC4。
      facfc38c-1b57-402b-b9bf-d82df3eab48e-image.png
      Make完成后在bin中就是有所有的构建好的程序。
      1ffa7a8c-14b7-4c84-9655-18911299c23a-image.png
      接口就是看下原理图,使用J25的iic4。
      5cb67f8f-ca7e-4fa3-b318-34d44d08d8e0-image.png
      我们接上后,用IIC工具看下,可以看到是多了一个3C,应该就是OLED的地址了。
      1e9a1012-ea53-4d58-b6ae-bec8ef1cd128-image.png
      然后运行,出现上面的显示我们的OLED就可以显示了。
      71045511-6ac1-47e0-be04-95d42715325e-image.png
      d8199473-84ae-4fc8-b563-1faf472776b5-image.png

      posted in 其它全志芯片讨论区
      L
      liuxingkeji
    • 【V853开发板试用】开箱

      已经收到开发板了,感觉做工挺不错的,发一个开箱贴。申请这个主要想体验下其运行QT,加上体验其AI算力,随着资料的不断释放,可玩性越来越高。加上其双核异构和一些丰富的音视频接口都十分值得去体验下。
      下面我们看下其开箱图。
      fda720ca-cb54-4387-bb2f-62c44fc11a1d-image.png
      a214e32f-fec6-429f-bbed-6a5e64fb0b4f-image.png
      首先盒子外包装还是十分简约的,内部打开附赠了一些开发配件,有喇叭,串口转TTL工具,USB Type-C线用于OTG使用,还附赠了一个12V 1A的电源。
      1e30d828-5fb0-465e-8dad-3daa7b013afd-image.png
      打开后,板子通过一个亚克力板子,把所有东西集成在了一起,有一个双摄,一块MIPI触摸屏,板载外设有一个wifi模块,按键也不少,两个单独排针是串口,两个MIC,一个喇叭接口,耳机接口。屏幕部分除了可以接mipi屏以外,还有一个RGB接口,可以接RGB屏,不过会占用一些功能。其余就是SD卡,网口接口。一个USB接口,看起来还是USB3.0的。
      5856fd52-29f6-4649-8504-f3d26a095663-image.png
      板子整体丝印标注清晰,功能基本都可以通过丝印了解。
      ce1507d8-047c-4be2-ac33-cc8c49661d3d-image.png
      接下来上电前请去掉这个IR-CUT接口,不然会发热。
      c7cd9f59-c989-4979-9868-1755dd110455-image.png
      上电后就是Tina的小图标,进入系统运行的就是一个摄像头实时图像,其他的我没接调试串口暂时就没测试了,后续我们根据目前资料继续体验吧。

      posted in V853系列-AI视觉
      L
      liuxingkeji
    • 昨天的行车记录仪屏幕已经点亮,是线序问题,但是测试指令会闪屏。

      2f1c9c8d-375b-4824-8229-e6922405973a-978a2422668df864113a78f71d79303.jpg
      c0181cf3-6407-4e68-b747-5e1f44115015-e166d051c2bae13656ee4dc54f3fba9.jpg
      经过和卖家沟通,又重新飞了下线序,目前可以亮了,但感觉测试的命令进入也不对。会有屏闪。
      d26a578f-3839-448c-84db-4585581733b3-1655724327810.gif
      ce8e8ebb-c84a-4038-ac85-d4191a4ba12f-tina_d1s-mq_uart0.img
      这是测试固件。

      static struct LCM_setting_table lcm_tft08006_setting[] = {
      	{0xB0, 1, {0x5A}},
      
      	{0xB1, 1, {0x00}},
      	{0x89, 1, {0x01}},
      	{0x91, 1, {0x07}},
      	{0x92, 1, {0xF9}},
      	{0xB1, 1, {0x03}},
      	{0x2C, 1, {0x28}},
      
      	{0x00, 1, {0xB7}},
      	{0x01, 1, {0x1B}},
      	{0x02, 1, {0x00}},
      	{0x03, 1, {0x00}},
      	{0x04, 1, {0x00}},
      	{0x05, 1, {0x00}},
      	{0x06, 1, {0x00}},
      	{0x07, 1, {0x00}},
      	{0x08, 1, {0x00}},
      	{0x09, 1, {0x00}},
      	{0x0A, 1, {0x01}},
      	{0x0B, 1, {0x01}},
      	{0x0C, 1, {0x20}},
      	{0x0D, 1, {0x00}},
      	{0x0E, 1, {0x24}},
      	{0x0F, 1, {0x1C}},
      	{0x10, 1, {0xC9}},
      	{0x11, 1, {0x60}},
      	{0x12, 1, {0x70}},
      	{0x13, 1, {0x01}},
      	{0x14, 1, {0xE7}},
      	{0x15, 1, {0xFF}},
      	{0x16, 1, {0x3D}},
      	{0x17, 1, {0x0E}},
      	{0x18, 1, {0x01}},
      	{0x19, 1, {0x00}},
      	{0x1A, 1, {0x00}},
      	{0x1B, 1, {0xFC}},
      	{0x1C, 1, {0x0B}},
      	{0x1D, 1, {0xA0}},
      	{0x1E, 1, {0x03}},
      	{0x1F, 1, {0x04}},
      	{0x20, 1, {0x0C}},
      	{0x21, 1, {0x00}},
      	{0x22, 1, {0x04}},
      	{0x23, 1, {0x81}},
      	{0x24, 1, {0x1F}},
      	{0x25, 1, {0x10}},
      	{0x26, 1, {0x9B}},
      	{0x2D, 1, {0x01}},
      	{0x2E, 1, {0x84}},
      	{0x2F, 1, {0x00}},
      	{0x30, 1, {0x02}},
      	{0x31, 1, {0x08}},
      	{0x32, 1, {0x01}},
      	{0x33, 1, {0x1C}},
      	{0x34, 1, {0x40}},
      	{0x35, 1, {0xFF}},
      	{0x36, 1, {0xFF}},
      	{0x37, 1, {0xFF}},
      	{0x38, 1, {0xFF}},
      	{0x39, 1, {0xFF}},
      	{0x3A, 1, {0x05}},
      	{0x3B, 1, {0x00}},
      	{0x3C, 1, {0x00}},
      	{0x3D, 1, {0x00}},
      	{0x3E, 1, {0xCF}},
      	{0x3F, 1, {0x84}},
      	{0x40, 1, {0x28}},
      	{0x41, 1, {0xFC}},
      	{0x42, 1, {0x01}},
      	{0x43, 1, {0x40}},
      	{0x44, 1, {0x05}},
      	{0x45, 1, {0xE8}},
      	{0x46, 1, {0x16}},
      	{0x47, 1, {0x00}},
      	{0x48, 1, {0x00}},
      	{0x49, 1, {0x88}},
      	{0x4A, 1, {0x08}},
      	{0x4B, 1, {0x05}},
      	{0x4C, 1, {0x03}},
      	{0x4D, 1, {0xD0}},
      	{0x4E, 1, {0x13}},
      	{0x4F, 1, {0xFF}},
      	{0x50, 1, {0x0A}},
      	{0x51, 1, {0x53}},
      	{0x52, 1, {0x26}},
      	{0x53, 1, {0x22}},
      	{0x54, 1, {0x09}},
      	{0x55, 1, {0x22}},
      	{0x56, 1, {0x00}},
      	{0x57, 1, {0x1C}},
      	{0x58, 1, {0x03}},
      	{0x59, 1, {0x3F}},
      	{0x5A, 1, {0x28}},
      	{0x5B, 1, {0x01}},
      	{0x5C, 1, {0xCC}},
      	{0x5D, 1, {0x21}},
      	{0x5E, 1, {0x84}},
      	{0x5F, 1, {0x10}},
      	{0x60, 1, {0x42}},
      	{0x61, 1, {0x40}},
      	{0x62, 1, {0x06}},
      	{0x63, 1, {0x3A}},
      	{0x64, 1, {0xA6}},
      	{0x65, 1, {0x04}},
      	{0x66, 1, {0x09}},
      	{0x67, 1, {0x21}},
      	{0x68, 1, {0x84}},
      	{0x69, 1, {0x10}},
      	{0x6A, 1, {0x42}},
      	{0x6B, 1, {0x08}},
      	{0x6C, 1, {0x21}},
      	{0x6D, 1, {0x84}},
      	{0x6E, 1, {0x74}},
      	{0x6F, 1, {0xE2}},
      	{0x70, 1, {0x6B}},
      	{0x71, 1, {0x6B}},
      	{0x72, 1, {0x94}},
      	{0x73, 1, {0x10}},
      	{0x74, 1, {0x42}},
      	{0x75, 1, {0x08}},
      	{0x76, 1, {0x00}},
      	{0x77, 1, {0x00}},
      	{0x78, 1, {0x0F}},
      	{0x79, 1, {0xE0}},
      	{0x7A, 1, {0x01}},
      	{0x7B, 1, {0xFF}},
      	{0x7C, 1, {0xFF}},
      	{0x7D, 1, {0x0F}},
      	{0x7E, 1, {0x41}},
      	{0x7F, 1, {0xFE}},
      
      	{0xB1, 1, {0x02}},
      
      	{0x00, 1, {0xFF}},
      	{0x01, 1, {0x05}},
      	{0x02, 1, {0xC8}},
      	{0x03, 1, {0x00}},
      	{0x04, 1, {0x14}},
      	{0x05, 1, {0x4B}},
      	{0x06, 1, {0x64}},
      	{0x07, 1, {0x0A}},
      	{0x08, 1, {0xC0}},
      	{0x09, 1, {0x00}},
      	{0x0A, 1, {0x00}},
      	{0x0B, 1, {0x10}},
      	{0x0C, 1, {0xE6}},
      	{0x0D, 1, {0x0D}},
      	{0x0F, 1, {0x00}},
      	{0x10, 1, {0x3D}},
      	{0x11, 1, {0x4C}},
      	{0x12, 1, {0xCF}},
      	{0x13, 1, {0xAD}},
      	{0x14, 1, {0x4A}},
      	{0x15, 1, {0x92}},
      	{0x16, 1, {0x24}},
      	{0x17, 1, {0x55}},
      	{0x18, 1, {0x73}},
      	{0x19, 1, {0xE9}},
      	{0x1A, 1, {0x70}},
      	{0x1B, 1, {0x0E}},
      	{0x1C, 1, {0xFF}},
      	{0x1D, 1, {0xFF}},
      	{0x1E, 1, {0xFF}},
      	{0x1F, 1, {0xFF}},
      	{0x20, 1, {0xFF}},
      	{0x21, 1, {0xFF}},
      	{0x22, 1, {0xFF}},
      	{0x23, 1, {0xFF}},
      	{0x24, 1, {0xFF}},
      	{0x25, 1, {0xFF}},
      	{0x26, 1, {0xFF}},
      	{0x27, 1, {0x1F}},
      	{0x28, 1, {0xFF}},
      	{0x29, 1, {0xFF}},
      	{0x2A, 1, {0xFF}},
      	{0x2B, 1, {0xFF}},
      	{0x2C, 1, {0xFF}},
      	{0x2D, 1, {0x07}},
      	{0x33, 1, {0x3F}},
      	{0x35, 1, {0x7F}},
      	{0x36, 1, {0x3F}},
      	{0x38, 1, {0xFF}},
      	{0x3A, 1, {0x80}},
      	{0x3B, 1, {0x01}},
      	{0x3C, 1, {0x80}},
      	{0x3D, 1, {0x2C}},
      	{0x3E, 1, {0x00}},
      	{0x3F, 1, {0x90}},
      	{0x40, 1, {0x05}},
      	{0x41, 1, {0x00}},
      	{0x42, 1, {0xB2}},
      	{0x43, 1, {0x00}},
      	{0x44, 1, {0x40}},
      	{0x45, 1, {0x06}},
      	{0x46, 1, {0x00}},
      	{0x47, 1, {0x00}},
      	{0x48, 1, {0x9B}},
      	{0x49, 1, {0xD2}},
      	{0x4A, 1, {0x21}},
      	{0x4B, 1, {0x43}},
      	{0x4C, 1, {0x16}},
      	{0x4D, 1, {0xC0}},
      	{0x4E, 1, {0x0F}},
      	{0x4F, 1, {0xF1}},
      	{0x50, 1, {0x78}},
      	{0x51, 1, {0x7A}},
      	{0x52, 1, {0x34}},
      	{0x53, 1, {0x99}},
      	{0x54, 1, {0xA2}},
      	{0x55, 1, {0x02}},
      	{0x56, 1, {0x14}},
      	{0x57, 1, {0xB8}},
      	{0x58, 1, {0xDC}},
      	{0x59, 1, {0xD4}},
      	{0x5A, 1, {0xEF}},
      	{0x5B, 1, {0xF7}},
      	{0x5C, 1, {0xFB}},
      	{0x5D, 1, {0xFD}},
      	{0x5E, 1, {0x7E}},
      	{0x5F, 1, {0xBF}},
      	{0x60, 1, {0xEF}},
      	{0x61, 1, {0xE6}},
      	{0x62, 1, {0x76}},
      	{0x63, 1, {0x73}},
      	{0x64, 1, {0xBB}},
      	{0x65, 1, {0xDD}},
      	{0x66, 1, {0x6E}},
      	{0x67, 1, {0x37}},
      	{0x68, 1, {0x8C}},
      	{0x69, 1, {0x08}},
      	{0x6A, 1, {0x31}},
      	{0x6B, 1, {0xB8}},
      	{0x6C, 1, {0xB8}},
      	{0x6D, 1, {0xB8}},
      	{0x6E, 1, {0xB8}},
      	{0x6F, 1, {0xB8}},
      	{0x70, 1, {0x5C}},
      	{0x71, 1, {0x2E}},
      	{0x72, 1, {0x17}},
      	{0x73, 1, {0x00}},
      	{0x74, 1, {0x00}},
      	{0x75, 1, {0x00}},
      	{0x76, 1, {0x00}},
      	{0x77, 1, {0x00}},
      	{0x78, 1, {0x00}},
      	{0x79, 1, {0x00}},
      	{0x7A, 1, {0xDC}},
      	{0x7B, 1, {0xDC}},
      	{0x7C, 1, {0xDC}},
      	{0x7D, 1, {0xDC}},
      	{0x7E, 1, {0xDC}},
      	{0x7F, 1, {0x6E}},
      	{0x0B, 1, {0x00}},
      
      	{0xB1, 1, {0x03}},
      	{0x2C, 1, {0x2C}},
      
      	{0xB1, 1, {0x00}},
      	{0x89, 1, {0x03}},
      	{0x11, 0, {} },
      	{REGFLAG_DELAY, REGFLAG_DELAY, {200} },
      
      	{0x29, 0, {} },
      	{REGFLAG_DELAY, REGFLAG_DELAY, {120} },
      
      	{REGFLAG_END_OF_TABLE, REGFLAG_END_OF_TABLE, {} }
      };
      

      初始化屏的。

      &lcd0 {
      	lcd_used            = <1>;
      
      	lcd_driver_name     = "tft08006";
      	lcd_backlight       = <100>;
      	lcd_if              = <4>;
      
      	lcd_x               = <400>;
      	lcd_y               = <1280>;
      	lcd_width           = <60>;
      	lcd_height          = <190>;
      	lcd_dclk_freq       = <43>;
      
      	lcd_pwm_used        = <1>;
      	lcd_pwm_ch          = <2>;
      	lcd_pwm_freq        = <1000>;
      	lcd_pwm_pol         = <0>;
      	lcd_pwm_max_limit   = <255>;
      
      	lcd_hbp             = <50>;
      	lcd_ht              = <530>;
      	lcd_hspw            = <30>;
      	lcd_vbp             = <30>;
      	lcd_vt              = <1360>;
      	lcd_vspw            = <20>;
      
      	lcd_dsi_if          = <0>;
      	lcd_dsi_lane        = <4>;
      	lcd_lvds_if         = <0>;
      	lcd_lvds_colordepth = <0>;
      	lcd_lvds_mode       = <0>;
      	lcd_frm             = <0>;
      	lcd_hv_clk_phase    = <0>;
      	lcd_hv_sync_polarity= <0>;
      	lcd_io_phase        = <0x0000>;
      	lcd_gamma_en        = <0>;
      	lcd_bright_curve_en = <0>;
      	lcd_cmap_en         = <0>;
      	lcd_fsync_en        = <0>;
      	lcd_fsync_act_time  = <1000>;
      	lcd_fsync_dis_time  = <1000>;
      	lcd_fsync_pol       = <0>;
      
      	deu_mode            = <0>;
      	lcdgamma4iep        = <22>;
      	smart_color         = <90>;
      
      //	lcd_gpio_0 =  <&pio PG 13 GPIO_ACTIVE_HIGH>;		
      	pinctrl-0 = <&dsi4lane_pins_a>;
      	pinctrl-1 = <&dsi4lane_pins_b>;
      };
      
      

      设备树修改的地方。

      posted in D1系列-RISC-V
      L
      liuxingkeji
    • 米尔电子MYC-YT507H开箱及简述

      拿到开发板几天了,之前也是试用过,这几天忙着下载下我们的新的资料,主要是安卓部分的,开发板的性能很是强劲,可以跑Ubuntu图形系统,还有安卓系统。目前应该是支持安卓10了。
      资料链接:http://down.myir-tech.com/MYD-YT507H/
      7c1eb483-f407-4985-b56b-1251f179a5c1-image.png
      目前是三块都已经是支持了,从最基本的linux系统到ubuntu界面系统,和安卓。所以学习上来说我们是一板就能完成我们的底层人员开发的方案,linux这块也是支持了QT5.12.5。对于QT开发支持了最新的QT5,想要QT4,我们应该可以自己编译的。
      d1346fc0-8185-4412-8e89-85222b9af9fb-image.png
      我们看下我们的核心资料,T507-H是全志作为工业级进行推出的,所以在工业条件下的一些工况是满足的,主要是温度方面。
      c3294d61-0715-444c-8040-e46478fedb68-image.png
      在接口上也是很丰富,给到了两个网卡,千兆和百兆,同时在I2C和SPI,串口上也都是能满足我们工业设计的要求了,显示上也是很丰富的,一个HDMI接口,也有LVDS接口,同时还能支持RGB接口,还有一个TV CVBS接口的输出。这些应该也是可以支持到双屏同异显的。
      0f1855c3-e4cb-4444-8554-c2449f12ad86-image.png
      整个接口基本是用的排针引出了,同时支持到米尔自己的模块,设计了一些不同的FPC接口。
      654bc091-3f9f-44fa-87ca-4cdceab76604-image.png
      cb6224dd-c71e-433e-9a5c-34e4f9ae2a16-image.png
      实物也是非常好看的,带了一个屏蔽罩。

      posted in 其它全志芯片讨论区
      L
      liuxingkeji

    Latest posts made by liuxingkeji

    • MYC-YT507H测试u8g2_OLED显示库

      最近在测试u8g2库,准备是在单片机上使用的,不过目前我看到其也是支持了linux设备的,所以想着是不是能在T507上跑下。搜了下已经是有人做了移植了。官方现在应该也是支持了的,我选择别人开源的,因为介绍的还比较详细。开源地址如下。
      https://github.com/wuhanstudio/u8g2-arm-linux
      11463d2e-4e1c-4f60-b489-95dd1c178e0b-image.png
      这是整个项目了,里面和官方差不多。
      5cef65ba-1654-4c0a-90df-f03af9627827-image.png
      构建就是我们需要修改例程下面的构建工具链,选择自己的。
      ffdd904f-dafc-46ab-9520-ab2c0b92cc0a-image.png
      目前提供了不少的历程,SPI和IIC的都有,还有软件和硬件方式。
      3cdd8871-9e6e-482e-ba93-3941aae4c248-image.png
      我们修改上面的编译器的名称,换成T507的。
      60d2b2f6-8c44-4bb4-b94f-f2b4cb00da9b-image.png
      需要把我们的编译器的路径加到环境变量中,不然也编译不了。
      72b3e1df-2f06-4ceb-a8e0-0f5c89b892e2-image.png
      加入完成后就是可以用aa加TAB健就能显示出我们交叉编译工具链。
      c44e7bd5-defa-4b90-a878-eff08facb655-image.png
      7afd42b7-de33-47ca-bcb0-9328d7bb1358-image.png
      这里我们需要修改下我们的接口名称,因为T507没有I2C-1的。拓展接口中有IIC4。
      facfc38c-1b57-402b-b9bf-d82df3eab48e-image.png
      Make完成后在bin中就是有所有的构建好的程序。
      1ffa7a8c-14b7-4c84-9655-18911299c23a-image.png
      接口就是看下原理图,使用J25的iic4。
      5cb67f8f-ca7e-4fa3-b318-34d44d08d8e0-image.png
      我们接上后,用IIC工具看下,可以看到是多了一个3C,应该就是OLED的地址了。
      1e9a1012-ea53-4d58-b6ae-bec8ef1cd128-image.png
      然后运行,出现上面的显示我们的OLED就可以显示了。
      71045511-6ac1-47e0-be04-95d42715325e-image.png
      d8199473-84ae-4fc8-b563-1faf472776b5-image.png

      posted in 其它全志芯片讨论区
      L
      liuxingkeji
    • 米尔电子MYC-YT507H开箱及简述

      拿到开发板几天了,之前也是试用过,这几天忙着下载下我们的新的资料,主要是安卓部分的,开发板的性能很是强劲,可以跑Ubuntu图形系统,还有安卓系统。目前应该是支持安卓10了。
      资料链接:http://down.myir-tech.com/MYD-YT507H/
      7c1eb483-f407-4985-b56b-1251f179a5c1-image.png
      目前是三块都已经是支持了,从最基本的linux系统到ubuntu界面系统,和安卓。所以学习上来说我们是一板就能完成我们的底层人员开发的方案,linux这块也是支持了QT5.12.5。对于QT开发支持了最新的QT5,想要QT4,我们应该可以自己编译的。
      d1346fc0-8185-4412-8e89-85222b9af9fb-image.png
      我们看下我们的核心资料,T507-H是全志作为工业级进行推出的,所以在工业条件下的一些工况是满足的,主要是温度方面。
      c3294d61-0715-444c-8040-e46478fedb68-image.png
      在接口上也是很丰富,给到了两个网卡,千兆和百兆,同时在I2C和SPI,串口上也都是能满足我们工业设计的要求了,显示上也是很丰富的,一个HDMI接口,也有LVDS接口,同时还能支持RGB接口,还有一个TV CVBS接口的输出。这些应该也是可以支持到双屏同异显的。
      0f1855c3-e4cb-4444-8554-c2449f12ad86-image.png
      整个接口基本是用的排针引出了,同时支持到米尔自己的模块,设计了一些不同的FPC接口。
      654bc091-3f9f-44fa-87ca-4cdceab76604-image.png
      cb6224dd-c71e-433e-9a5c-34e4f9ae2a16-image.png
      实物也是非常好看的,带了一个屏蔽罩。

      posted in 其它全志芯片讨论区
      L
      liuxingkeji
    • Reply: d1s和d1哪吒跑QT4.8.7不起来,有一回在D1S上起来了,但文件系统被我刷了,现在就是要么报OOM要么就是报环境问题

      @soso90 不是内存不足,我在d1s上也跑过,就成功了一次,然后环境被我刷了,后面就再也没起来过,理论上哪吒d1不会内存不够的,QT5都能起来的,就是qt4不行,怀疑过文件系统问题,但显示能跑起来的也被我格式化了

      posted in D1系列-RISC-V
      L
      liuxingkeji
    • d1s和d1哪吒跑QT4.8.7不起来,有一回在D1S上起来了,但文件系统被我刷了,现在就是要么报OOM要么就是报环境问题
      root@TinaLinux:/overlay/riscv-qt/examples/widgets/analogclock# ./analogclock -qw
      s
      [  535.653672] analogclock invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0
      [  535.735642] CPU: 0 PID: 606 Comm: analogclock Not tainted 5.4.61 #9
      [  535.742633] Call Trace:
      [  535.773553] [<ffffffe0000303ce>] walk_stackframe+0x0/0xa0
      [  535.822020] [<ffffffe0000305b0>] show_stack+0x2a/0x34
      [  535.849855] [<ffffffe000650328>] dump_stack+0x20/0x28
      [  536.016984] [<ffffffe00008c3c8>] dump_header+0x48/0x1a4
      [  536.112921] [<ffffffe00008bc86>] oom_kill_process+0x2d8/0x2da
      [  536.119713] [<ffffffe00008c0f4>] out_of_memory+0x92/0x2c4
      [  536.167666] [<ffffffe0000b7b3c>] __alloc_pages_slowpath+0x6c6/0x79a
      [  536.174712] [<ffffffe0000b7d52>] __alloc_pages_nodemask+0x142/0x174
      [  536.181734] [<ffffffe000088724>] pagecache_get_page+0xd0/0x212
      [  536.347335] [<ffffffe00008909c>] filemap_fault+0x352/0x61c
      [  536.353465] [<ffffffe000143c16>] ext4_filemap_fault+0x28/0x40
      [  536.543747] [<ffffffe0000a522a>] __do_fault+0x26/0xba
      [  536.549387] [<ffffffe0000a838c>] __handle_mm_fault+0x52c/0x91a
      [  536.565250] [<ffffffe0000a87a2>] handle_mm_fault+0x28/0x32
      [  536.629199] [<ffffffe00003183e>] do_page_fault+0xb8/0x2de
      [  536.635347] [<ffffffe00002f018>] ret_from_exception+0x0/0xc
      [  536.643622] Mem-Info:
      [  536.646275] active_anon:246617 inactive_anon:10 isolated_anon:0
      [  536.646275]  active_file:108 inactive_file:266 isolated_file:0
      [  536.646275]  unevictable:0 dirty:0 writeback:0 unstable:0
      [  536.646275]  slab_reclaimable:912 slab_unreclaimable:2821
      [  536.646275]  mapped:57 shmem:11 pagetables:612 bounce:0
      [  536.646275]  free:1140 free_pcp:76 free_cma:0
      [  536.781031] Node 0 active_anon:986468kB inactive_anon:40kB active_file:512kB inactive_file:516kB unevictable:0kB isolated(anon):0kB isolated(file):0kB mapped:292kB dirty:0kB writeback:0kB shmem:44kB writeback_tmp:0kB unstable:0kB all_unreclaimable? yes
      [  536.963967] DMA32 free:4640kB min:4036kB low:5052kB high:6068kB active_anon:986468kB inactive_anon:40kB active_file:472kB inactive_file:520kB unevictable:0kB writepending:0kB present:1048576kB managed:1021640kB mlocked:0kB kernel_stack:1024kB pagetables:2448kB bounce:0kB free_pcp:700kB local_pcp:700kB free_cma:0kB
      [  537.046957] lowmem_reserve[]: 0 0 0
      [  537.050861] DMA32: 0*4kB 27*8kB (UME) 25*16kB (ME) 8*32kB (UE) 9*64kB (UME) 3*128kB (E) 1*256kB (E) 2*512kB (UM) 1*1024kB (M) 0*2048kB 0*4096kB = 4136kB
      [  537.120014] Free pages count per migrate typeat order:     0      1      2      3      4      5      6      7      8      9     10
      [  537.299830] zone    DMA32, type    Unmovable      0      1      0      1      3      0      0      1      0      0      0
      [  537.312258] zone    DMA32, type      Movable      0     32     11      1      1      0      0      1      1      0      0
      [  537.325388] zone    DMA32, type  Reclaimable      1     11     13      7      5      3      1      0      0      0      0
      [  537.362566] zone    DMA32, type          CMA      0      0      0      0      0      0      0      0      0      0      0
      [  537.379133] zone    DMA32, type   HighAtomic      0      0      0      0      0      0      0      0      0      0      0
      [  537.515948] zone    DMA32, type      Isolate      0      0      0      0      0      0      0      0      0      0      0
      [  537.528385] 475 total pagecache pages
      [  537.532467] 0 pages in swap cache
      [  537.536209] Swap cache stats: add 0, delete 0, find 0/0
      [  537.542033] Free swap  = 0kB
      [  537.545279] Total swap = 0kB
      [  537.548507] 262144 pages RAM
      [  537.551713] 0 pages HighMem/MovableOnly
      [  537.556018] 6734 pages reserved
      [  537.559516] 2048 pages cma reserved
      [  537.563398] Tasks state (memory values in pages):
      [  537.569772] [  pid  ]   uid  tgid total_vm      rss pgtables_bytes swapents oom_score_adj name
      [  537.661056] [    125]     0   125      415       40    28672        0         -1000 ubusd
      [  537.670304] [    137]     0   137      671       41    32768        0             0 ash
      [  537.691685] [    138]     0   138      406       31    28672        0             0 askfirst
      [  537.811592] [    238]     0   238      524       51    24576        0             0 dbus-daemon
      [  537.821745] [    239]     0   239    55716       37    49152        0             0 adbd
      [  537.833362] [    450]     0   450      465       66    28672        0         -1000 netifd
      [  537.842679] [    464]     0   464     2462       30    24576        0             0 MtpDaemon
      [  537.854214] [    503]     0   503      374       23    24576        0             0 swupdate-progre
      [  537.930775] [    545]     0   545      677       34    32768        0             0 ntpd
      [  538.028849] [    564]     0   564    21388      131    40960        0             0 tt
      [  538.037731] [    579]     0   579      773       51    28672        0         -1000 wpa_supplicant
      [  538.047774] [    606]     0   606   277845   245997  2256896        0             0 analogclock
      [  538.057736] oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),task=analogclock,pid=606,uid=0
      [  538.067564] Out of memory: Killed process 606 (analogclock) total-vm:1111380kB, anon-rss:983984kB, file-rss:4kB, shmem-rss:0kB, UID:0 pgtables:2204kB oom_score_adj:0
      [  538.615413] oom_reaper: reaped process 606 (analogclock), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
      Killed
      

      环境变量如果不配置全就提示这个。

      export QWS_DISPLAY="LinuxFB:mmWidth200:0"
      

      eddc9019-fa6f-4131-8f1a-878f31d927d8-image.png
      使能了这句就会出现这样的现象。就跑成功过一次,还没记录。
      现在在mq上和哪吒上都不行了。
      不过qt5是可以起来的。
      444758df-30ee-4957-b9bb-3d385ba66bd1-image.png
      这是编译配置。

      #!/bin/sh
      PWD=`pwd`
      mkdir riscv-qt
      ./configure  \
                  -prefix $PWD/riscv-qt \
                  -opensource \
                  -release \
                  -shared \
                  -Declarative \
                  -fast \
                  -no-largefile \
                  -qt-sql-sqlite \
                  -qt3support \
                  -exceptions \
                  -no-xmlpatterns \
                  -no-script \
                  -no-scripttools \
                  -no-glib \
                  -no-phonon \
                  -svg \
                  -no-webkit \
                  -qt-zlib \
                  -qt-libtiff \
                  -qt-libpng \
                  -qt-libjpeg \
                  -make libs \
                  -nomake tools \
                  -make examples \
                  -make docs \
                  -nomake demos \
                  -no-nis \
                  -no-cups \
                  -no-iconv \
                  -no-dbus \
                  -xplatform qws/linux-arm-gnueabi-g++ \
                  -embedded riscv \
                  -little-endian \
                  -qt-freetype \
                  -depths 16,24,32 \
                  -qt-gfx-linuxfb \
                  -qt-gfx-transformed \
                  -qt-gfx-multiscreen \
                  -qt-gfx-vnc \
      	    -plugin-gfx-vnc \
                  -plugin-gfx-linuxfb \
                  -no-gfx-qvfb \
                  -qt-kbd-linuxinput \
                  -qt-kbd-tty  \
                  -no-kbd-qvfb \
                  -armfpa \
      	    -no-openssl \
                  -no-opengl  \
                  -no-accessibility \
                  -optimized-qmake  \
                  -no-mouse-qvfb \
                  -qt-mouse-linuxtp \
                  -qt-mouse-tslib \
                  -pch \
                  -DQT_QLOCALE_USES_FCVT \
                  -I/home/d1-nezha/QT/tslib-1.21/riscv-tslib/include \
                  -L/home/d1-nezha/QT/tslib-1.21/riscv-tslib/lib  \
                  -confirm-license
      

      麻烦大家看看了。
      qt4.8.7.tar
      编译出来的如上。

      posted in D1系列-RISC-V
      L
      liuxingkeji
    • 【米尔MYB-YT507开发板试用体验】+实验一些小DEMO,QT_OPENGL

      我们接着来测试这款板子,我们使用测试一些小的demo。先上简单的吧。

      211628tf6qx5fmct0ttfon.png.thumb.jpg

      这款板子是搭载了python模块,所以我们可以直接写一些python程序进行测试。

      211628tuderd03auere0a5.png.thumb.jpg

      我这里弄了一个简单的,输出当前时间和一句打印的话。

      211628ew11zrpi4hscew40.png.thumb.jpg

      直接打印出来了。

      之后我们测试下其QT的OPENGL能力,这个效果还是比较好的,没有卡顿感。我用了两个自带的例程,然后交叉编译后过来的。

      211628bdj4ipo6pn4lpli6.png.thumb.jpg

      里面是有着非常多的库也有我们需要的openGL库。

      使用前需要执行如下三条指令,指定QT一些库位置。

      复制

      export LD_LIBRARY_PATH=/usr/local/Qt_5.12.5/lib/:$LD_LIBRARY_PATH
      export QML2_IMPORT_PATH=/usr/local/Qt_5.12.5/qml/
      export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/local/Qt_5.12.5/plugins
      

      然后效果看下视频吧。

      复制

      ./rendercontrol -platform eglfs
      

      执行需要加上后面的-platform eglfs

      posted in 灌水区
      L
      liuxingkeji
    • 【米尔MYB-YT507开发板试用体验】+官方编译器环境编译出了LVDS0直接显示

      175543puzuguguf8a4fcwz.png.thumb.jpg
      最近一直没发评测了,主要还是自己对全志这个开发还是熟悉,然后之前一直又问题,编译了镜像烧录不了,近期下载了官方的编译环境,使用了编译下,目前可以进去,也修改了下,LVDS0可以直接使用了。

      175542fr0rs80zmyw6xsm5.png.thumb.jpg

      按照说法直接修改这里面的圈出文件,其实好像也不行的,还需要修改一个地方的文件。

      175542bzjgpzx6gx6pxqok.png.thumb.jpg

      全志似乎基本就是有一个芯片配置目录方便各家自己定义,所以需要修改下这个目录下的board.dts文件。

      175542ppmi78epz241404i.png.thumb.jpg

      我屏蔽了第一个,打开了下面的,编译后烧录测试,LCDS0可以直接显示了。

      175543id8k96ddk0z8a58z.png.thumb.jpg

      但是想异步显示这个,就不行了,LVDS1是没有反应的。

      下面看视频吧。

      posted in 灌水区
      L
      liuxingkeji
    • 【米尔MYB-YT507开发板试用体验】+搭建QT开发环境并测试,最详细步骤解决所有烦恼

      上篇之后我们还是进入我们的应用篇,体验时间还有,所以我们不要把时间浪费在编译上,今天就体验下我们的QT开发,其实全志今年在其平台上支持的显示不止是QT的,选择QT体验是因为其代码可以跑在多端,而且基本上是可以跨多个平台运行的。
      171806tzvxgvgu0rgvo5gv.png.thumb.jpg

      我们可以看到其平台下也是有其他GUI支持的。今年LVGL也挺火的,基本上在全志新的片子里的SDK是有支持到的。下面我们进入主题吧,我们先安装Ubuntu上的QT开发。

      171806uc393z52rt2mmztx.png.thumb.jpg

      这里我选择qt5.9在linux上的版本,这个版本是我用的最多的,这个版本避免了登录,再其他方面也是有不错的体验的,不过没有和我们开发板上的开发版本对应,不过这个没有什么问题,区别就是运行一些例子会不一样。

      171806zvmxwwdoaqufyray.png.thumb.jpg

      运行之后就会弹出QT安装页面,我们直接NEXT即可。

      171806s8l96d9z2ad6x3xq.png.thumb.jpg

      然后这一步就是登录了,后面的好像是必须要登录才能验证的,这个版本可以直接选择跳过。

      171806un0hnn77ys7hncne.png.thumb.jpg

      之后选择我们的安装路径,这里我就让其自己选择,这里路径可以随便选择,没有啥问题的。

      171806xb05l3z2cvn2on3l.png.thumb.jpg

      之后跳到我们的组件安装了,组件安装我们是必选QT Creator的这个是QT开发的一个IDE。其他的桌面的QT5.9.1的版本我也建议安装上,这样可以直接在ubuntu上先看到运行效果。

      171808ehm25pykyicc0gp2.png.thumb.jpg

      接下来等待安装完成。

      171806aoqpizdj22ysoqo2.png.thumb.jpg

      这一步我们进行的是其QT交叉编译环境的搭建,我们电脑一般是X86架构的,生成的可执行文件我们的ARM开发板是不能运行的,所以需要交叉编译成ARM版本,提供给开发板运行。这个工具米尔直接提供了,解压即可。

      171806sqvt43qquuoa3f3a.png.thumb.jpg

      然后我们安装完成的QT Creator点击Tools下面的Options。配置我们的交叉编译器。

      171806avbf00c6ssfcxcsd.png.thumb.jpg

      进入到build&run里面选择kits在这里新建我们的交叉编译器。

      171806aoqpizdj22ysoqo2.png.thumb.jpg

      点击Add添加,名称我们重新命名,方便我们识别,下面的编译器和QT版本都需要进行新建,在上面也有对应的选项。

      171806sqvt43qquuoa3f3a.png.thumb.jpg

      进如QT Versions中我们选择我们的qmake,这个路径就是解压出来的文件下路径,按照红色框进行选择。

      171806avbf00c6ssfcxcsd.png.thumb.jpg

      选择好之后,后面直接提示我们的版本了,是QT5.12.5也是我们开发板上的版本。

      171806is3iou4v5vni1g1i.png.thumb.jpg

      然后添加我们的gcc和g++编译器。

      171806pc1hwoc2rcoz9h9g.png.thumb.jpg

      路径还是自己看下,也是我们的解压的路径下,选择添加什么就选择什么,这里有两个一个gcc一个g++,两个我们的都选择好。

      171807noa6ww6lak6ob6uk.png.thumb.jpg

      如上就是添加完成了,为了方便名字我们还是重新命名。

      171807vqd56tqo6hdu65zq.png.thumb.jpg

      然后修改第一个kits,里面内容全部修改成对应开发板的。

      171807zzk4rv33a0bl3v60.png.thumb.jpg

      接下来就是用QT Creator新建工程了,这里我们选择一个带图形显示的。第一个即可。

      171808zhz7npnm7prqbmmb.png.thumb.jpg

      名字命令未hello_world。第一个工程简单点即可。

      171808l8x8wbqa0hjc8jco.png.thumb.jpg

      在Kits页面我们勾选两个,把桌面和交叉编译的都勾选上。

      171808nbxx637wbl9zgt22.png.thumb.jpg

      这一步和后面都默认,暂时就不修改了。

      171808p7gqwjuqgl5q5og5.png.thumb.jpg

      然后我们可以直接运行桌面的,可以看到弹出一个什么都没有的窗口。这一步新建工程完成也验证完了。

      171808is4e4jitjiev2ot3.png.thumb.jpg

      然后修改。ui文件这个就是刚刚显示图像的框,我们可以自己添加一些东西。

      171807o9fhxhgsdqs9dt5x.png.thumb.jpg

      可以看到点击后跳出另一个窗口这个窗口就是QT的设计器了,可以设计各种UI界面,所见即所得。我们从左边控件中拖动一个按钮一个label到窗口中,双击就能修改内容,修改成hello world。

      171807s11l2sylsf224k2p.png.thumb.jpg

      然后再次运行桌面,我们就看到显示了。

      171807sdcftv6zt4f7x76h.png.thumb.jpg

      然后开始我们的交叉编译构建,选择T507。

      171807uon91fn5vnn7odt7.png.thumb.jpg

      然后构建出现了错误,我们需要解决,开始我以为是我们的编译器的问题,我添加了下环境变量。

      171807iouwk10kzbovr12b.png.thumb.jpg

      修改/etc/profile添加上我们的交叉编译器的路径。然后重启。

      171807k94h3445c9caszna.png.thumb.jpg

      重启在应用中打开QT Creator还是选择我们的hello world工程。但是发现还是有出现上面的问题,一般这时候就是QT自己问题了,编译时输出目标文件夹没有,找不到对应的so文件,也就是动态链接的文件,这时候还是需要我们自己新建一个目录然后放文件进去。

      /home/lcy/t507/out/t507/demo2.0/longan/buildroot/host/usr/

      首先这一串就是刚报错的路径,所以我们先创建用户lcy, 使用命令sudo adduser lcy

      然后一直回车。

      171807tfai9w8xivbvttj6.png.thumb.jpg

      之后进入lcy目录,创建文件夹

      sudo mkdir -p t507/out/t507/demo2.0/longan/buildroot/host/usr/

      然后把路径下的文件复制过去。

      171807eeb62mu784mzim2p.png.thumb.jpg

      我这里的路径少了一个t507但是用我上面的创建就不会了,直接拷贝一个文件夹。

      171807r8f5nq5ay1bnyncy.png.thumb.jpg

      然后进去ls,看到许多的so文件。就完成了。

      171807ojtmu3zzfu3jatqu.png.thumb.jpg

      然后再构建就没问题了。

      171807pen461z4m11mp6mo.png.thumb.jpg

      然后我们的可执行文件就出来了,可以看下文件类型是ARM aarch64。接下来就是到板子上运行了。
      171807u81ijzi2l7913zz8.png.thumb.jpg

      想要运行我们有多种方式把我们的程序下载到我们的开发板上,全志也提供了一个ADB方式,这个后面我们再用起来,我比着急想测试,所以我们的直接拷贝到SD卡中然后插到板子上即可,然后这里我又发现问题了其挂载没有提示,这点就不好了,我们可以通过发现/dev/新增了什么样的设备来发现新出的设备,这里我就发现了新出现了mmcblk1p1。然后我们挂载。挂载完ls目录也出现了我们的程序。

      171807ure0kl0r0sanatxr.png.thumb.jpg

      之后直接运行程序是不行的,缺少链接库,这时候我们可以发现其是又自己程序运行的,这时候就要找了,把米尔带的程序替换成我们的。

      171809gy2yscsmkowywsco.png.thumb.jpg

      我一般是在/etc/init.d/rcS这个文件中发现我们开机运行程序,果然其执行了一个qtenv.sh。再去看这个文件。

      171809yh28o3584i4hhqb8.png.thumb.jpg

      找到我们的运行程序了mxapp2,接下来直接替换这个文件名为我们的程序即可。

      171807dqnm48zzm7qffcu1.png.thumb.jpg

      我们需要搜索下这个文件再什么位置,我们发现其在/usr/bin下我们直接把我们程序也拷贝到里面。然后开机。运行效果如下:

      171810vd9grsd8vjwrcs4j.jpeg.thumb.jpg

      posted in 其它全志芯片讨论区
      L
      liuxingkeji
    • 【V853开发板试用】编译QT测试下

      记录一下自己交叉编译QT的过程,目前来说再体验了初次编译镜像之后,编译这个QT还是算比较快捷的,因为该有的库都安装完成了。
      首先就是我需要找到我们的交叉编译器安装位置,这个在下载了Tina之后还是很好找的。
      tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/bin
      如上路径。
      c0b85329-e8ca-45c9-b046-c2a98b5dba15-image.png
      我们用的一般就是这个,我们可以把其路径加到我们系统的环境中,这样在编译QT的时候就比较简单了。
      4e051d9f-09fb-49e2-9ef0-d75d002a0c59-image.png
      一般我是直接加到/etc/profile下的,这样重启后就有了。
      62cfa564-9b63-4ed0-8f7e-f262e7ee15ce-image.png
      敲一下arm-openwrt-linux-gcc -v这样就能出现如上提示就OK了。
      接下来我们准备下编译QT前先编译tslib这个在底层使用触摸屏的时候比较方便。
      43610a86-1438-41e1-a08f-bbb940a36c01-image.png
      这里我选择的1.15版本的,这个都可以,本身Tina再构建的时候好像就带了tslib。

      export STAGING_DIR=/home/v853/tina-v853-open/prebuilt/rootfsbuilt/arm/toolchain-sunxi-musl-gcc-830/toolchain/arm-openwrt-linux-muslgnueabi
      

      这段要再配置前执行,这段是为了找交叉编译器的库文件,头文件的。

      ./configure --host=arm-openwrt-linux ac_cv_func_malloc_0_nonnull=yes--cache-file=arm-linux.cache -prefix=/home/v853/QT/tslib-1.15/arm-tslib
      

      2a42c4f8-8cc5-4fdd-9a71-5fe63f89f9bb-image.png
      进行配置生成makefile文件。
      b03bb03e-b424-40dc-b056-76768f1b8c74-image.png
      然后直接make,make结束之后就是make install,这样就会在我们配置的文件夹中生成我们的arm-tslib。
      a913c65e-1ab4-4be8-ae42-110737377936-image.png
      这里其实也只是为了QT交叉编译找一下头文件库这些。
      24cb0fc8-da58-43ee-9686-1493a08ac1d6-image.png
      然后我们选择一个QT5版本,这里我选择了QT5.12.6。然后新建一个装交叉编译完成的文件夹我命名为arm-qt。之后我们一般选择构建一个脚本。
      b8a8a4ff-ee3d-4307-89e3-54a07bdf46fe-image.png
      这里我建了一个叫make.sh的。这样在这里面我们完成所以QT的配置工作,具体如下:

      #!/bin/sh
      PWD=`pwd`
          mkdir arm-qt
          ./configure \
          -prefix $PWD/arm-qt \
          -release \
          -opensource \
          -shared \
          -xplatform linux-arm-gnueabi-g++ \
          -optimized-qmake \
          -pch \
          -qt-sqlite \
          -qt-libjpeg \
          -qt-libpng \
          -qt-zlib \
          -no-opengl \
          -skip qt3d \
          -skip qtcanvas3d \
          -skip qtpurchasing \
          -skip qtlocation \
          -skip qttools \
          -no-sse2 \
          -no-openssl \
          -no-cups \
          -no-glib \
          -no-dbus \
          -no-xcb \
          -no-iconv \
          -no-separate-debug-info \
          -no-fontconfig \
          -tslib \
          -I /home/v853/QT/tslib-1.15/arm-tslib/include \
          -L /home/v853/QT/tslib-1.15/arm-tslib/lib \
          -recheck-all \
          -make examples
      
          make -j16 
          make install
      

      结尾就是直接构建然后安装。
      -xplatform linux-arm-gnueabi-g++
      中间我们注意这个配置,这个配置是要对应上我们交叉编译器的。
      0a3fc40d-7416-43b3-b134-b31eb15ad0e1-image.png
      fd911a34-13dc-445f-b191-6a474439a649-image.png
      把上面文件里面内容全部替换成我们的交叉编译器的名字。然后执行脚本即可。
      9dbf6215-1ea2-4623-b2a6-d61c67f7af67-image.png
      1d2175ae-a616-4d38-a4b4-8238cb370587-image.png

      确定一下我们的是否同意其license。输入yes即可,中间无报错直接就会构建完安装完。
      af0be0b0-a9c7-4855-a051-8773de3a9541-image.png
      这是我们配置的一些组件,可以自己选择性的安装。也就是修改脚本即可。
      9ad8e260-6903-4842-bcd4-247c714480ac-image.png
      这里就是编译完成了,中间大概等了半小时,看个人虚拟机配置情况。
      48aae576-69d5-40b4-be1b-f96e6f51da39-image.png
      在路径下生成了很多文件,我们放到arm开发板上也就是lib,和plugins这里面还没有字体文件,可以自己添加。
      0b54b788-f4d8-49a3-a387-63401a067fdb-image.png
      来到底层,我们需要把文件放到底层,然后我居然发现我编译的系统没有tar指令,没办法我们只能对SD卡下手了,我给sd格式化成ext4格式了也就是支持linux系统的格式。

      sudo apt install gparted
      

      我在Ubuntu下安装了gparted工具。直接格式化卡就行。
      这样我们可以直接挂载然后使用库。这个目的是因为有些。So文件无法解压的。

      export QT_PLUGIN_PATH=/mnt/qt5.12.6/plugins
      export QT_QPA_PLATFORM=linuxfb
      export LD_LIBRARY_PATH=/mnt/qt5.12.6/lib
      

      然后初始化一下我们的库路径,这样就能运行QT了,效果如下:
      dbd794f4-c66f-4eea-9a95-922cbcb454e7-image.png
      eafd34f3-13c1-4792-9a2c-2c1e94cb61ba-image.png
      附件如下:
      qt5.12.6.tar

      posted in V853系列-AI视觉
      L
      liuxingkeji
    • 【V853开发板试用】开箱

      已经收到开发板了,感觉做工挺不错的,发一个开箱贴。申请这个主要想体验下其运行QT,加上体验其AI算力,随着资料的不断释放,可玩性越来越高。加上其双核异构和一些丰富的音视频接口都十分值得去体验下。
      下面我们看下其开箱图。
      fda720ca-cb54-4387-bb2f-62c44fc11a1d-image.png
      a214e32f-fec6-429f-bbed-6a5e64fb0b4f-image.png
      首先盒子外包装还是十分简约的,内部打开附赠了一些开发配件,有喇叭,串口转TTL工具,USB Type-C线用于OTG使用,还附赠了一个12V 1A的电源。
      1e30d828-5fb0-465e-8dad-3daa7b013afd-image.png
      打开后,板子通过一个亚克力板子,把所有东西集成在了一起,有一个双摄,一块MIPI触摸屏,板载外设有一个wifi模块,按键也不少,两个单独排针是串口,两个MIC,一个喇叭接口,耳机接口。屏幕部分除了可以接mipi屏以外,还有一个RGB接口,可以接RGB屏,不过会占用一些功能。其余就是SD卡,网口接口。一个USB接口,看起来还是USB3.0的。
      5856fd52-29f6-4649-8504-f3d26a095663-image.png
      板子整体丝印标注清晰,功能基本都可以通过丝印了解。
      ce1507d8-047c-4be2-ac33-cc8c49661d3d-image.png
      接下来上电前请去掉这个IR-CUT接口,不然会发热。
      c7cd9f59-c989-4979-9868-1755dd110455-image.png
      上电后就是Tina的小图标,进入系统运行的就是一个摄像头实时图像,其他的我没接调试串口暂时就没测试了,后续我们根据目前资料继续体验吧。

      posted in V853系列-AI视觉
      L
      liuxingkeji
    • Reply: 昨天的行车记录仪屏幕已经点亮,是线序问题,但是测试指令会闪屏。

      @yuzukitsuru 后续这个屏几个测试指令不太对,大佬有啥改进思路吗

      posted in D1系列-RISC-V
      L
      liuxingkeji