SylixOS

SylixOS BSP开发(二)

引导SylixOS 在学习BSP移植之前,我们先来看看SylixOS是如何被Bootloader引导起来的。我们都知道,任何一种操作系统内核运行之前都需要通过某种方式导入到内存中,然后CPU跳转到内核...
阅读全文
SylixOS

RISCV基础开发(十七)

QEMU OpenSBI 裸机开发之字符打印 1. 编译OpenSBI镜像 前面的章节我们是直接从m模式开发的裸机程序,从本章节开始我们来学习在已经有OpenSBI的基础下进行裸机开发。首先需要下载O...
阅读全文
SylixOS

SylixOS网络开发(三)

1. 概述 本篇章节介绍SylixOS网络驱动不使用零拷贝时的数据是如何传递的。在阅读本篇文章的时候,大家脑海里一定要记住以下这张图: 这张图只是对上一章节中的网络数据流图做了一点小修改。 2. 发送...
阅读全文
SylixOS

RISCV基础开发(七)

QEMU裸机开发之格式化打印 在前面的程序中我们实现了简单的字符串输出函数,在实际使用时,我们还需要进行格式化打印,比如打印某个变量的值,按十进制或者十六进制打印等等,本章节我们在“uart.c”中实...
阅读全文
SylixOS

RISCV基础开发(六)

QEMU裸机开发之打印字符 1.文件结构总览 先整体看下本章节裸机程序的工程文件组成,如下图所示。 address.h:主要定义了一些外设寄存器的基址还有内存基址等。 entry.S:入口文件,主要设...
阅读全文
SylixOS

SylixOS 多核SMP BSP开发(二十三)

在bspInit.c中添加多核启动功能 在本章节中,我们将添加从核启动需要的初始化代码,同样的在主核的处理过程中也需要添加代码来配合多核功能。 1. halModeInit 这个接口是主核和从核进入C...
阅读全文
Xv6

Xv6内核分析(三.8)

main函数之uartinit uart的具体编程知识见8250相关资料。 由代码可知,在初始化了uart之后,调用ioapicenable使能了uart中断,处理中断的cpu设置为了主核???
阅读全文