SylixOS

SylixOS块设备驱动开发(三)

SylixOS块设备框架 1. 从功能角度 从功能角度,SylixOS块设备框架大致可以分为5个部分: 用户层的APP通过对文件读写来操作块设备。 各种文件通过内核提供的文件系统进行统一的管理。 文件...
阅读全文
SylixOS

SylixOS BSP开发(十四)

实现BSP中断系统处理接口 这些接口都定义在bspLib.c中,需要BSP开发者根据实际平台去实现这些接口。全志R16使用的arm官方的GICv2版本中断控制器,关于这个控制器硬件上如何使用我们不会在...
阅读全文
SylixOS

(六)SylixOS同步互斥之自旋锁

1.基本作用 在前面我们介绍过互斥锁用于共享资源的互斥访问,但是互斥锁有一个缺点就是资源开销比较大。因为获取互斥锁和释放互斥锁过程中都需要进出内核,如果共享资源自身不是很大的话,比如可能就是修改一个变...
阅读全文
SylixOS

SylixOS内存访问错误解决方法(一)

本文章介绍了一种分析内存错误提示信息,从而找到源码中错误代码位置的方法,为大家排查这类错误提供一种思路,起到抛砖引玉的作用。 1. 测试代码 测试代码如下: #include <stdio.h&...
阅读全文
SylixOS

(一)嵌入式和实时操作系统

1. 计算机系统 在学习SylixOS之前,我们有必要简单了解什么是嵌入式和实时操作系统,下面的这些类别都是按照我自己的理解划分的,可能并不是特别的严谨。这里说的计算机系统包括了硬件系统和软件系统两部...
阅读全文
SylixOS

SylixOS BSP开发(六)

物理内存空间配置 1. 物理内存段配置 SylixOS将物理内存划分成4个区域进行使用:内核代码区,内核数据区,DMA内存区和APP内存区。系统启动开启MMU后会将内核代码区和内核数据区的物理地址和虚...
阅读全文
SylixOS

(二)翼辉三大操作系统

1. SylixOS 1.1 基本信息 按照上一章节的分类,SylixOS属于通用实时操作系统,其市场定位是替换国内VxWorks。在系统结构设计上采用类似VxWorks 5.x的大平板地址设计,也就...
阅读全文
SylixOS

MMU、TLB和CACHE之间不得不说的事

MMU、TLB和CACHE是计算机系统中经常用到同时又经常被忽视的部件,网上关于MMU的资料绝大部分是介绍了其页表的映射方法,但是并没有或者很少介绍计算机系统引入MMU的原因。本帖介绍了引入MMU的两...
阅读全文
SylixOS

SylixOS字符设备驱动开发(四)

SylixOS注册驱动和创建设备文件 上一节我们完成了驱动中的open和close函数功能,并使用这两个函数初始化了demo_fops 这个数据结构,现在我们将驱动注册到系统中,在SylixOS中这是...
阅读全文
SylixOS

RISCV基础开发(十二)

QEMU裸机开发之M模式切换到S模式 从m模式切换到s模式下的代码其实也不是很多,主要是设置"mstatus"和“mepc”寄存器。其实从高特权级别切换到低特权级的思路在各个架构下都差不多,从低级别到...
阅读全文
SylixOS

SylixOS字符设备驱动开发(五)

SylixOS驱动使用和信息查询 在上一节我们学习了如何注册驱动和创建设备文件,现在我们来学习驱动注册后如何在应用层使用驱动和如何查询驱动在系统中的相关信息。 应用层使用设备文件很简单,就是先使用op...
阅读全文