SylixOS

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

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

SylixOS PCIe控制器驱动开发(五)

SylixOS注册PCIe控制器驱动 PCIe驱动主要分为两大类,PCIe控制器驱动和PCIe设备驱动。PCIe控制器驱动主要负责配置空间读写方法的实现、中断号获取和BAR地址自动配置功能,设备驱动根...
阅读全文
SimpleOS

SimpleOS开发(2)简单打印

1. 设计思路 全志D1芯片fel模式下会初始化好串口为115200波特率,所以我们的思路是封装好串口发送数据接口来使用即可,而无需再去设置串口的波特率等寄存器,从而简化代码。 1.1 启动文件 启动...
阅读全文
SylixOS

SylixOS PCIe设备驱动开发(十二)

SylixOS PCIe设备ID匹配 我们知道声卡有声卡的驱动,网卡有网卡的驱动,那么我们在加载声卡驱动的时候,系统是怎么知道当前的驱动是给声卡这个设备用的而不是给网卡用的呢?这就是通过驱动中定义的设...
阅读全文
SylixOS

RISCV基础开发(三)

中断和异常处理 在RISCV架构设计中,有一系列的控制和状态寄存器( Control and Status Registers)简称CSR,在三种特权级别下都有其对应的CSR,比如m模式下的命名都为m...
阅读全文
SylixOS

SylixOS BSP开发(十)

实现串口SIO驱动(二) 在实现SIO驱动操作集之前,我们先来学习下SylixOS下标准输出、标准输入、标准出错时如何工作的: 标准输出:当程序中使用printf打印信息时,就是往系统标准输出上输出信...
阅读全文
SimpleOS

SimpleOS开发(8)改进进程调度

1. 系统接口名称修改 为了方便使用系统接口以及辨识系统接口,需要将系统接口的命名进行规范。这里的系统接口是指通用功能接口,比如开关中断、申请释放内存等等,simpleos采用简单的"os_"前缀来命...
阅读全文
SylixOS

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

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