- 博客(16)
- 资源 (1)
- 收藏
- 关注
原创 SylixOS Shell使用
什么是ShellShell是操作系统“外壳”程序,它向使用者提供一个基于命令行类型的使用界面,也可称作命令解析器,系统开发人员常使用此接口来操作计算机。几乎所有的操作系统都包含shell程序,例如Linux系统中较为常见的shell是bash程序,Windows系统中的shell程序是cmd.exe。SylixOS也不例外,SylixOS也包含自己的shell程序:ttinyShell
2015-08-31 10:02:21 2816
原创 SylixOS入门指南--架设开发环境
本文编辑环境本文在windows7(64位)上使用Google Chrome浏览器编辑,为保证截图效果,所有截图均使用PicPick截取,windows7使用Windows 7 Base主题,即关闭了Aero特效。本文目的本文目的在于帮助SylixOS爱好者获得SylixOS操作系统源代码、搭建开源的SylixOS集成开发环境、编译及调试SylixOS操作系统。
2015-08-31 10:00:42 9403 3
原创 使用eclipse调试SylixOS应用
目录 [隐藏] 1 说明2 编译下载程序3 启动debug服务器4 配置gdb5 开始调试6 调试共享库7 non-stop模式说明本文描述SylixOS应用程序调试方法,文中examples应用程序实例参考入门指南中“5.6 编译examples工程”章节。编译下载程序需确认gcc优化调试选项设置为“-O0 -g3”。本
2015-08-31 09:56:49 1107
转载 Couldn't reserve space for cygwin's heap, Win32 error 487 解决办法
一开始,装上netbeans时,要求编译器,于是,我选用了codeblocks的MingW的gcc,g++编译器。想用它的make,但是显示不支持MingW的make。于是,我试了一下别的make.exe(似乎不能在有空格的路径下,能否放在中文路径名下倒未曾考证),这时make倒是能用,不过总提示些问题。提示如下:AllocationBase 0×0, BaseAddress 0x715B
2015-08-19 14:49:20 4430
原创 SylixOS Makefile分析
RealCoder在生产SylixOS工程时会生成Makefile,为了保持SylixOS构建系统的灵活性,生成的Makefile文件是允许用户手动修改的。当需要在工程中添加或删除文件时,必须手动修改Makefile文件。本节主要分析SylixOS Makefile文件,便于用户在使用过程中修改定制SylixOS的构建功能。1.1 SylixOS目录结构Makefile和目录结构息息相关,
2015-08-19 14:10:33 1392
原创 SylixOS动态加载器系列文章(7) ARM体系结构相关
SylixOS加载器目前主要运行于ARM平台,所以本系列文章最后介绍一下和ARM体系结构相关的处理。 cache处理加载器对ELF文件的处理通过数据cache进程,而ELF文件在执行时cpu通过指令cache寻址。在数据cache和指令cache分开的体系结构中,会出现数据cache和指令cache不同步的情况。SylixOS在重定位工作完成后(这时意外着对ELF文件内存指令块的修改已经完
2015-08-14 19:59:15 896
原创 SylixOS动态加载器系列文章(6) C++支持
全局对象构造函数和析构函数前面文章已有说明,c++全局对象构造/析构函数在内核模块和共享库中的处理方式不一样。内核模块中由加载器按节名称查找,应用程序和共享库中在dynamic段中查找。然后在模块初始化和销毁阶段调用。静态局部对象c++静态局部对象的构造和析构流程则要比全局对象复杂很多,主要原因是不确定静态局部对象在何时构造。静态局部对象在第一次访问时构造,构造时会调用__cxa_at
2015-08-06 16:39:28 880
原创 SylixOS动态加载器系列文章(5) 应用程序加载原理
SylixOS动态加载器系列文章(5) 应用程序加载 前面介绍了SylixOS内核模块的加载,现在我们再来介绍下SylixOS应用程序和共享库的加载。应用程序和工程库是前面所说的位置无关ELF。是拥有段试图的ELF文件,相比内核模块文件,位置无关ELF文件更加便于加载,加载器无需再去拼接节,生成bss和common节以及计算,内存空间计算算法也要简单很多。但是应用程序加载要求加载器
2015-07-31 16:33:51 1204
原创 SylixOS进程介绍
进程介绍进程是操作系统中资源的容器,所有程序都必须依附于一个进程运行,进程管理程序的代码、数据、线程、信号量等资源。当一个进程销毁时,所有属于该进程的资源也会被销毁,如:文件句柄、socket套接字、线程等。SylixOS支持进程,就如前面介绍的一样,SylixOS进程管理应用程序资源。与linux、Windows操作系统不一样的是,SylixOS是充分考虑实时系统需求设计的,我们称之为实
2015-07-24 11:17:04 1928 1
原创 SylixOS动态加载器系列文章(4) 内核模块加载原理
通过前面ELF格式章节我们已经知道内核模块文件的特点,它只有节区视图,很多链接工作尚未完成,但也给内核模块加载器带来了更大的操作空间。加载器可以精确控制每个节区的地址以及每个符号的位置。本系列文件我们虽然着重介绍SylixOS加载器,但linux的加载流程和SylixOS大部分相似,但是也有不同点,本文也将在一些不同的地方加以说明。内核模块的加载流程如下:1、 读取ELF文件到内存。2、
2015-07-11 15:23:06 1227
转载 SylixOS系统简介
SylixOS是一款嵌入式硬实时操作系统,同其类似的操作系统,全球比较知名的还有VxWorks(主要应用于航空航天、军事与工业自动化领域)、RTEMS(起源于美国国防部导弹与火箭控制实时系统)、ThreadX(主要应用于航空航天与数码通讯)等。 从全球范围上看,SylixOS作为实时操作系统的后来者,在设计思路上借鉴了众多实时操作系统的设计思想,其中就包括RTEMS、VxWorks
2015-06-30 16:32:47 5128
原创 SylixOS动态加载器系列文章(3) 使用API及shell命令
SylixOS兼容posix标准,所有动态库API也使用posix标准的API接口。动态库常用API1. 加载动态库程序运行过程中动态加载库的函数原型如下:#include dlfcn.h>void *dlopen (const char *pcFile, int iMode); 函数原型分析:l 返回加载完成后的模块句柄,如果失
2015-06-30 15:44:20 1012
原创 SylixOS动态加载器系列文章(2) 功能介绍
本文介绍SylixOS加载器的功能和APISylixOS中的ELF文件SylixOS中的ELF文件有以下几种:l 内核模块文件(*.ko)。内核模块文件由源文件编译得到的目标文件链接生成,属于“可重定位文件”。l 可执行文件。SylixOS可执行文件由编译得到的目标文件链接生成,是一种位置无关的“共享目标文件”,应用程序文件必须指定程序入口。l 动态链接库文件(*.so)
2015-06-30 15:31:28 1422
原创 SylixOS动态加载器系列文章(1) ELF文件格式
本文不描述ELF格式细节,而按照程序编译、链接、加载步骤中对ELF文件的处理流程来分析ELF文件。我不会去罗列一个ELF文件中有哪些数据结构,我只关心一个程序从编译到运行需要在ELF文件中保存写什么。ELF文件里具体保存了哪些内容?在我看来,ELF文件中保存的无非就是几类信息:数据集、指令集、指令对数据的引用关系以及指令集间的调用关系。
2015-06-24 20:48:48 1392
转载 SylixOS ARM BSP 文件结构
SylixOS 是国人自己开发的开源实时操作系统,该系统符合 IEEE1003 POSIX 操作系统规范,功能强大开发便利,系统主页:www.sylixos.com此篇博客为 SylixOS BSP 编写连载的第一篇,力求以深入浅出的方法介绍 SylixOS ARM BSP 的编写方法。SylixOS BSP 分为两大部分:基础支持程序
2015-06-19 10:38:49 1442
原创 wince槛外人窥探--存储布局
首先我想声明的是我没有开发过wince应用系统,没有任何实践经验,所以说我是槛外人。下面是我在wince存储布局方面的一些学习心得,由于一些结论我无法证实,所以我将他们归结为猜想,仅供参考,写出来希望众高手指正。Bootloader wince使用的bootloader最常见的当属eboot,这是微软提供的bootloader,其功能强大,支持分区,binfs等功能。但是正因
2009-08-19 22:36:00 1225 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人