sylixos专题

SylixOS x86平台C++符号表

1.C++跨平台问题说明     在x86平台下编译C++工程过程后,运行编译好的C++共享库时出现符号表__atomic_fetch_sub_4找不到的问题,如图 1.1所示。

SylixOS pthread_join退出

1 问题描述 在移植中间件过程中,在SylixOS下调用pthread_join时,如果线程在pthread_join等待之前结束,则线程返回无效线程错误值。在Linux下这种调用会正常返回。两种实现是有差别的,实现的原理分别如下。 2 函数实现机制 2.1 实现机制 在SylixOS下调用pthread_join时,如果线程在pthread_join等待之前结束,线程返回无效线程错误标志

SylixOS write 0 字节问题

1 问题描述 在移植中间件过程中,在SylixOS调用write函数写入0字节的数据到文件中时,会导致对应的中间件测试用例失败,失败的原因是文件系统中的write函数在Linux系统和SylixOS有区别,两种实现的差别如下。 2 write函数的实现机制 2.1 SylixOS实现机制 在SylixOS下通过write 函数写数据到普通文件中时,第一步会判断写入的数据是否为0,如果是0直

SylixOS功能点介绍

1.概述     SylixOS作为一款大型的国产实时操作系统,有着众多小的功能点,本文对SylixOS功能点和部分性能点做了一个总结,具体内容如下。 2.SylixOS功能大纲     基于SylixOS的1.5.3的内核,SylixOS功能大纲如图 2.1所示。 图 2.1 SylixOS功能大纲 3.SylixOS功能大纲介绍     SylixOS

SylixOS ARM平台下内存对齐访问

1.内存对齐 1.1     内存对齐概要 现代计算机中内存空间都是按照byte划分的,从理论上讲对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 1.2     内存对齐作用和原因 各个硬件平台对存储空间的处理上有很大的不同。一些平

基于SylixOS的Telnet退出异常

1.Telnet的定义 1.1 Telnet的定义 Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。

SylixOS网卡多 IP 配置

概述 网卡多 IP 是指在同一个网络接口上配置和绑定多个 IP 地址。 引进网卡多 IP 的目的主要有以下几个: 提供服务高可用性。通过在同一接口绑定多个 IP 地址,然后在服务端使用这些 IP 地址启动多个服务实例。这样在任意一 IP 出现问题时,可以通过其他 IP 继续访问服务,提高服务的高可用性。特殊用途 IP。我们可以在一个接口上配置公网 IP、内网 IP 和特殊用途 IP,用于不同用

SylixOS里CT365 I2C触控驱动移植

1.适用范围     本文档为移植LCD8000-97C屏幕电容触控驱动到iMX6平台过程的总结。提供一些SylixOS触控相关的框架理解和移植心得。 2.原理概述      如图2‑1所示:触控屏通过外部中断提醒主机从I2C总线上读取触控坐标和按压数据,主机读取到触控数据后将数据解析并转换成鼠标事件发送给系统上层,完成一次触控。 图 2-1  触控流程 3.技术实现 3.1Touch

移植cJSON到SylixOS上

为了方便将第三方软件移植到 SylixOS 上,除了直接使用 RealEvo-IDE 工程构建外,对于复杂项目,采用其原有构建方式更为简洁高效。因为cJSON支持CMake编译,所以这里介绍 CMake 构建环境的搭建、MSYS2交叉编译环境 搭建和cJSON移植。 一、MSYS2环境搭建 下载地址:https://repo.msys2.org/distrib/x86_64/

帅爆了!SylixOS 可视化内核监控器即将发布

在翼辉即将发布的 RealEvo 6.0 中,将会加入 SylixOS 可视化内核监控器功能组件。可视化内核监控器实现了线程和进程状态跟踪、中断测量、内存使用率统计、IO 系统分析等功能,可用于复杂场景下应用程序、系统内核、BSP 以及驱动程序的图形化分析,其常见应用场景如下: 应用程序逻辑分析 SylixOS 可视化内核监控器提供详细的操作系统任务调度视图,可以显示应用程序生命周期中的任务切

翼辉 SylixOS 正式支持“申威“处理器架构

