自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 OpenHarmony学习 LiteOS研究篇(1) 新年新篇章

我在学生时代,那时候嵌入式还是新名词,做东西普遍使用单片机,工程师个个从硬件到软件都能做,后来ARM7 Cortex A这些高性能处理器没两年就开始流行了,很多产品也开始上了系统,Linux、Android、WinCE等等,那个时候年轻,对技术有热情,顺着潮流学习了这些,没有被时代淘汰。但我还是想先从自己擅长的领域开始学,这样动力稍稍足一些,因此,我把目光放在了OpenHarmony系统,主要还是觉得华为的热度足够大,有点抱大腿的想法。想着每天学一些新的知识,安慰一下自己,用记录的方式来督促。

2024-01-02 17:38:55 490

原创 国产化实时操作系统研究之旅8.4-操作系统使用体验之协程

协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快。SylixOS 协程协程,又称作协同程序是比线程还小的可执行代码序。一个线程内可以拥有多个协程,这些协程共享线程除了栈之外的所有资源,例如优先级、内核对象等。由于线程内的所有协程共享线程本身的内核对象,所以调度器本身并不知道协程的存

2021-06-06 12:21:16 314

原创 国产化实时操作系统研究之旅8.3-操作系统使用体验之线程

线程由线程句柄(或 ID)、当前指令指针(PC)、CPU 寄存器集合和线程栈组成。每一个线程都是操作系统调度的单位。线程本身只拥有有限的、在运行中必不可少的资源,例如 CPU 寄存器与栈等。内核线程共享内核所有资源,例如内核文件描述符表,而进程内线程则共享使用进程内所有资源,例如进程文件描述符表。一个 CPU 在一个时刻只能运行一个线程(多 CPU 系统可同时运行多个线程),如果系统中存在多个线程,则 CPU 需要在几个线程之间切换运行,从宏观上来看相当于多个线程并发执行。CPU 什么时刻运行哪一个线程是由

2021-06-06 12:20:20 338 1

原创 国产化实时操作系统研究之旅8.2-操作系统使用体验之I/O

I/O 系统又称作输入输出系统,SylixOS 兼容 POSIX 标准输入输出系统,SylixOS 的 I/O概念继承了 UNIX 操作系统的 I/O 概念,认为一切皆为文件。与 UNIX 操作系统相同,SylixOS中的文件也分为不同的类型。文件类型SylixOS 系统最常见的是普通文件和目录文件,但也有另外一些特殊文件类型,这些文件类型包括以下几种:普通文件,这是最常见的文件类型,这种文件包含了某种形式的数据。这种数据无论是普通文本还是二进制,对于 SylixOS 来说没什么区别。需要注意的

2021-06-06 12:19:31 274 1

原创 国产化实时操作系统研究之旅8.1-操作系统使用体验之Shell

本文大部分内容截取帮助文档。Shell 是操作系统“外壳”程序,它向使用者提供了一个基于命令行类型的使用界面,也可称作命令解析器,系统开发人员通常使用此接口来操作计算机。几乎所有的操作系统都包含 Shell 程序,例如:Linux 系统中较为常见的 Shell 是 Bash 程序,Windows 系统中的 Shell程序是 cmd.exe。SylixOS 也不例外,SylixOS 也包含自己的 Shell 程序:ttinyShell。ttinyShell 程序是系统开发人员操作 SylixOS 操作系统

2021-06-06 12:18:28 387 1

原创 国产化实时操作系统研究之旅7.3-操作系统启动初探

7.2文章中说明了如何编译内核并在虚拟机中启动,发现内核事BSE和BSP工程源码结合生成的。因此研究内核的启动流程应当结合BSP代码和BASE工程代码一起看。因为源码项目是基于GNU工具集构建的,项目工程管理依赖Makefile, 因此内核入口可以通过lds文件分析。BSP工程中的lds文件上图找到项目编译的BSP文件,可以看出项目源码入口是从vector段为入口的。vector段位于BSP源码startup.S中。系统关狗->初始化ARM各模式堆栈-&gt..

2021-05-30 16:00:52 245

原创 国产化实时操作系统研究之旅7.2-编译内核并运行在自制QEMU虚拟机

研究内核原理前需要提前对内核有个感性的认识,本文介绍笔者自己动手编译SylixOS内核并运行在自己编译的虚拟机平台上。简介:编译SylixOS内核与Linux还有有点区别。Linux运行由Kernel与根文件系统两部分组成,SylixOS内核中集成了根文件系统,因此只需要编译出一个内核镜像即完成了操作系统最小系统运行环境。文件系统中的软件、库等都可以动态部署。创建内核镜像步骤很简单只需要三步:创建Base工程 创建Bsp工程,Bsp工程生成内核BIN文件 用flashimg工具将uboot和

2021-05-30 15:59:19 517

原创 国产化实时操作系统研究之旅7.1-自己动手用 qemu制作虚拟机

SylixOS的虚拟机是基于Qemu做的,为了更好的理解操作系统镜像加载的执行原理,决定自己动手制作一个简易的基于mini2440的虚拟机。后面再写虚拟机原理专题。本文借鉴了其他网友的文章。虚拟机:VMware® Workstation 15 Pro操作系统:Ubuntu 12.04 32位用的ubuntu比较古老,这个虚拟机最大的问题是默认gcc版本比较低,后面计划升级到ubuntu16.04。编译安装QEMU首先下载qemu for mini2440,直接打包下载http://.

