SylixOS 容器版本(ECS)添加 syscall 方式

SylixOS 容器版本(ECS)添加 syscall 方式

1、配置 IDE 环境
这里配置的是 3.9.11 版本的 IDE,3.9.11 以后的版本中可能会集成此功能。
将下面两个插件拷贝到目录 ACOINFO\RealEvo\ide\plugins
com.sylixos.realevo.devicemgr_3.0.0.jar
com.sylixos.realevo.container_3.0.0.jar

将 syscallgen.rar 解压得到的 syscallgen 目录拷贝到 ACOINFO\RealEvo\tools 目录下,重启 IDE
com.sylixos.realevo.devicemgr_3.0.0.jar、com.sylixos.realevo.container_3.0.0.jar、syscallgen.rar 见附件

2、修改 scd 文件
打开 base 目录 xxx\libsylixos\SylixOS\syscall\sysCallDesc.scd,添加需要加入的系统调用,注意后面的括号
INT API_RtcSet(time_t time){}
INT API_RtcGet(time_t *ptime){}
INT API_SysToRtc(VOID){}
INT API_RtcToSys(VOID){}
INT API_RtcToRoot(VOID){}



3、生成 sysCallHandler.c
右键 sysCallDesc.scd 文件,选择 SylixOS ----> Generate System Call Source,修改 SysCall Name 为 sysCall 后点击 OK


运行大约 1 分钟后,刷新 syscall 目录,打开 sysCallHandler.c 文件,检查是否添加成功。



4、重新编译 BASE
确认添加成功后,重新编译 BASE 即可

5、注意事项
自己添加系统调用可能有风险,不是说加一个配置生成一下这个接口就百分百 OK 的,有的系统接口是需要重写的!

    • Related Articles

    • SylixOS 功能介绍及版本差异

      SylixOS功能介绍及版本差异 SylixOS 标准版 SylixOS 标准版是 SylixOS 的基础版本,具备如下功能: 兼容 IEEE 1003(ISO/IEC 9945)操作系统接口规范; 兼容 POSIX 1003.1b(ISO/IEC 9945-1)实时编程标准; 支持国军标 GJB7714-2012 操作系统接口规范; 优秀的实时性能(任务调度与切换算法时间复杂度为 O(1)); 支持无限多任务; 抢占式调度支持 256 个优先级; 支持虚拟进程; ...
    • SylixOS 添加 SHELL 的命令方式

      Q:可以在 APP 里面加入 SHELL 命令使用吗? SylixOS 系统规定了在进程里面不可以进行注册 shell 命令,只可以在 BSP 中进行注册 更多扩展知识见: 详见《SylixOS shell用户手册》第 1 章 第 1.3节 “添加” 相关内容。 公开链接:SylixOS 手册获取 不能在 APP 里面加入 SHELL 命令原因见如下文章: 参考文章:在应用程序中注册 shell 命令执行会产生的后果
    • 如何使用代码添加额外 IP,并获得额外 IP 对应网卡接口名称

      Q:如何使用代码添加额外 IP,并获得额外 IP 对应网卡接口名称? 使用 ifmip 命令给指定网卡添加 IP 地址后,会生成 "mi" 开头的虚拟网卡。同样也可以使用 API 来添加网卡。 这里只进行代码分析和思路的展示,示例代码可见附件。 添加额外 IP,主要使用的是 netdev_mipif_add 函数。该函数原型为: int  netdev_mipif_add(       netdev_t *netdev,       const ip4_addr_t *ip4,        ...
    • 不同容器(ECS)间使用信号量同步方案

      1、概述       在 SylixOS 容器版本中由于容器间存在命名空间隔离的问题因此无法直接使用信号量进行同步操作,这在某些场合下可能无法完成实际需求,如共享内存通信时。本文介绍一种在容器间实现信号量同步功能的解决方案。 2、解决方案       此解决方案思路是在 SylixOS 标准信号量的基础上封装一层字符设备,在内核层创建信号量并提供相关接口使容器内的 APP 可以通过字符设备接口获取内核信号量句柄,再通过标准信号量 API 进行操作。实现不同容器间的 APP ...
    • SylixOS 系统调用原理和调用过程在哪里查看?还分用户态和内核态么?

      问:SylixOS 系统调用原理和调用过程在哪里查看?还分用户态和内核态么? 答:标准版 SylixOS 不支持系统调用, 直接通过函数的方式直接访问的。系统调用是会影响系统实时性的,尤其切换页表,很耗时间。         SylixOS 不区分用户态和内核态,内核安全问题我们有容器的解决方案,容器是涉及到系统调用的!