SylixOS

SylixOS网络开发(二)

1.概述 最近调网卡驱动,调的身心俱疲,这里记录一下在调试过程中学习到的网卡驱动相关知识。这个系列文章只关注在SylixOS系统下要让网卡收发数据,需要做什么,会涉及到网络控制器的一些基本硬件知识、驱...
阅读全文
SylixOS

RISCV基础开发(十)

QEMU裸机开发之完善M模式中断处理 前面的章节只对m模式下的中断和异常做了最简单的处理,也就是打印表明确实产生了中断,本章节我们来继续完善“machine_trap”处理函数,如下所示。 #incl...
阅读全文
SylixOS

SylixOS BSP开发(五)

内核启动参数设置 SylixOS内核启动的时候需要传入一些参数以打开、关闭或者设置内核的一些功能组件,这是通过调用API_KernelStartParam 这个接口来实现的: 这些参数根据实际的需要进...
阅读全文
Xv6

Xv6内核分析(十三)

buffer cache分析 1. buffer cache概述 Buffer cache是一个双向循环链表,用于缓存磁盘上的数据以提高性能。使用bread从磁盘上读取数据,使用bwrite将修改的数...
阅读全文
VxWorks

VxWorks内核分析五(转)

本篇博文,我们该谈到Wind内核的内存管理模块了,嵌入式操作系统中, 内存的管理及分配占据着极为重要的位置, 因为在嵌入式系统中, 存储容量极为有限, 而且还受到体积、成本的限制, 更重要的是其对系统...
阅读全文
Xv6

Xv6内核分析(三.1)

main函数之kinit1 1. kinit1概述 物理内存分配器在xv6-book中由详细的描述: 这个函数是用来初始化物理内存分配器的。可以用来分配的物理内存范围是地址空间: 其中end这个标号在...
阅读全文
SylixOS

(三)SylixOS开发环境

最近在学习riscv版本的xv6,加上工作上的一些事情,所以SylixOS入门系列处于停更状态。我发现如果不一直坚持学习或者写文章的话,一段时间后就会松懈下来,到周末能躺床上刷一天的手机==所以做任何...
阅读全文
SylixOS

RISCV基础开发(八)

QEMU裸机开发之M模式中断设置 1. CSR寄存器操作 从本章节开始我们需要对CSR相关寄存器设置,所以将这些寄存器的读写访问封装成一些接口定义在“csr.h”中,这些接口基本都参考自xv6,如下所...
阅读全文
Xv6

Xv6内核分析(十)

spinlock分析 1. initlock spinlock分析spinlock: 主要是初始化锁的状态为0,并记录锁的名字用于调试分析。 2. pushcli和popcli 在xv6中,用spin...
阅读全文