主要记录一些驱动开发或者应用开发中比较重要的知识点,不定期更新。 1. 串口缓冲区大小设置 在创建串口设备时,一般使用的是下面这个接口: INT API_TtyDevCreate (PCHAR pcN...
SylixOS内存访问错误解决方法(二)
解决方法(一)介绍的方法比较麻烦,因为需要反汇编要排查文件,当文件比较大时,反汇编的时间就会很长,而且打开一个很大的文件在性能较差的电脑上也需要较长时间,下面介绍一种更简便的方法。 1. 测试代码 测...
SylixOS网络开发(三)
1. 概述 本篇章节介绍SylixOS网络驱动不使用零拷贝时的数据是如何传递的。在阅读本篇文章的时候,大家脑海里一定要记住以下这张图: 这张图只是对上一章节中的网络数据流图做了一点小修改。 2. 发送...
SylixOS网络开发(四)
1. 概述 本章节讲述网络零拷贝技术的基本原理,需要知道的一个前提条件是,零拷贝可能不会提升网络驱动收发数据的速度,对不同的平台需要具体的分析,不能一概而论。 2. 发送零拷贝 我们来看看上一章节中的...
SylixOS块设备驱动开发(七)
虚拟块设备驱动源码 #define __SYLIXOS_KERNEL #include <SylixOS.h> #include <module.h> #include <...
SylixOS PCIe控制器驱动开发(六)
SylixOS读写PCIe设备配置空间 在上一节中,我们知道注册控制器驱动后,SylixOS会遍历所有总线上的设备信息,这是通过读取设备的配置空间信息实现的。SylixOS中配置空间的读写都是通过调用...
SylixOS PCIe开发(三)
1. SylixOS主控驱动支持多个控制器 SylixOS中的pci框架目前只支持单个控制器,如果需要在主控驱动中支持多个控制器,就需要将多个控制器虚拟成一个控制器给SylixOS。 在vx下用户的p...
SylixOS 应用移植指导——以Redis5.0.3为例(一)
本文章致力于指导有一定SylixOS开发基础的用户进行中大型应用软件移植。 没有SylixOS应用开发基础的建议先参考IDE自带的《RealEvo-IDE使用手册.pdf》,了解SylixOS IDE...
SylixOS PCIe设备驱动开发(十)
SylixOS PCI相关shell命令使用 SylixOS下可以使用一些命令来查看PCI设备的信息,具体使用方法请看下面介绍。 1. pcis命令 pcis 命令是SylixOS内核自带的shell...
全志D1开发(二)添加串口驱动
1. 基础功能修改 1.1 创建base,导入BSP工程 根据全志D1的架构说明,创建base时选择如下: 创建完成后base中的libsylixos版本比较低,内核中的riscv架构是不支持全志D1...
SimpleOS开发(1)环境准备
1. 项目简介 基于全志D1开发板开发一个类UNIX系统来学习操作系统开发相关知识,设计上会参考xv6和SylixOS,并且是从最底层开发,也即不使用uboot或者opensbi之类的引导程序,而是直...
SylixOS网络开发(五)
1. 发送零拷贝问题 某SOC是四核A9平台,网络控制器是dw,不使用发送零拷贝的tcp发送带宽是93M/s,使用发送零拷贝之后的发送带宽竟然降低到了20M/s。最后查出的原因是用发送零拷贝时需要ca...