2021-05-30 15:58:06 716

原创 国产化实时操作系统研究之旅7-软件虚拟机平台简介

前几篇文章讲解了SylixOS的开发环境。在开发环境中验证系统和软件利用的是IDE中带的仿真器,该仿真器实质上是一个软件虚拟机,从界面上看该虚拟机可以虚拟多种硬件平台和处理器。SylixOS 虚拟机界面mini2440平台虚拟机界面以mini2440平台为例,该虚拟机已经集成好了kernel镜像和文件系统镜像。刚上手时可以直接运行虚拟机验证应用软件。但是对于技术流的我,要研究的是操作系统内核,所以我更加关心的是如何制作自己的操作系统内核镜像和文件系统镜像。经过深入研究,该虚拟机是基于

2021-05-30 15:57:06 367

原创 国产化实时操作系统研究之旅6-Linux与SylixOS 实时操作系统的诉求

本文主要根据本人在项目中的心得体会随笔谈谈为什么要研究SylixOS操作系统。开发嵌入式系统使用操作系统的优点,我想我不必多说了,开发过的人自然有体会。我以前使用过的嵌入式操作系统也不少,从早期的ucOS、Linux、vxWorks,中间还使用过WinCE, Android做过项目。与PC端操作系统的统一局面,嵌入式市场设备量级远远大于PC端,而且嵌入式设备的应用场景不像PC那样统一,因此不管是厂商还是个人都想在嵌入式操作系统方面分一杯羹,于是现在的嵌入式操作系统市场真的是百家争鸣百花齐放。由于本人

2021-05-30 15:56:11 893

原创 国产化实时操作系统研究之旅5-SylixOS mini2440平台基础建立工程

任何理论研究都是从实践开始的,本文主要描述的是依照mini2440平台建立工程来体验IDE的工作原理。篇幅有限,本文只介绍工程建立方法、每个步骤的原理后续都有文章剖析。为什么选择mini2440平台?SylixOS支持多种处理器同时支持很多开发板,我自己现在研究的是2K1000龙芯和DSP6678平台。为什么会选择mini2440这个ARM平台,原因主要有以下几点:在众多硬件平台中ARM的受众面广一些,尤其是分析内核调度方面需要一些汇编语言,选ARM作为切入点会好一些 MINI2440核心处理

2021-05-30 15:55:12 850

原创 国产化实时操作系统研究之旅4-SylixOS集成开发环境RealEvo初识

SylixOS作为开源的操作系统,本以为是在Linux环境下开发,估计是为了方便开发人员,SylixOS为用户提供了Windows平台下的集成开发环境RealEvo。RealEvo环境下可以完成内核构建、应用软件开发、模块开发、远程调试、性能分析等功能。该IDE不提供下载地址,必须在官网注册申请,官方会发送IDE下载地址和注册码到邮箱。我从申请到收到下载地址等了一天的时间。我拿到的软件版本是SylixOS IDE 3.11.0_experience。话不多说,直接解压安装,最好安装到固态盘中,解压安

2021-05-30 15:53:42 1566 2

原创 国产化实时操作系统研究之旅3-SylixOS源码结构

SylixOS操作系统开源,代码可从官方网站首页直接下载最新代码包,避免有打广告的嫌疑,链接就不放了,感兴趣的可以自行搜索。我下载的是最新版本的sylixos-base-v183.zip,解压缩,代码项目可以使用eclipse直接打开。代码结构如下图:从代码结构上看可以看出目前操作系统的代码完整程度,这款备受我期待的操作系统到底是噱头还是有真材实料,从今天开始让我一探究竟。libsylixos目录:操作系统核心代码,目录结构如下从目录结构上看,操作系统核心代码的功能还是比..

2021-05-30 15:52:23 1494 1

原创 SylixOS 技术简介

以下是SylixOS基本特性,SylixOS源码大家可以到官方网站下载。基本功能1. 支持任务管理,支持256个任务调度优先级,实现基于优先级的抢占式调度和同优先级的时间片轮转调度算法;2. 支持多核SMP软件架构,支持任务统一管理,并支持任务对特定核的亲和度调度策略;3. 支持中断管理;4. 支持信号量、消息队列、管道、共享数据结构、事件和异步信号机制,满足任务间通信以及同步和互斥;5. 支持MMU内存管理;6. 支持时钟和定时器管理;7. 支持异常管理..

2021-05-30 15:50:18 3299 1

原创 国产化实时操作系统研究之旅

本人十年以上嵌入式开发经验,擅长ARM Linux 平台下的硬件设计、操作系统开发、驱动开发、应用软件开发。积累了大大小小上百个项目经验。硬件平台涉及 Samsung 系列处理器、Atmel 926x 系列、Ti Am33xx 系列\81xx 系列、Freescale i.Mx6 系列、海思3359系列处理器,DSP6678、2K1000处理器。目前正致力于研究国产飞腾系列、龙芯 MIPS 架构方面的硬件开发和操作系统开发。操作系统擅长 Linux 内核的开发和驱动开发,对 uC/OS、vxWorks、天脉

2021-05-30 15:49:10 1545

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除