讨论:首页
目录 |
入门指南
获得源代码
SylixOS开发者们使用Git服务器管理代码,Git服务器的地址为:http://git.sylixos.com/cgit/
Git服务器上的代码可以分为如下几类:
examples | 示例工程,包括应用程序工程,内核模块工程,库工程 |
examples-bsp | 示例BSP工程 |
librarys | 开源库工程 |
operating-system | SylixOS操作系统工程 |
tools-patch | 工具与补丁等 |
为了下载Git服务器上的代码,你需要一个Git客户端,如果你的PC机操作系统是windows,建议使用TortoiseGit,
安装TortoiseGit
略
下载源代码
创建一个名为sylixos_workspace的目录,进入该目录,打开Git Bash,输入如下命令:
git clone http://git.sylixos.com/repo/libsylixos.git
git clone http://git.sylixos.com/repo/mini2440.git
git clone http://git.sylixos.com/repo/libcextern.git
git clone http://git.sylixos.com/repo/examples.git
git clone http://git.sylixos.com/repo/tools.git
搭建开发环境
SylixOS开源集成开发环境的组成
SylixOS开源集成开发环境由以下组成:
- Eclipse
Eclipse是著名的跨平台开源集成开发环境(IDE),最初主要用来开发Java语言程序,目前亦可以通过插件使其作为C++、Python、PHP等其他语言程序的开发工具。
Eclipse本身只是一个框架平台,但是有众多插件的支持,使得Eclipse拥有较佳的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。
- CDT
CDT是扩展Eclipse支持C/C++开发的插件。
- GNU Tools for ARM Embedded Processors
GNU Tools for ARM Embedded Processors是一套GNU的开发ARM处理器程序的工具集。
- Zylin CDT
Zylin CDT是扩展Eclipse支持嵌入式远程调试的插件。
SylixOS开源集成开发环境整体结构框图:
SylixOS开源集成开发环境的搭建
- 安装Eclispe CDT
我们可以在 http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/keplersr2 下载Eclipse CDT,根据你的主机操作系统类型,下载对应的压缩包。
由于我的主机操作系统是64位的windows7,所以我下载的压缩包是eclipse-cpp-kepler-SR2-win32-x86_64.zip,把它解压到D:\SylixIDE目录。
解压完成后,进入D:\SylixIDE\eclipse目录,将eclipse.exe发送到桌面快捷方式以方便后续使用。
- 安装GNU Tools for ARM Embedded Processors
它的下载页面是https://launchpad.net/gcc-arm-embedded/+download 根据你的主机操作系统类型,下载对应的安装包。 由于我的主机操作系统是64位的windows7,所以我下载的压缩包是gcc-arm-none-eabi-4_7-2013q1-20130313-win32.exe。 把它安装到D:\SylixIDE\arm-none-eabi-gcc目录。 注意要在完成界面那里勾选Add path to environment variable。
安装完成后,需要新建一用户环境变量,变量名为SYLIXOS_GCC,变量值为D:\SylixIDE\arm-none-eabi-gcc:
- 安装yagato tools
现在还缺少make等工具,到www.yagarto.de下载yagato tools:
把下载的yagarto-tools-20121018-setup.exe安装到D:\SylixIDE\yagarto-tools-20121018目录,注意要在选择组件界面那里勾选Add the make utils to the PATH variable。
- 替换reent.h文件
由于SylixOS修改了reent.h文件,使用编译器自带的reent.h文件将不能编译成功,在TODO可以下载修改后的reent.h文件,请同时下载sylixos_ref.epf文件。 把下载的reent.h放入D:\SylixIDE\arm-none-eabi-gcc\arm-none-eabi\include\sys目录替换原有的。
- Zylin CDT
最后重新启动Eclipse。 恭喜,你已经将SylixOS开源集成开发环境搭建成功。
编译工程
开发应用程序
开发内核模块
开发驱动程序
进阶教程
Bugzilla简明使用手则
简介:
Bugzilla是Mozilla公司向我们提供的一个开源的免费缺陷跟踪工具。作为一个产品缺陷的记录及跟踪工具,它能够为你建立一个完善的Bug跟踪体系,
包括报告Bug、查询Bug记录并产生报表、处理解决、管理员系统初始化和设置四部分。并具有如下特点:
- 基于Web方式,安装简单、运行方便快捷、管理安全。
- 有利于缺陷的清楚传达。本系统使用数据库进行管理,提供全面详尽的报告输入项,产生标准化的Bug报告。提供大量的分析选项和强大的查询匹配能力,
能根据各种条件组合进行Bug统计。当错误在它的生命周期中变化时,开发人员、测试人员、及管理人员将及时获得动态的变化信息,允许你获取历史纪录, 并在检查错误的状态时参考这一记录。
- 系统灵活,强大的可配置能力。Bugzilla工具可以对软件产品设定不同的模块,并针对不同的模块设定开发人员和测试人员;这样可以实现提交报告时自动发给指定的责任人;
并可设定不同的小组。设定不同的用户对Bug记录的操作权限不同,可进行有效的控制管理。允许设定不同的严重程度和优先级,可以在错误的生命期中管理错误, 从最初的报告到最后的解决,都有详细的记录,确保了错误不会被忽略,同时,可以让开发人员将注意力集中在优先级和严重程度高的错误上。
- 自动发送Email通知相关人员。根据设定的不同责任人,自动发送最新的动态信息,有效的帮助测试人员和开发人员进行沟通。
Bugzilla操作流程:
- 用户登录及设置流程:
- 打开浏览器,输入Bugzilla服务器地址:http://server/bugzilla/
- 进入主页面后,点击【新建帐号】,进入注册页面。
- 在注册页面中输入E-Mail地址和用户代号,然后,点击【Create Account】,随后,你将收到一封包含初始密码的E-Mail。
- 在收到E-Mail之后,点击【登录】,在帐号栏输入注册时使用的E-Mail地址,在密码栏输入邮件里通知的初始密码,然后,点击【Login】。
- 如忘记密码,在登陆页面中输入注册用户名,点击【Submit Request】,根据收到的邮件进行重新设置密码。
- 如果成功登录后,点击【Edit属性】->【帐号设置】,进行密码修改。
- 点击【Edit属性】->【邮件设置】,进行邮件通知设置。
- 点击【Edit属性】->【权限】,进行权限查询。
- Bug的处理流程概述:
- 测试人员或开发人员发现bug后,判断属于哪个模块的问题,填写bug报告后,通过Email通知项目组长或直接通知开发者。
- 项目组长根据具体情况,重新reassigned分配给bug所属的开发者。
- 开发者收到E-Mail信息后,判断是否为自己的修改范围。
- 若不是,重新reassigned分配给项目组长或应该分配的开发者;
- 若是,进行处理,resolved并给出解决方法。(可创建补丁附件及补充说明);
- 测试人员查询开发者已修改的bug,进行重新测试。(可创建test case附件)
- 经验证无误后,修改状态为VERIFIED。待整个产品发布后,修改为CLOSED。
- 还有问题,REOPENED,状态重新变为“New",并发邮件通知。
- 如果这个BUG一周内一直没被处理过。Bugzilla就会一直用E-Mail骚扰它的属主,直到采取行动为止。
- 一个Bug的生存周期图示:
- 测试人员报告Bug的流程:
- 请先进行查询,确认要提交的bug报告不会在原有纪录中存在,若已经存在,不要提交,若有什么建议,可在原有纪录中增加注释,告知其属主,让bug的属主看到这个后自己去修改。
- 若Bug不存在,创建一份有效的bug报告后进行提交。
- 具体操作:点击【新建】,选择产品后,填写一个Bug报告的表格。填表注意:【指派给】为空则默认为设定的owner, 也可手工制定。【抄送】可为多人,需用逗号隔开。【描述】中要详细说明下列情况:
- 发现问题的步骤;
- 执行上述步骤后出现的情况;
- 期望应出现的正确结果。
- 【平台】、【操作系统】、【优先级】、【严重级】,可以根据具体情况自行选择。
- 【依赖】是指与这个新Bug有关联的Bug号码。
- 【Blocks】不太清楚J
- 填写完毕之后,点击【Commit】提交,发送邮件通知给相关人员。
- Bug的不同处理状态解释:
- Bug的属主(owner)确认并接受这个Bug,然后给出解决方法,并填写【附加说明】,还可以【建立新的附件】(如:更改提交单)等等。
- 开发人员可以调整的Bug状态如下:
- FIXED => 描述的问题已经修改;
- INVALID => 描述的问题不是一个bug (输入错误后,通过此项来取消);
- WONTFIX => 描述的问题将永远不会被修复;
- LATER => 描述的问题将不会在产品的这个版本中解决;
- DUPLICATE => 描述的问题是一个存在的bug的复件;
- WORKSFORME => 所有要重新产生这个bug的企图是无效的。如果有更多的信息出现,请重新分配这个bug,而现在只把它归档。
- 测试人员收到Bug的修改通知之后,还可以做如下的调整:
- Leave as RESOLVED FIXED => 保持FIXED状态不变;
- Reopen bug => 这个bug还有问题,重新打开;
- Mark bug as VERIFIED => 这个bug确实被正确修改了;
- Mark bug as CLOSED => 产品已经发布,将这个bug关闭。
- 关于权限的说明:
- 组内成员对bug具有查询的权利,但不能进行修改。
- Bug的owner 和 reporter 具有修改的权利。
- 具有特殊权限的用户具有修改的权利。