近日,翼辉信息发布了最新的 SylixOS V3.4.0 操作系统。在 SylixOS V3.4.0 中,已正式加入了对申威 SW64 自主指令集架构的支持。 SW64 自主指令集架构是我国在处理器领域的一项重要突破,其知识产权完全可控、自主性高、安全性强,核心技术可自主迭代发展。目前,SylixOS 已与基于 SW64 架构的 SW831 处理器完成适配,成为全球首个支持 SW64 架构处

SylixOS:T3 打包量产 IMG 文件手册

1.适用范围 本文档主要介绍全志 T3 平台量产 SylixOS 系统的方法。区别于《AllWinnerT3量产使用手册.docx》,本文主要介绍如何生成可通过 Phoenixsuit 或 PhoenixCard 软件直接烧录的 img 文件。 2.准备工作 T3 平台设备,已在 EMMC 上固化 SylixOS、APP、运行环境,等待打包USB 转串口设备一个Ubuntu 虚拟机T3 设备

windows下使用命令行编译 SylixOS 的基础bsp工程

windows下使用命令行编译 SylixOS 的基础bsp工程 缘由 由于之前习惯使用vscode作为主力编辑器,在RealEvo-IDE上做编辑代码的工作不太顺手。这样导致每次代码需要编译时,就要切换会IDE去点击build按钮进行编译。这个操作虽然不复杂,但是肯定不适合我这个懒惰的人,我就喜欢偷懒,折腾。 准备环境 RealEvo-IDE 是注册的状态,必须具有license。本身编

【006】搭载SylixOS操作系统的卫星亮相国防电子展

搭载SylixOS操作系统的卫星亮相国防电子展 发布于2016年05月17日 2016年5月13日,为期3天的第十届中国国际国防电子展览会(简称CIDEX)在中国国际展览中心(老馆)落下帷幕。翼辉信息携旗下主打产品:全国产化嵌入式操作系统SylixOS成功亮相了此次展览。 在11日展会的第一天,公司展品就受到各界的广泛关注,不仅军方领导莅临公司展区了解展品,还有大量用户前来展位咨询

SylixOS中GPIO序号宏定义

技术背景   在SylixOS中 为了统一管理和便于移植 GPIO 被统一编号为数字而不是电路上常用的某某端口。封装成的GPIO设备文件都在 /dev/gpiofd 目录下,文件名即对应的GPI编号,如" /dev/gpiofd/0"即为0号GPIO。应用和驱动中调用某GPIO也是直接使用其编号来索引,如:API_GpioSetValue(5, LOW);设置5号引脚为低电平。       实

SylixOS驱动开发那些事儿-------阅读文档

文档有很多,如电路原理图,参考手册,数据手册,勘误手册等。即便是有参考代码帮助开发,也还是要查阅一下相应的文档手册的。况且有时候是没有任何代码可参考的,这时就需要在完全看懂文档后才能动手写代码。 阅读手册文档最明显的一个难点就是,绝大部分文档都是英文的,哪怕是一些国产的器件。实事求是的讲,虽然我们都接受了多年的英语教育,但英语水平大多都很烂,尤其是我们作为理科生语言这方面就更差。但好在英文技术文

[SylixOS iMXRT1050][6] 仿真调试

仿真调试 SylixOS IDE集成多种仿真调试功能,对于i.MX-RT1050平台可以使用J-Link仿真器进行代码调试。 准备工作首先安装好需要的软件,以及准备好开发板和J-Link仿真器,本文档调试使用的各软硬件版本如下: 操作系统 :Windows10  64位教育版RealEvo-IDE :V3.7.3 Ultimate目标开发板 :MIMXRT1050-EVKJ-Link调

[SylixOS iMXRT1050][4]FTP方式部署镜像文件

文件拷贝方式需要SD卡不断的在PC和开发板间插拔和文件拷贝,比较繁琐,只有在SD卡驱动或网络驱动还没有开发好时才使用。 通常情况下都是使用FTP来下载镜像文件到开发板的SD卡上。操作步骤如下: 准备好一个已具备SD卡访问和以太网通信的开发板,连接好网线。输入ifconfig命令查看开发板的IP地址。 图3.2 ifconfig命令 输入ping命令,检测开发板与PC的连通性。 图

[SylixOS iMXRT1050][3]SylixOS Lite应用开发

