SylixOS
文章平均质量分 85
灞波儿渀
现在,即是最好的时光!
展开
-
SylixOS普通定时器精度分析
1. 适用范围 SylixOS下实现高精度定时器和普通定时器功能,本文档介绍普通定时器的精度问题,适用于SylixOS开发工程师,使用者应具备SylixOS基础知识以及基本编程能力。2. 实现原理 SylixOS下在应用层创建定时器时系统会申请定时器控制块,在启动定时器时将定时器控制块加入到全局扫描链表中,由内核线程负责循环扫描队列,代码模块如程序清单 2.1所示。 ...原创 2018-08-01 14:33:44 · 285 阅读 · 0 评论 -
SylixOS下定时器使用
1. 适用范围 本文档介绍SylixOS下实现定时器功能的方法,使用者应熟悉SylixOS以及SylixOS下的编程规范。2. 实现方案 SylixOS提供标准定时器接口,用户可在应用层直接调用,下面列出定时器的创建、启动、停止以及删除等操作,除此之外系统还提供如定时器复位、获取定时器状态等操作接口。2.1 创建定时器 创建定时器API_TimerCreate函数原型为:#inc...原创 2018-07-13 13:55:48 · 593 阅读 · 1 评论 -
sylixos标准工程移植到Lite版本
1. 概述 针对低端处理器(如ARM M系列处理器)的开发工作,翼辉信息推出了SylixOS Lite工程版本。SylixOS Lite版本工程属于SylixOS轻量级工程,与标准的SylixOS工程相比裁剪掉部分功能(如GDB调试、虚拟内存管理、动态装载、部分网络功能等)。 由于SylixOS Lite版本不支持动态装载,本文档介绍基于SylixOS标准开发环境下的中间件移原创 2018-02-03 22:58:13 · 548 阅读 · 1 评论 -
SylixOS IDE工具使用
1. 问题描述使用RealEvo-IDE(以下简称IDE)开发程序时,误操作输入错误的函数名称时,编译器不会报错,输入错误的函数名示例代码如程序清单1.1所示。程序清单 1.1 示例代码 #include int main (int argc, char **argv){ print("Hello World!\n"); return (0);原创 2018-01-12 16:47:53 · 1554 阅读 · 0 评论 -
SylixOS下移植glib时clock_gettime函数分析
1. 问题分析 移植glib中间件时,运行测试用例出现异常错误,定位问题为g_clock_gettime函数获取的时间和系统API获取的时间不一致导致。 glib中间件中g_get_monotonic_time函数原型如程序清单 1.1所示。程序清单1.1 g_clock_gettime函数原型gint64 g_get_monotonic_time (v原创 2017-12-02 13:47:14 · 909 阅读 · 0 评论 -
优先级反转与解决方案
1. 概念 一个高优先级线程通过信号量机制访问共享资源时,该信号量已被一个低优先级线程占有,而这个低优先级线程在访问共享资源时被其他的一些中等优先级线程抢占,因此造成高优先级线程被许多具有较低优先级的线程阻塞,称此现象为优先级反转。 优先级反转会导致低优先级任务先于高优先级任务运行,在实时系统中会导致不可控的现象发生,因此,优先级反转在实时系统中是不可接受的。2. 解决优先级...原创 2017-11-01 16:44:43 · 1044 阅读 · 0 评论 -
SylixOS Unit Test介绍
1. Unit Test工程介绍 在开发过程中,经常需要进行复杂的测试工作,部分测试工作需要生成多个可执行程序。普通类型的工程在测试时需要建立多个测试工程,这样会导致测试工作冗余繁杂,“Unit Test”工程可以实现一个工程生成多个可执行程序,这样极大的简化了测试流程,提高测试效率。 SylixOS提供的“RealEvo-IDE”(以下简称IDE)开发环境支持“Unit Te原创 2017-10-09 09:20:36 · 413 阅读 · 0 评论 -
SylixOS下获取随机数方法
1. 概述 随机数是专门的随机试验的结果,数学上产生的随机数被称为“伪随机数”,真正的随机数是由物理方法产生的。随机数的产生是由算术规则产生,由于随机数种子的不同,最终生成的随机数也不相同。如果随机数种子相同,则生成的随机数也是相同的,因此要产生随机数,随机数种子必须是随机的。 在编程过程中,有的时候需要通过代码生成随机数,SylixOS提供了生成随机数的函数原创 2017-08-28 20:35:26 · 326 阅读 · 0 评论 -
SylixOS下Redis编程实践
redisContext *redisConnect(const char *ip, int port);1、Redis简介Redis是一个完全开源的key-value型数据库,其显著特点是基于内存操作,但是可以持久化到磁盘。相比较其他的数据库,Redis有着明显的优势,响应速度快和特性丰富是其明显的特点,其他的特点这里不一一赘述。Redis有非常丰富的shell命令可以进行操作,关于原创 2017-06-09 20:41:22 · 357 阅读 · 0 评论 -
SylixOS下移植C++工程
1.使用范围 本文档适用于在RealEvo-IDE开发环境下移植C++工程的用户,使用者应熟悉使用RealEvo-IDE开发环境,并具备C++语言编程的基础知识。2. 准备工作2.1 环境准备 在使用之前,须安装有翼辉信息开发的集成开发套件,由于系统上安装的防火墙软件或者杀毒软件可能会影响到集成开发软件的使用,因此,在使用本套件前请关闭计算机上的windows防原创 2017-04-02 14:55:48 · 774 阅读 · 0 评论 -
SylixOS下移植C++程序——命名粉碎
1. 概念1.1 命名粉碎命名粉碎(name mangling),又称命名修饰。name mangling是一种在编译器和链接器之间用于通信的符号协议,其目的在于按照程序中的语言规范,使符号具备足够的语义信息以保证链接过程准确无误的进行。编译器将目标源文件中的名字进行调整,由于C++中支持overload和override,所以C++的编译器必须有name mangling把函原创 2017-03-22 21:09:06 · 336 阅读 · 0 评论 -
SylixOS电源管理概述以及接口介绍
1. 概述电源管理是操作系统中重要的一部分。要实现电源管理功能,首先需要设备本身支持电源管理操作,其次是操作系统支持电源管理操作。SylixOS支持电源管理功能,电源管理分为两大部分:CPU功耗管理和外设功耗管理。1.1 CPU功耗管理SylixOS中,CPU功耗管理分为三个能级:1.正常运行(Running):CPU正常执行指令。2.省电模式(PowerSavin原创 2017-02-04 15:25:16 · 350 阅读 · 0 评论 -
SylixOS下DBUS替换方案
SylixOS下替换上一篇博客中介绍了DBUS通信原理以及常用函数接口,本文档介绍SylixOS下DBUS功能替换方案。SylixOS有多种进程间通信方法,可以实现类DBUS的进程间通信功能。根据DBUS通信原理,SylixOS下可设计替换方案如图 11所示。替换方案需先创建一个后台进程,负责接收进程发送的消息,根据消息类型进行处理。若接收的消息是信号类型,则依次转发至其他进程,若消息原创 2017-03-05 17:13:42 · 401 阅读 · 0 评论 -
ucGUI在SylixOS下的应用
工作准备 环境准备 在使用之前,须安装有SylixOS的集成开发套件,由于系统上安装的防火墙软件或者杀毒软件,可能会影响到集成开发软件的使用,因此,在使用本套件前请关闭计算机上的windows 防火墙以及杀毒软件。 因后续操作需要在模拟器上进行展示(本文档以mini2440模拟器进行模拟展示),所以在进行后续章节操作前,请完成 mini2440模拟器的配置并启动。原创 2017-01-22 10:47:57 · 957 阅读 · 0 评论 -
SylixOS lite Extension工程开发手册
1. 适用范围 本文档介绍了SylixOS Lite版本应用工程的开发流程,适用于使用SylixOS Lite版本开发的相关工程师。2. 新建Extension工程 1. 选择创建Extension工程,在Project Explorer栏中点击鼠标右键选择“New->SylixOS Lite Extension”,如图 2.1所示。 ...原创 2018-09-03 20:38:56 · 423 阅读 · 0 评论