当前位置: 首页 > news >正文

【从零开始一步步学习VSOA开发】运行hellovsoa

运行hellovsoa

和所有编程技术的首个程序一样,我们先创建、编译、部署、运行一个最简单的示例程序: hellovsoa。

创建 base 工程

需要先创建一个 workspace 工作目录,然后在 workspace 里先新建 base 工程。

  1. 打开 RealEvo-IDE,在菜单栏中选择 File > New > SylixOS Base ,打开 SylixOS Base 对话框。
  2. 在 SylixOS Base 对话框中,自定义 Project name 并且 Location 保持默认,单击 Next 进入 Base 类型选择页面。
    image.png
  3. 在 Base 类型选择页面中,选择 SylixOS Standard base 工程,单击 Next 进入工程设置对话框。
  4. 此对话框中可以选择编译工具链类型、编译代码的调试级别以及 CPU Type 等。按下图配置工程,单击 Next 进入库选择对话框。
    image.png
  5. SylixOS Base 默认包含 libsylixoslibcextern(其他库文件的说明见下表)。单击 Finish,完成 SylixOS Base 工程的创建。
  6. 创建完 SylixOS Base 工程后需要对其进行编译。选中新建的 SylixOS Base 工程,单击右键选择 **Build Project **,进行工程编译。Base 工程规模较大,编译可能需要一段时间。
    image.png
    image.png

导入 SDK 工程

  1. 下载 VSOA 开发包。
    我们目标是在标准 SylixOS 下运行 VSOA,在 windows 操作系统下使用 C 语言进行开发。这里的开发条件除了需要标准SylixOS 必须的 IDE 外,还需要一个 SDK 包。SDK 为编译提供头文件,为运行提供动态库。这里提供了 sdk-vsoa-v173-x64 开发包工程,该工程是在翼辉标准云原生SDK包(这个包内容比较庞杂)基础上简化而来,只包含x64体系结构下的VSOA相关动态库、运行工具,头文件等内容。该工程直接解压导入即可使用,无需编译。如果目标x64运行平台还未部署VSOA运行环境,也可以用该工程来部署。
    sdk-vsoa-v173-x64 开发包工程下载地址:【免费】sdk-vsoa-v173-x64资源-CSDN文库
  2. 解压下载的 sdk-vsoa-v173-x64 压缩包,并拷贝至工作空间目录下。
  3. 选择菜单 File > Import ,打开 Import 对话框,如下图所示。
  4. 选中 SylixOS Projects ,单击 Next 按钮进入工程选择界面,如下图所示。。
  5. 单击 Browse 按钮,在弹出文件夹选择框中选中工程所在目录,在 Projects 列表中会列出该目录下可被导入的工程名称,选中需要导入的工程,单击 Finish 按钮完成工程导入。
    image.png
  6. 导入工程成功后,可在 Workspace 工程列表中看到新导入的工程,如下图所示。。
    image.png

创建 APP 工程

  1. 选择菜单 File > New > Project ,弹出窗口中列出了 SylixOS 支持的工程类型,如下图所示。
    image.png
  2. 在新建对话框中设置 APP 名称,存储路径,关联的 base,优化等级。最后点击** Finish **按钮完成创建。
    image.png
    image.png
  3. 创建后的 APP 工程结构如下。
    image.png
  4. 打开 hellovsoa.c 文件,并用下面的代码替换。
#include <stdio.h>
#include <vsoa_parser.h>int main (int argc, char **argv)
{const char *version = vsoa_parser_version();while (1) {printf("Hello VSOA! Version %s\n", version);sleep(1);}return  (0);
}

配置编译 APP 工程

  1. HelloVSOA 工程上单击右键,选择 Properties,进入工程属性配置页面。
  2. 在工程属性配置页面左侧导航栏中,单击 SylixOS Project > Compiler Setting,进入编译配置界面。
  3. 在编译配置界面上方的标签中,单击 Include Path 进入头文件配置界面。
  4. 在头文件配置界面中单击右侧的 Workspace ,选择添加 Include 路径为sdk-vsoa-v173-x64 工程的 include 目录:
    image.png
  5. 在工程属性配置页面左侧导航栏中,单击 SylixOS Project > Linker Setting,进入链接配置界面。
  6. 在链接配置界面中,单击右侧 Name 添加如下三个库名称:
  7. 在链接配置界面上方的标签中,单击 Library Path 切换至库路径配置界面。
  8. 在库路径配置界面右侧单击 Workspace 选择添加sdk-vsoa-v173-x64 工程的 library 目录作为库路径:
    image.png
  9. 编译 hellovsoa 工程,得到可执行程序。
    image.png
    image.png

