Linux App

从WeStudio 1.5.0开始,支持在第三方Arm Linux硬件平台上运行App, 目前已支持ARM32和ARM64架构的CPU。下面以树莓派Pi4B为例,介绍如何生成和运行Linux App。 其他ARM开发板,运行方式类似[注意: 第三方硬件系统中必须有 /dev/fb0这个设备节点才能运行!]

1、通过WeStudio构建生成Linux App。

  • 1.1、首先打开WeStudio软件,打开例程(如,”云消息“)或者自己的工程。

  • 1.2、点击WeStudio左侧工具栏的“配置”按钮,在配置对话框中系统勾选“Linux"选项,并在底部的Linux 选项页的"CPU架构"勾选"ARM"(如果目标系统是64位的,请勾选ARM64)。点击”确定“按钮,保存当前的配置。

  • 1.3、点击左侧工具栏的”构建“按钮,等待构建完成,在”构建完成“对话框中点击”打开文件夹“可以查看生成的cloudmessage-linux-arm.tgz文件,如果需要通过U盘来拷贝文件到树莓派系统,将该文件先拷贝到U盘上,在下面的步骤3中将会介绍如何拷贝至树莓派系统。

2、准备树莓派系统

  • 2.1、安装Raspberry Pi OS(官网链接 https://www.raspberrypi.org/downloads/raspberry-pi-os/,下载Raspberry Pi OS (32-bit) Lite镜像并制作SD卡启动盘),如果已经安装系统可以跳过此步骤。如果之前安装的是桌面系统,请通过sudo raspi-config来修改系统的默认启动方式为控制台 (B1 Console 或者B2 Console Autologin)。

    $sudo raspi-config
    3 Boot Options (Config options for start-up)
    B1 Desktop / CLI (Choose whether to boot into a desktop environment or command line)
      B1 Console (Text console, requires user to login)
      B2 Console Autologin (Text console, automatically logged in as 'pi' user)
    
  • 2.2、在树莓派上通过HDMI接上显示屏或者显示器,插入做好的SD卡,插上鼠标和键盘,启动树莓派,用户帐户登录,检查设备节点/dev/fb0是否存在,如果节点不存在,可以尝试修改树莓派系统/boot/config.txt文件, 添加hdmi_force_hotplug=1到文件的最后一行,重启树莓派再次登录

    $sudo echo 'hdmi_force_hotplug=1' >> /boot/config.txt
    $sudo reboot
    
  • 2.3、 创建工作目录,并进入

    $mkdir ~/westudio
    $cd ~/westudio
    

3、拷贝Linux App文件(cloudmessage-linux-arm.tgz)到树莓派系统中,通过U盘或者scp命令拷贝。

  • 3.1、方式一:通过U盘拷贝

    • 在/mnt目录新建一个udisk目录
      $mkdir -p /mnt/udisk
      
    • 插入U盘,使用fdisk -l 命令查看U盘的设备路径,如 /dev/sda
      $fdisk -l
      
    • 挂载U盘
      $mount /dev/sda /mnt/udisk
      
    • 拷贝
      $cp /mnt/udisk/cloudmessage-linux-arm.tgz ~/westudio
      
  • 3.2、方式二:通过scp命令拷贝

    $ scp /c/demos/cloudmessage/build/cloudmessage-linux-arm.tgz pi@192.168.3.222:~/westudio
    

4、 解压Linux App文件(cloudmessage-linux-arm.tgz)

$cd ~/westudio
$tar zxf cloudmessage-linux-arm.tgz

5、 进入目录cloudmessage-linux-arm, 以root权限运行目录下的boot程序

$cd ~/westudio/cloudmessage-linux-arm
$sudo ./boot

这样我们的Linux App就运行起来了!

6、开机自动运行Linux App

  • 6.1、在工作目录(/home/pi/westudio)新建一个脚本文件 start.sh

    #!/bin/sh
    sleep 10
    cd /home/pi/cloudmessage-linux-arm
    sudo ./boot
    
  • 6.2、在/etc/rc.local中‘exit 0’前面添加一行脚本, /home/pi/westudio/start.sh

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    # Print the IP address
    _IP=$(hostname -I) || true
    if [ "$_IP" ]; then
    printf "My IP address is %s\n" "$_IP"
    fi
    /home/pi/westudio/start.sh
    exit 0
    

7、查看实时日志

  • 7.1、因为WeStudio调试器不支持第三方的硬件平台,如果要查看实时日志,可以进入Linux App解压目录下,运行log可执行文件来查看(注意:只有最新版本的WeStudio生成的Linux App才有该可执行文件)
    $cd ~/cloudmessage-linux-arm
    $sudo ./log
    

results matching ""

    No results matching ""