SylixOS的初探

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhywxyy/article/details/52748616

  这是我了解到的第一个国产开源嵌入式实时操作系统,之前因为在开源方面linux的一家独大,所以本就想在linux这棵树上吊死的。后来因为各种机缘巧合,我接触到了SylixOS,才发现这真的是个很好的东西。应该让更多人了解”,我想是对的。linux也是一点一点在开源组织的支持下成长起来的,既然SylixOS开源,那它在未来就一定会有所作为的,它就会是有顽强生命力的。
  这里有两个网址可以去关注一下:
  www.acoinfo.com
  这是翼辉公司的网站,上面可以申请SylixOS开发的IDE等工具,不过试用版只能是3个月。
  
  www.sylixos.com
  这是SylixOS的源码网站,上面能够下载到SylixOS的源码,并且能够访问到bbs的社区。
  
  步骤一:获取SylixOS源码:
  获取base源码:
SylixOS源码下载
  这里面包括sylixos内核代码、外部c库、sqlite源码等。
  获取bsp源码:
  以s3c2440为例。
  2440的bsp源码

  同样可以在SylixOS的RealEvo-IDE中直接创建Base工程和BSP工程,这样也可以直接获取到Base和BSP的源码。

  步骤二:初看SylixOS的目录结构
  SylixOS-base部分,这部分目录结构是这样的,它是涉及到SylixOS内核进程、线程调度最核心的代码。
SylixOS-base的目录结构
  libsylixos是SylixOS的核心内容,这样的目录结构还是很明朗的,熟悉linux的,入门起来应该还是很快的。
SylixOS的os核心目录结构
  SylixOS-2440bsp部分,这里分为bsp、driver和user三个目录:
SylixOS-2440bsp的目录结构
SylixOS-2440bsp的目录结构内部
  bsp目录包含了系统启动代码startup.S、bspInit.c、bspLib.c等。
  driver目录包含了2440上具体实现的iic、tty、mtd、lcd等驱动源码。
  user目录下为t_main用户线程的实现源码。

  这些bsp代码中的具体内容会在后续的移植介绍中具体分析。

步骤三:系统运行实际效果
实际运行效果
  在这里先借助SylixOS的simulator虚拟机展示一下系统运行后的tinyshell命令行,这个tinyshell是作为SylixOS运行后的一个线程t_tshell存在的,通过ts命令可以查看系统中已经构建出来的线程。
ts命令查看线程
  可以看到系统启动后创建了一个t_idle0线程,这个线程的优先级最低(255,和posix相反,posix是数值越大优先级越高),它处于就绪态,但由于它的优先级最低,只有当其他线程都阻塞时,它才会被调度。
  此外可以看到系统启动了t_telnetd线程,这个线程是telnet登录服务的守护进程,也就是说我们可以通过telnet的方式登录当前系统,用户名和密码默认都设置为了root。
  这个t_hotplug线程可以提一下,它是系统中专门为热插拔监测而创建的线程,关于SylixOS热插拔监测的机制,以后会慢慢介绍到的。
  系统中的所有命令可以通过help命令进行查看
help命令
  其它功能各位可以自己探究了,就直观体验来说,和linux的使用是大相径庭的,但是要时刻意识到它里面所运行的系统内核是百分百国产化的产物,它在运行效率上是完全可以和vxworks\rt-thread等实时系统相媲美的。
  在此建议还没能成功移植系统的小伙伴们可以先借助虚拟机了解这个系统,在虚拟机上是完全可以做应用程序开发的,此外如果需要做人机界面的应用,SylixOS也提供了Qt Creator程序,里面已经适配好了SylixOS在arm\x86\mips\ppc四大平台上需要的qt交叉编译工具,是很方便的。

  对SylixOS的初探就介绍到这里,后面会首先从bsp入手,介绍一下bsp的移植步骤,有知识交流的也欢迎和我沟通!

展开阅读全文

没有更多推荐了,返回首页