部署运行 APP 程序

部署设置

  1. 右击 hellovsoa 工程,选择 Properties 打开工程属性页。

  2. 在工程属性页中选择 SylixOS Project > Device Setting,可查看和更改部署配置。单击 New Device 添加新设备。
    image.png

  3. 在添加设备对话框中,设置 Device IP 为“192.168.7.91”(实际 IP地址请在运行平台上用 ifconfig 命令查看),单击 Finish

  4. 上图中各配置项解析如下:
    | 配置项 | 说明 |
    | — | — |
    | Deivce Name | 设备名称,即设备在本 Workspace 的唯一 ID,不可重复,默认为 IP,也可以自定义 |
    | Device IP | 设备 IP 地址,使用“ifconfig”命令可获取目标系统网络信息 |
    | FTP Port | 设备 FTP 协议端口,默认 21 |
    | GDB Port | 调试应用程序时,gdbserver 端口,默认 1234 |
    | Telnet Port | 设备 telnet 协议端口,默认 23 |
    | User Name | 登录用户名,默认为“root” |
    | Password | 登录密码,默认为“root” |

  5. 设置完成后,在“Device Name”字段中出现新添加的设备,单击 Apply and Close 关闭对话框并保存设置。。

上传应用程序

SylixOS 支持 FTP 服务器,可以用 FTP 客户端上传文件到 SylixOS 目标系统中。RealEvo-IDE 自带 FTP 客户端工具,上传方法如下:

  1. 右击 hellovsoa 工程,选择 SylixOS > Upload 上传文件,或按 Atl + D 上传文件。

  1. 在 RealEvo-IDE 底部的 Upload 中可以查看上传进度。
    image.png**说明:**如果文件上传失败,会显示“Upload file failed!”字样,通常是由于网络或其他原因造成的,例如 IP 地址不正确、用户名/密码错误、防火墙拦截等。

运行应用程序

具体步骤如下:

  1. 使用 ls 命令查看 hellovsoa 执行文件是否存在。
[root@sylixos:/root]# ls /apps/
hellovsoa  test_vsoa
[root@sylixos:/root]# ls /apps/hellovsoa/
hellovsoa
[root@sylixos:/root]#
  1. 输入“ /apps/hellovsoa/hellovsoa”执行程序文件,查看运行结果。
[root@sylixos:/root]#
[root@sylixos:/root]# /apps/hellovsoa/hellovsoa
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0
Hello VSOA! Version 1.7.0

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用 Elastic Observability 中的 OpenTelemetry 进行基础设施监控
  • Android逆向之H5类型app逆向
  • 【深入探秘Hadoop生态系统】全面解析各组件及其实际应用
  • 本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——4Bin模型转化过程
  • MySQL--日志管理
  • Spring面试篇章——IOC
  • 项目比赛项目负责人的汇报艺术:清晰、有条理地反映问题
  • HTML-05新浪新闻-正文-排版
  • 【AI资讯早报】AI科技前沿资讯概览:2024年8月5日早报
  • jvm方法返回相关指令ireturn,areturn,return等分析
  • Hive-函数-时间处理
  • 翻转二叉树 - 力扣(LeetCode)C语言
  • LDR6020快充线,科技与便捷的新宠
  • Vue + View-ui-plus Upload实现手动上传
  • 商家转账到零钱分销返佣申请方案及驳回处理办法
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 2017届校招提前批面试回顾
  • C++类中的特殊成员函数
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • hadoop集群管理系统搭建规划说明
  • HashMap ConcurrentHashMap
  • Java 23种设计模式 之单例模式 7种实现方式
  • Python_网络编程
  • Python学习之路13-记分
  • ReactNativeweexDeviceOne对比
  • Service Worker
  • Yii源码解读-服务定位器(Service Locator)
  • 第2章 网络文档
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 高度不固定时垂直居中
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 小李飞刀:SQL题目刷起来!
  • [地铁译]使用SSD缓存应用数据——Moneta项目: 低成本优化的下一代EVCache ...
  • ​【已解决】npm install​卡主不动的情况
  • ​zookeeper集群配置与启动
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #php的pecl工具#
  • #window11设置系统变量#
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • ()、[]、{}、(())、[[]]命令替换
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (k8s)Kubernetes本地存储接入
  • (python)数据结构---字典
  • (笔试题)合法字符串
  • (差分)胡桃爱原石
  • (回溯) LeetCode 77. 组合
  • (离散数学)逻辑连接词
  • (十六)一篇文章学会Java的常用API
  • (十三)Flink SQL
  • (一)基于IDEA的JAVA基础1
  • (转)人的集合论——移山之道