开发者
资源
基于鲲鹏开发板平台的应用部署、运行、测试介绍
基于鲲鹏开发板平台的应用部署、运行、测试介绍
新人帖
发表于2024/09/21
4.9k0

基于鲲鹏开发板平台的应用部署、运行、测试介绍

1. 开发环境准备

1.1 操作系统支持

鲲鹏处理器基于ARM架构,常用的Linux操作系统包括:

  • EulerOS:华为专为鲲鹏平台优化的操作系统,提供对硬件的良好支持。
  • CentOS/RHEL:支持鲲鹏硬件,但需要安装额外的依赖包来确保兼容性。
  • Ubuntu:最新版本提供了对ARM架构的支持,可以在鲲鹏上运行。

确保你的开发板系统安装的是支持ARM64架构的Linux版本,且内核支持针对鲲鹏的优化。

1.2 必要软件和开发工具链

在ARM架构上运行应用程序需要使用特定的工具链进行编译和开发:

  1. GCC for ARM:安装ARM架构下的GCC编译器。
    sudo yum install gcc gcc-c++
  2. CMake/Make:构建工具,用于项目编译。
    sudo yum install cmake make
  3. 调试工具:
    • GDB for ARM:ARM64版本的GDB,用于调试ARM架构的应用程序。
      sudo yum install gdb
  4. 开发工具:
    • VS Code、Eclipse、IntelliJ IDEA等IDE可通过远程连接的方式在本地开发,并将代码推送到鲲鹏开发板上运行。
    • 在本地使用交叉编译工具链进行编译,然后将可执行文件传输到开发板上。

      1.3 ARM架构依赖库安装

      根据不同的编程语言和应用需求,确保安装合适的库
  • C/C++库:libstdc++
    sudo yum install libstdc++.so
  • Java:在开发板上安装ARM架构下的OpenJDK(比如openjdk-11-jdk)。
    sudo yum install java-11-openjdk

2. 应用开发与编译

2.1 本地编写代码

你可以在本地的IDE中编写应用程序,并使用交叉编译工具将代码编译为可在ARM架构上运行的二进制文件。

2.2 交叉编译(可选)

如果你在x86架构的本地环境下开发应用程序,可以使用交叉编译工具链来生成ARM64架构下的二进制文件。常用的交叉编译工具为:

sudo apt-get install gcc-aarch64-linux-gnu

使用以下命令交叉编译:

aarch64-linux-gnu-gcc -o myapp myapp.c

2.3 在鲲鹏开发板上本地编译

直接在鲲鹏开发板上编写和编译应用程序可以省去交叉编译的复杂性。通过gccmake在开发板上直接编译代码:

gcc -o myapp myapp.c

对于大型项目,可以使用CMake

mkdir build && cd build
cmake ..
make

3. 应用部署

3.1 文件传输与权限设置

编译完成的二进制文件需要传输到开发板上,可以使用以下工具:

  • SCP:
    scp myapp user@your_kunpeng_board_ip:/path/to
  • rsync(增量同步):
    rsync -avz myapp user@your_kunpeng_board_ip:/path/to/destination

3.2 设置执行权限

在开发板上,确保文件有执行权限:

chmod +x /path/to/your/application

3.3 运行应用

应用程序可以直接在终端运行:

./your_application

若是Java项目:

java -jar your_application.jar

3.4 后台运行

你可以使用nohup命令或者screen来使应用程序在后台运行,即使关闭终端,程序也会继续运行:

nohup ./your_application &

或者:

screen -S my_app
./your_application

3.5 服务化运行

通过将应用注册为系统服务,方便管理和自动启动。

  1. 创建/etc/systemd/system/your_application.service文件,内容如下:
[Unit]
Description=Your Application

[Service]
ExecStart=/path/to/your/application
Restart=always

[Install]
WantedBy=multi-user.target
  1. 启动并启用服务:
    systemctl daemon-reload
       systemctl start your_application
       systemctl enable your_application

4. 应用测试

4.1 功能测试

通过编写单元测试和集成测试来验证应用的正确性。可以使用以下工具:

  • C/C++:使用gtest进行单元测试。
  • Java:使用JUnit进行测试。 示例:
import org.junit.jupiter.api.Test;
   import static org.junit.jupiter.api.Assertions.*;

   public class MyAppTest {

      @Test
      public void testFunctionality() {
         assertEquals(4, 2 + 2);
      }
   }

4.2 性能测试

使用性能分析工具查看应用程序的资源消耗和瓶颈:

  • Top/htop:实时查看CPU和内存的使用情况。

    top
  • SAR:收集系统运行情况报告。

    sudo yum install sysstat
    sar -u 1 10
  • Perf:用于分析性能瓶颈。

    sudo yum install perf
    perf record -e cycles:u -a sleep 10
    perf report

4.3 压力测试

可以使用以下工具进行压力测试:

  • **Apache Bench (ab)**:测试Web应用的并发处理能力。
    ab -n 1000 -c 100 http://your_app_url/
  • wrk:用于高效的HTTP压力测试。
    wrk -t12 -c400 -d30s http://your_app_url/

4.4 日志和调试

  • 日志输出:确保应用输出足够的日志以便排查问题。使用tail -f命令实时监控日志:
    tail -f /path/to/logfile.log
  • GDB调试:在出现崩溃时,通过gdb进行调试:
    gdb ./your_application

通过以上详细的步骤,你可以在鲲鹏开发板上顺利地开发、部署、运行、测试应用,并将生成的数据或视频文件上传至云端。

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