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”选项卡可以设置编译选项

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

SylixOS操作系统自学经历(一)相关推荐

  1. 一个高中生的编程自学经历

    年轻时的linus 最近,在看雪论坛上看到了一个高中生分享的自学经历,想起我第一次学习编程时候,当年高考后,由于大学选了计算机专业,就好奇去了看一本c语言编程(书是亲戚的)书籍,好奇心驱使我们主动去探 ...

  2. 机械转行java自学经历,零基础学java,血泪总结的干货

    机械转行java自学经历,零基础学java,血泪总结的干货 1.我为什么转行 2.转行之路 3.面试之路 自学路上的网站 Java教程 实践项目一站式学习 bilibili 自学书籍 <Java ...

  3. 翼辉操作系统 linux,2K龙芯派翼辉SylixOS操作系统使用手册.PDF

    2K 龙芯派翼辉 SylixOS 操作系统使用手册 SylixOS 操作系统使用手册 User Manual PM0010010002 V1.00 Date: 2018/03/07 用户使用手册 类别 ...

  4. 安装X86平台的SylixOS操作系统

    1,工具 RealEvo-IDE的"Tools->RealEvo-SylixOS-Installer"启动安装工具. 如上图设置好后,点击左下一键安装SylixOS. 2,日 ...

  5. 个人Java自学经历(半年多,已找到工作)

    相信很多人都想自学java,但是很多人自学又没有从何开始.学到什么样算好这样的头绪,这些问题也深深地苦恼着我. 一般来说有自学和去培训机构2个选择,培训机构的好处就是能在短时间内系统地教授你大量知识, ...

  6. 翼辉操作系统 linux,2K龙芯派翼辉SylixOS操作系统实验手册-翼辉信息.PDF

    2K龙芯派翼辉SylixOS操作系统实验手册-翼辉信息.PDF 目 录 一. 2K 龙芯派设备平台简介 1 1.1 Loongson2K1000 处理器介绍 1 1.1.1 芯片规格 1 1.1.2 ...

  7. 3年Python编程自学经历,分享一些心得经验

    本人是一名纯小白,转行学习Python编程之前,干着一份运营工作,好像跟Python一点边都不搭吧,偶然的机会接触到python,于是开始利用下班空闲时间学起了python.自学了将近三年,有一些学习 ...

  8. 我的java自学经历,土木转行java的

    本人土木工程出身,毕业在深圳混了三年之后(2018年初25岁,同学们可做参考),开始学习java.经过一年鏖战,终于入职.(没有参加培训,可能培训班的同学比我优秀哈).虽说只是入行,但也算是一个对自己 ...

  9. Python爬虫教程(纯自学经历,保姆级教程)

    序言 这是一个系列文章,笔者把从书本,网课,包括博客等多种途径自学爬虫的笔记和心得整理发出.一边是作为一个基础教程,供读者参考,一边也是我自己对笔记的整合,对过程的记录.文章会持续更新 今天是2021 ...

最新文章

  1. php禁止网页抓取,服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站 - 龙笑天下...
  2. *HDU 2108 计算几何
  3. 【Groovy】编译时元编程 ( 编译时方法注入 | 使用 buildFromSpec、buildFromString、buildFromCode 进行方法注入 )
  4. android source镜像源_说要替代安卓的Fuchsia OS,国内镜像上线了!
  5. mac 偏好设置mysql不小心删除了_Mac 安装配置mysql,误删除local下的var和tmp文件夹该如何解决?...
  6. php pcntl 多进程学习
  7. 从C# String类理解Unicode(UTF8/UTF16)
  8. 810B - 牛人是如何工作的
  9. python自学教程-Python学习教程(一)自学资源分享
  10. memcached—Memcache安全性
  11. 【预测模型】基于matlab粒子群算法预测【含Matlab源码 1326期】
  12. windows——JDK下载与安装及环境变量配置
  13. php 中文手册下载
  14. 【一个挺蠢的小东西= =】页面展示富文本编辑器的图片的适配尺寸问题
  15. 微信文章编辑的html在哪里,微信公众号的文章编辑界面在哪里?怎么编辑排版? | 微信公众号指南...
  16. 【Unity】制作动画
  17. 使用MediaRecorder录制音频
  18. 关于mysql的题目_关于MySQL的经典例题50道 答案参考
  19. 计算机信息安全培训计划,信息安全工作计划
  20. 计算机第一启动设置u盘启动,如何进入bios,设置优盘为电脑第一启动顺序

热门文章

  1. 格式化输出编码问题!
  2. C# dataGridView中插入excel表格
  3. 这是?国内跨境电商降本增收营销神器
  4. 从0到1000万:哔哩哔哩直播架构演进史
  5. 【自动驾驶】自动驾驶和手动驾驶的平滑切换控制方案探讨
  6. Android11编译导入PRODUCT_BOOT_JARS
  7. ubuntu依赖库下载(pkgs)
  8. 决策树python实现及常见问题总结
  9. 基于C/C++语言的停车场管理系统编程课程设计超详细
  10. 冷库设计安装前有哪些检查工作