当前位置: 首页 > 工具软件 > SylixOS > 使用案例 >

SylixOS操作系统自学经历(一)

赏弘
2023-12-01

SylixOS操作系统自学经历(一)

我现在的工作岗位是嵌入式软件工程师,在学习过程中感谢王翾先生,陈洪邦先生,李孝成先生以及其他同事的大力帮助。
在系统学习SylixOS操作系统前我先看了《SylixOS启程之旅》这一门公开课,点开下面链接即可观看:
SylixOS启程之旅

RealEvo——IDE学习心得

Real——Evo简介:
SylixOS 是一款支持对称多处理器(SMP)的大型实时操作系统,支持 ARM、 MIPS、
PowerPC、 x86、 SPARC、 RISC-V 等架构处理器,支持主流国产通用处理器,如飞腾 1500A、
龙芯 2F、龙芯 3A 等。 RealEvo-IDE 集设计、开发、调试、仿真、部署、测试功能于一体,
为 SylixOS 嵌入式开发提供了完整的解决方案。
RealEvo-IDE 的主要功能是 SylixOS 工程管理和程序调试。 RealEvo-IDE 可以创建
SylixOS Base 工程、 创建 SylixOS BSP 工程、 创建 SylixOS App 工程、 创建 SylixOS Shared Lib
工程、 创建 SylixOS Kernel Module 工程及创建 SylixOS Kernel Static Lib 工程等。支持一键
推送调试、 手动启动调式、 通过串口调试、 动态库调试及 Attach 到进程调试,所有调试方
式在多线程调试时都支持 Non-stop 模式。
RealEvo-IDE 运行于宿主机上,通过网络或串口与目标机交互。 RealEvo-IDE 的交叉编
译器在宿主机上编译生成可以在目标机上运行的 SylixOS 镜像文件,交叉调试器实现了宿主
机与目标机之间的前后台调试。

RealEvo-IDE 主要集成以下开发工具:

  1. 针对平台优化的编译工具链;
  2. 强大的多平台模拟器;
  3. 优秀的设计与测试工具;
  4. 性能分析工具;
  5. 代码覆盖率分析工具;
  6. 友好的代码编辑器
  7. 远程系统访问工具

下面直接开始进入学习部分
首先要学会的是创建工程,导入工程和部署工程,随后是调试,设备管理,代码分析。
以Base工程为例,进行创建导入部署。
创建工程:首先选择菜单“File→New→Projec选择“ SylixOS Base”,点击“Next”,进入配置页面。 在“ProjectName”输入框输入工程名,工程名称不允许包含空格,取消勾选“Use default location”,可在默认 Workspace 之外的位置创建工程。点击“Next”进入 Base 类型选择页面,选择“SylixOS Base”类型,这里包括的类型:
“ SylixOS Standard Base”、“ SylixOS DSP Base”、“ SylixOS Lite Base”、“SylixOS Lite DSP Base”、“ SylixOS Tiny Base”

  1. SylixOS Standard Base:可以创建标准 SylixOS Base 工程;
  2. SylixOS DSP Base:可以创建 DSP 类型的 SylixOS Base 工程;
  3. SylixOS Lite Base:可以创建 Lite 类型的 SylixOS Base 工程;
  4. SylixOS Lite DSP Base:可以创建 DSP 类型的 SylixOS Lite Base 工程;
  5. SylixOS Tiny Base:可以创建 SylixOS Tiny Base。

点击“Next”进入 Base 设置页面,设置基础编译选项,含:工具链、调试级别、处理器和浮点处理器设置

工程向导结束后可在“Project Explorer”中看到新建的“ SylixOS”工程,展开可看到libsylixos 和 libcextern 组件的源码。选中新建的“SylixOS”工程,右击选择“Build Project”编译工程,编译时间由系统配置决定,大约需要几分钟,这个几分钟取决于电脑的CPU速度,我的电脑编译整个Base文件用时1小时12分钟(编译后文件夹扩大2个G也就是说编译后生成的文件总大小为2个G,编译是一个一个进行的,编译一个文件也就几Kb的大小,编译的数量可想而知,在这期间我自学了一下shell命令)

之后是导入工程:选择菜单“File→Import”,打开 Import 对话框,选“SylixOS Projects”,点击“Next”按钮进入工程选择界面点击“Browse”按钮,在弹出文件夹选择框中选中工程所在目录,在 Projects 列表中会列出该目录下可被导入的工程名称,选中需要导入的工程,点击“Finish”按钮完成工程导入

修改工程:右键需要修改的工程,选择菜单“Properties”打开工程属性页,选择“SylixOS Project”,在弹出对话框中可以更改“SylixOS Base Project”、“Debug Level”及“Expert Mode Setting”,为了保证通用设置与“SylixOS Base Project”选项指定的 SylixOS Base 工程保持一致,其他选项默认不可更改。点击“ OK”或“ Apply”按钮确认更改, RealEvo-IDE 会自动生成 Makefile 配置。RealEvo-IDE 重新生成工程根目录下的 config.mk 文件,工程根目录下的 config.mk 文件不允许手动修改。
添加源文件,选中工程,选择菜单“ File→New→Source File”弹出新建源文件对话框,在“ Source file”编辑框输入源文件名称,然后点击“ Finish”按钮可创建源文件
选择需要添加头文件路径的工程,右键选择菜单“Properties”,选择“SylixOS Project”下的“Compiler Setting”,点击“Include Path”选项卡,选择所添加头文件的路径,保存设置即可
在需要添加动态库的工程上右击,选择菜单“Properties”,在弹出窗口上点击“SylixOSProject”下的“Linker Setting”,在工作空间中选择要添加的库文件
点击“OK”后,在弹出的对话框“Add path to library path setting?”中选择“是”可以自动添加库文件的路径。如图 4.8,在“Library Path”选项卡可以看到已经加入了添加的库文件路径,在不选中“专家模式”时,编译工程后打开工程目录下的“源文件名.mk”文件,可以看到“Depend library”下自动添加了库文件
动态库添加成功后,会自动在“Library Dependence”页面添加一条依赖库的全路径,该功能用于依赖的库被单独更新后,能够使得依赖该动态库的应用程序重新链接该库;或者依赖该库的应用程序被编译时,能够优先编译该动态库,但这里需要注意一点的是,如果动态库工程与应用程序工程是同一个工程时,需要调整主 Makefile 编译顺序,保证动态库工程优先于应用程序工程调整 lib_demo.mk 在 app_demo.mk之上。

SylixOS Target用于多目标输出。在需要添加 Target 的工程上右击,选择“New”菜单下的“SylixOS Target”,弹出如图 4.11 所示的对话框,在“Project Type”一栏选择工程类型,“Makefile Name”一栏输入新的文件名,点击“Finish”完成创建。
创建完成后,在工程目录下生成了一个“.mk”文件,在该工程的“Makefile”文件里,“Include targets makefiles”列表下自动添加了新建的“.mk”文件,右击生成的“new.mk”文件,选择“Properties”菜单,在该对话框中可以配置“new.mk”依赖的头文件,链接的动态库及源文件。

在专家模式下,新建的源文件,新增的头文件路径,新增的动态库等都需要用户手动设置,主要是修改“源文件名.mk”文件

选择需要设置的工程,右键选择菜单“Properties”,选择“SylixOS Project”下的“CompilerSetting”,点击“Compiler Setting”选项卡可以设置编译选项

随后是调试,设备管理,代码分析等等,这些由于时间问题还没细看,计划下周进行总结。

 类似资料: