<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[flags_s的博客]]></title><description><![CDATA[实时操作系统]]></description><link>https://blog.youkuaiyun.com/flags_s</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; flags_s]]></copyright><item><title><![CDATA[SylixOS WIFI]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/50974090</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/50974090</guid><author>flags_s</author><pubDate>Thu, 24 Mar 2016 18:43:08 +0800</pubDate><description><![CDATA[SylixOS无线简介SylixOS系统集成了无线扩展库（wext）, 因此使用SylixOS可以开发自己的无线模块，目前SylixOS已经完美支持Marvell 8686 WIFI芯片，并且可以通过wpa_supplicant工具连接WPA、WPA2加密类型的热点。
SylixOS无线部署Marvell 8686 WIFI包括以下几个文件（部分源码非开源）：
1. wpa_supplicant]]></description><category></category></item><item><title><![CDATA[FTP 协议（指令集）]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/48463923</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/48463923</guid><author>flags_s</author><pubDate>Tue, 15 Sep 2015 10:16:52 +0800</pubDate><description><![CDATA[FTP协议采用一系列简单的协议来完成文件传输的各种任务，在发送命令的时候，总是在命令的最后加上一个回车换行符，在VB中可以用“vbcrlf”来实现，vc中以“/r/n”表示。以下的命令是从Postel和Reynolds所著的RFC 929修改而来，如果读者想查看详细内容，可以参见英文版RFC 929。注意以下出现地标志符CRLF表示的是回车符号，即相当于VC中的“/r/n”。
1.  ABOT（]]></description><category></category></item><item><title><![CDATA[SylixOS 信号系统（3）]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/48049035</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/48049035</guid><author>flags_s</author><pubDate>Fri, 28 Aug 2015 10:51:13 +0800</pubDate><description><![CDATA[信号内部机制SylixOS的信号机制分为3类发送信号方法：kill类型、队列类型和事件类型，这3中类型分别由_doKill()、_doSigQueue()、_doSigEvent()函数实现，上层所有的发送信号函数都直接或者间接地通过调用这几个函数来实现，而这3个函数中，_doKill()设置信号源为SI_KILL、_doSigQueue()设置信号源为SI_QUEUE、_doSigEvent()设]]></description><category></category></item><item><title><![CDATA[SylixOS信号系统（2）]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/47831457</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/47831457</guid><author>flags_s</author><pubDate>Fri, 21 Aug 2015 11:04:37 +0800</pubDate><description><![CDATA[信号机制原理关键数据结构POSIX标准定义了sigset_t类型来定义一个信号集，然而sigset_t类型在不同的系统可能有不同的定义方式，因此去猜测sigset_t类型是不明确的，在SylixOS中，将sigset_t定义成了unsigned long long型，也即是一个64位的数据类型，每一位代表了一个信号，最高位不被使用。 
SylixOS信号机制的实现离开不了下面几个关键数据结构；1．]]></description><category></category></item><item><title><![CDATA[SylixOS信号系统（1）]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/47663255</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/47663255</guid><author>flags_s</author><pubDate>Fri, 14 Aug 2015 16:01:48 +0800</pubDate><description><![CDATA[信号简介信号是一种软中断，用来通知进程或者线程发生了异步事件。在软件层次上是对中断机制的一种模拟，在原理上，一个进程或者线程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是一种异步通信机制，一个进程或者线程不必通过任何操作来等待信号的到达，事实上，进程或者线程也不知道信号到底什么时候到达。进程之间可以互相kill函数发送信号。内核也可以因为内部事件而给进程或者线程发送信号，通知进程或者线程]]></description><category></category></item><item><title><![CDATA[SylixOS 唤醒链]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/47175029</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/47175029</guid><author>flags_s</author><pubDate>Fri, 31 Jul 2015 20:20:37 +0800</pubDate><description><![CDATA[SylixOS唤醒链简介对于任何系统timer中断就像系统的心跳，不断地更新着系统的时间，同时也不断地更新着基于RR调度策略的时间片，以及持续的计算睡眠线程的睡眠时间等等。SylixOS唤醒链将SylixOS中所有需要睡眠等待的线程进行了一个统一管理，使得在使用上更加方便。SylixOS唤醒链基于差分链的原理，使得在效率上更加高效。SylixOS唤醒链原理相关结构SylixOS唤醒链由下面两个结构体]]></description><category></category></item><item><title><![CDATA[SylixOS xinput 系统]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/47002357</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/47002357</guid><author>flags_s</author><pubDate>Wed, 22 Jul 2015 13:52:59 +0800</pubDate><description><![CDATA[xinput系统简介SylixOS提供了一个xinput子系统，对键盘、鼠标、触摸屏等设备进行了一个统一管理，SylixOS的xinput系统支持热插拔，可随意添加删除输入设备，使用上很方便、很灵活，下面我们从一个框架图开始来开始学习SylixOS xinput子系统。xinput分析xinput系统框架图从图中看xinput系统分为3层：xinput设备层驱动层，xinput核心处理层，物理设备层]]></description><category></category></item><item><title><![CDATA[SylixOS I/O系统]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/46894957</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/46894957</guid><author>flags_s</author><pubDate>Wed, 15 Jul 2015 16:19:54 +0800</pubDate><description><![CDATA[SylixOS I/O系统简介SylixOS 兼容标准的POSIX输入输出系统，使用户非常容易上手。SylixOS 的I/O概念与UNIX兼容系统相同，认为一切都是文件。这些文件有不同的类型，它们包括：
  目录文件：这个文件包含了其他文件的名字以及这些文件的指针。 
  块设备文件：这种文件提供的 I/O 接口标准符合 SylixOS 对块设备的定义。 
  字符设备文件：这是标准的不带缓冲的设备]]></description><category></category></item><item><title><![CDATA[SylixOS 热插拔系统]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/46813019</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/46813019</guid><author>flags_s</author><pubDate>Thu, 09 Jul 2015 10:04:51 +0800</pubDate><description><![CDATA[1. 引入所谓热插拔（hot-pluggin）即带电插拔，热插拔功能是允许用户在不关闭系统，不切断电源的情况下插入或拨出设备，例如：USB设备（U盘、USB鼠标等）SD卡设备。这个对用户看似简单的操作，在系统层面却有着复杂的处理。2. SylixOS 热插拔系统简介很早之前的计算机系统，程序员知道它们只需在启动时扫描所有的设备，并且他们从来不必关心设备消失直到整个机器被关闭。现在，随着USB设备、C]]></description><category></category></item><item><title><![CDATA[SylixOS线程间通信-SylixOS信号量]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/46727821</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/46727821</guid><author>flags_s</author><pubDate>Thu, 02 Jul 2015 16:09:15 +0800</pubDate><description><![CDATA[SylixOS线程间通信-SylixOS信号量SylixOS信号量有两种类型：二进制信号量和计数型信号量。 
二进制信号量的取值范围为FALSE或TRUE；计数型信号量的最小取值为0，而最大取值在创建计数型信号量时决定。 
二进制信号量主要应用在以下场合： 
有允许线程访问的一个资源，使用二进制信号量作为互斥手段； 
线程或中断通知另一个线程某种事件发生。 
计数型信号量主要应用在以下场合： 
有允]]></description><category></category></item><item><title><![CDATA[SylixOS 块消息缓冲区]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/46711237</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/46711237</guid><author>flags_s</author><pubDate>Wed, 01 Jul 2015 15:55:57 +0800</pubDate><description><![CDATA[1. 引入
本节介绍的内容原理很简单，就是著名的环形缓冲区，关于环形缓冲区的诸多介绍网上比比皆是，但是为了后面更加深入的学习SylixOS，我觉得有必要提一下这部分内容。在这里推荐一个开源库liblcthw网址是：https://github.com/zedshaw/liblcthw这个库用c代码实现了一些常用的数据结构，适合学习c语言的人看看。

接下来我们来学习一下SylixOS中块消息]]></description><category></category></item><item><title><![CDATA[SylixOS ARM BSP 第三篇【bspInit.c】]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/46682377</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/46682377</guid><author>flags_s</author><pubDate>Mon, 29 Jun 2015 14:52:08 +0800</pubDate><description><![CDATA[此篇博客为 SylixOS ARM BSP 编写连载的第三篇，主要介绍 bspInit.c 文件具体实现。

bspInit.c 为 BSP 操作系统初始化部分代码，通常由 startup.S 初始完基本处理器参数后调用，下面以 S3C2440A 处理器为例，逐块介绍 bspInit.c 代码。




SylixOS ARM BSP 第二篇中提到 startup.S 初始化完成会将]]></description><category></category></item><item><title><![CDATA[SylixOS JobQueue 简介]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/46624687</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/46624687</guid><author>flags_s</author><pubDate>Wed, 24 Jun 2015 17:39:04 +0800</pubDate><description><![CDATA[1.   什么是JobQueue

SylixOS中为了减少线程的创建或者让中断服务程序做更少的事情，引入了JobQueue机制。
JobQueue（工作队列）我们可以看成是一种将工作推后由同一个工作线程去执行多个工作的一种异步机制，尤为重要的是这个线程可以设置等待的超时时间。
2. 数据结构





这是从SylixOS源码中截取的一个图，从图中我们可以看到工作队列管理的消]]></description><category></category></item><item><title><![CDATA[SylixOS ARM BSP 文件结构]]></title><link>https://blog.youkuaiyun.com/flags_s/article/details/46559151</link><guid>https://blog.youkuaiyun.com/flags_s/article/details/46559151</guid><author>flags_s</author><pubDate>Fri, 19 Jun 2015 10:39:55 +0800</pubDate><description><![CDATA[SylixOS是一款国人自己写的实时操作系统，在介绍这款操作系统之前我们首先来看一篇好的文章：
http://hanhui03.blog.51cto.com/10427533/1663454

来了解一下SylixOS bsp的简单结构。]]></description><category></category></item></channel></rss>