SylixOS Lite应用开发方法 标准版的SylixOS只能运行在支持MMU的处理器上,依靠MMU实现虚拟内存管理,应用程序是可以单独编译和动态加载运行的。 而SylixOS Lite可以运行在无MMU的处理器上,但不能实现应用程序的单独编译和动态加载运行。一般的,Lite版的应用开发和单片机开发类似,应用程序和BSP代码属于同一工程,一同编译的,最后得到一个系统镜像。应用程序的源代码习

[SylixOS iMXRT1050][2]快速体验之BootLoader工具

制作SylixOS启动盘 选择RealEvo-IDE的“Tools→RealEvo-SylixOS-Installer”启动安装工具。 图2.15  SylixOS-i.MXRT-Installer启动界面 平台选择“i.MX-RT”,磁盘选择对应的SD卡设备,如果SD卡还未格式化则应该选择进行分区和格式化,第一分区必须为FAT格式。SylixOS镜像路径可以选择BSP工程生成的镜像

[SylixOS iMXRT1050][1]快速体验之创建工程

目前SylixOS已经支持了NXP的 i.MX-RT1050处理器,并且在RealEvo-IDE 3.7.3中已经集成了i.MX-RT1050-EVK开发板的BSP,本章将带领大家快速体验SylixOS在i.MX-RT 1050-EVK开发板上运行的步骤和效果。 首先要获取和安装翼辉信息为SylixOS开发推出的RealEvo-IDE。虽然SylixOS是免费开源的,但其集成开发环境(IDE)是

[SylixOS iMXRT1050][0]SylixOS 和 iMXRT1050在一起了

​​​​​​SylixOS简介 SylixOS是一款大型嵌入式实时操作系统,诞生于2006年,起初它只是一个小型多任务调度器,经过多年开发,SylixOS目前已经成为一个功能完善、性能卓越、可靠稳定的嵌入式系统软件开发平台。 与SylixOS类似的实时操作系统中,全球比较知名的有VxWorks(主要应用于航空航天、军事与工业自动化领域)、RTEMS(起源于美国国防部导弹与火箭控制实时系统)等。

SylixOS内核全局变量的定义、声明与初始化

概要 SylixOS内核用到了很多全局变量,如:内核配置参数,系统状态,内核工作队列,系统时间计数器、定时器缓冲区、内核堆等等。这些全局变量在很多地方会被访问,SylixOS就把它们统一在一处进行定义,声明和初始化。这篇我们不关心这些全局变量的具体含义和功能,只是从宏观的角度去了解SylixOS内核中全局变量的位置和实现方法。 定义和声明的代码实现比较接近,通过一个小技巧可以把它们写到同一个头

SylixOS中的哈希链表

概念 哈希链表又称散列表,是为了加快结点查询而设计的一种数据结构。本质上是哈希和链表的结合体。 原理 基本原理是:把需要查询的关键字通过映射函数(散列函数)映射到相应的存储地址,然后直接访问结点。需要存储或者查询的结点一般称为关键字(Key value),而这个映射函数一般称为散列函数,映射到的存储地址一般称为散列表。 数据结构 哈希链表数据结构定义: typedef struct _

SylixOS内核的cdump功能

概念 cdump即CrashDump(奔溃信息转储),就是在紧急情况下存储故障信息,待系统恢复时还能读取或存入文件系统。 来由 当系统奔溃时,一般会通过串口控制台将奔溃信息(如当前寄存器值,线程名称,出错原因等)输出,以供开发人员对故障进行定位和分析。但有时的奔溃情况非常严重,不能或不便于通过串口输出,其他通信方式或磁盘访问也不能正常调用,此时就可以先把奔溃信息记录到指定内存中,等系统恢复或

SylixOS里的资源调度操作

概述 SylixOS里有许多动态资源,这些系统资源如下: 名称类型Tcb线程控制块Event事件EventSet事件集ThreadVar线程私有数据Heap堆MsgQueue消息队列Timer软件定时器Partition定长分区内存管理Rms精度单调调度器 这些资源的调度,即资源的分配及回收操作,是通过单向资源分配表来实现的,为O(1)时间复杂度,这样就保证了资源分配或回收操作的实时性。