SylixOS

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

SylixOS字符设备操作之open和close 在第一节我们学习过在应用层如何操作普通的文件,就是通过open、close、read、write这些接口,普通文件是存放在具体的存储设备上的,所以从某...
阅读全文
SylixOS

RISCV基础开发(一)

指令集和寄存器 1. 写在前面的话 本系列文章旨在通过十几个裸机程序开发逐渐熟悉RISCV架构,包括其重要的系统寄存器使用方式、中断和异常处理机制等等。本系列不是RISCV汇编语言教程,不会专门的讲解...
阅读全文
SylixOS

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

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

SylixOS PCIe开发(二)

1. 概述 本篇文章主要介绍不同平台下pci设备配置空间的访问方法,总的来说,pci设备的配置空间有两种访问方式: 配置寄存器访问 ECAM访问 2. 配置空间寄存器 pci配置空间寄存器大小为256...
阅读全文
SylixOS

全志D1开发(一)准备工作

1. 概述 本系列文章带领大家了解如何为全志D1芯片开发SylixOS BSP,D1芯片虽然是riscv架构的,但是其中采用的一些外设模块和我们之前为全志R16开发过的是一样的,所以驱动代码基本可以直...
阅读全文
SylixOS

SylixOS BSP开发(十八)

高精度时间修正 1. TICK工作原理 其实这应该说“定时器工作原理”更合适些,1个系统tick就是一个定时器硬件中断,全志R16定时器的工作原理很简单,就是内部有一个递减的计数器,当减到0时产生一个...
阅读全文
SylixOS

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

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

SylixOS BSP开发(十七)

bspLib.c其他接口介绍 经过前面的学习,我们已经实现了bspLib.c中的中断和TICK相关的接口,在这个文件中还有一些其他的接口,下面我们就一起来看看这些接口的功能。 1. BSP信息获取相关...
阅读全文