RTX64
概述
RTX64是英特蒙RTOS平台里的主要产品,与Windows操作系统并存的同时还可以在多核心处理器上支持决定性与硬实时。这完整的解决方案提供了世界级的使用者体验,优于像是DSPs、FPGAs 和 MCUs等实时硬件,并且大幅减少需要决定性或硬实时性的系统开发成本。对称多处理架构的RTX64充分利用了64位内存和效能的优势。独特的是RTX64 RTOS排程器能够让嵌入式实时应用程序直接存取512GB在64位Windows上的可寻址物理内存。这对现在的实时系统而言是很关键的,对比传统32位Windows系统限制物理内存只能有4GB,也是一个很大的进步。4GB的限制已经妨碍了许多仰赖实时系统跟需要更多内存产业的创新。
决定性
-
- 精准的保证 – 可设定时间间隔到1微秒,中断服务线程 (IST, Interrupt Service Thread) 延迟到小于10微秒
- 与Windows分离 – Windows进程与实时应用程序「各自」运行在不同CPU内核
- 可扩展性 – 一个排程器可供所有的实时进程的CPU内核使用。对称多处理 (SMP) 感知排程器利用优先驱动以及抢占式两种算法,确保关键线程的环境转换,并且让高优先级的线程在小于微秒的间隔里发生
控制
-
- 可以设置多个实时进程能力的灵活性 (1至63个CPU实体内核)
- 可以完全控制实时线程,同时伴随着负载平衡的能力。RTX64具有设置线程以及中断亲和性 (interrupt affinity) 的能力
- 当Windows故障时,句柄能让RTX64应用程序继续运行到安全的关机为止
简化
-
- 所有的应用程序都使用同一个操作系统。RTX64支援Windows 10
- 使用商用现成软件 (COTS) 目标系统,无须特别的硬件
- 使用单个开发环境 – Visual Studio 2015、2017、2019
- 对Windows和实时应用程序,使用常见的程序语言(C & C++)
- 使用常见的Win32 API;同样的原始码可做为Windows或实时进程运行
- 对Windows应用程序使用托管程序代码并同时和实时应用程序沟通
- 实时进程可以直接跟硬件沟通
- 在Windows应用程序和实时进程 (事件 events、互斥锁 mutexes与信号 semaphores) 之间可使用标准电脑通讯
- Windows与实时进程之间可使用共享内存来分享数据
降低成本
-
- Windows的操作接口与应用程序结合,足以完成设备的人机界面
- 免除专用的控制器和通讯卡
- 改善资产的使用率:善用未能充分使用的多核处理器
- 减少制造成本以及使用更少的实体零件
效率
-
- 免除硬件库存压力、缺货问题和降低维护成本
- 只需云端下载软件即可完成现场系统升级
主要特色
实时Runtime
-
- 可从1个扩展到63个实时CPU实体内核
- SMP感知排程器利用优先驱动以及抢占式两种算法,确保关键线程的环境切换,并且让高优先级的线程在小于微秒的间隔里优先发生
- 可设置的线程以及中断亲和性
- 可设置的时间间隔
- 能够连接基于行中断和基于讯息中断 (MSI/MSI-X)
- Windows停止错误或关机发生时的停机处理
- 可决定性内存
- 能够存取Windows的文件系统和登录档
- 为了生成处理程序和加载RTDLL设定搜寻路径
- 经由隐性或显性加载的RTDLL获得动态链接数据库 (DLL, Dynamic-link library)
- 经由监看内部对象和客制化事件侧写应用程序行为
- Windows 用户进程和实时进程的实时进程间通讯
- Real-time Inter-Process Communication between Windows user processes and real-time processes
- 32位或64位Windows进程的原生和管理接口
- 可用的物件:事件 (events)、互斥锁 (mutexes) 、和信号 (semaphore)
- 经由共享内存分享数据
- 在Windows核心驱动程序和实时进程的实时进程间通讯
- 64位Windows 驱动程序的原生接口
- 可用的物件:事件、互斥锁、和信号
- 经由共享内存分享数据
- RTX64网络抽象层 (NAL) 提供以下的网络能力给RTX64子系统:
- 高效能以封包为单位的回叫讯号,在第二层低延迟的传送与接收
- 能够以接近在线速度传送以太网络封包
- 提供以太网络封包的加速传输以允许用在线速度传送小封包
- 当传送多个封包时支持零复制
- 支援IEEE-1588时间戳
- 支持许多常用网络卡 (NIC) 驱动程序
- 启用网络卡硬件队列
- 支持装置轮询
- 以Windows使用群组减少对RTX64功能的存取
- 工具与效用
- 启动和设置 – 启动子系统组件以及设置RTSS核心
- 控制面板 – 设置子系统
- 控制台 – 显示输出讯息
- SRTM – 在已知核心上查看系统定时器处理程序的响应
- KSRTM – 查看系统定时器中断服务例程 (ISR) 的响应
- 延迟检视 – 同时在多个CPU内核上查看与比较系统定时器响应的延迟
- 任务管理器 – 显示正在运行的RTSS和Windows进程以及连接到RTX64的驱动程序,显示前期进程、前期线程、和前期CPU使用率
- 监视器 – 设置RTSS的侧写
- RTX64Objects – 查看内部的对象与状态
- RTX64MSpaces – 查看内部的内存分配
软件开发工具包 (SDK)
-
- 开发应用程序的表头与函式库
- 与Windows Win32 API类似的实时API (RTAPI)
- 实时核心API (RTKAPI)
- 实时网络API (RTNAPI)
- 实时网络驱动程序API (RTNDAPI)
- 托管程序代码架构 (IntervalZero.RTX64) – 子系统设定与经由托管程序代码接口设置
- 原生架构 – 设定子系统与经由C/C++接口设置
- 支持微软Visual Studio 2015、2017、和2019
- 应用程序和动态函式库 (DLL) 的开发精灵
- API代码段
- 支援 C-Runtime
- 藉由Visual Studio支持本地及远程除错器
- 本地及远程支持
- 微软WinDbg扩充套件以及RTSS symbols
- RTX64的Percepio Tracealyzer – 使用图形工具分析监测数据
- 使用范例原始文件显示基本概念
- 开发应用程序的表头与函式库
产品文件
-
- 产品文件包含了安装与用户指南、API参照表、以及实时程序设计的详细概念
额外可购买的功能
RT-TCP/IP 堆栈
-
- RT-TCP/IP堆栈为RTX64子系统提供以下网络功能:
- RTX64进程使用TCP/UDP/IP网络
- 支援IPv4和IPv6
- 支援Winsock
- 原始套接字 (RAW Socket)
- MAC层过滤功能
- 虚拟网络 – Windows和RTSS之间的点对点连结
- 工具 (RtssArp、RtssIpConfig、RtssPing、和RtssRoute)
- RT-TCP/IP堆栈为RTX64子系统提供以下网络功能:
RTX64视觉
-
- RTX64视觉为实时RTX64环境提供使用GigE Vision摄影机的功能
- 实时GigE Vision筛选驱动程序
- 摄影机设定工具
- 实时GigE Vision接口与通讯函式库
- 打造可与RTSS视觉应用程序一起使用的OpenCV