SylixOS多核启动体验 重新编译SylixOS进行引导启动,启动后可以通过ts 命令查看t_idle线程的个数来判断当前系统中有几个核: 另外还可以通过cat /proc/cpuinfo 命令来查...
SylixOS PCIe开发(二)
1. 概述 本篇文章主要介绍不同平台下pci设备配置空间的访问方法,总的来说,pci设备的配置空间有两种访问方式: 配置寄存器访问 ECAM访问 2. 配置空间寄存器 pci配置空间寄存器大小为256...
(一)嵌入式和实时操作系统
1. 计算机系统 在学习SylixOS之前,我们有必要简单了解什么是嵌入式和实时操作系统,下面的这些类别都是按照我自己的理解划分的,可能并不是特别的严谨。这里说的计算机系统包括了硬件系统和软件系统两部...
SylixOSIP7开源项目
1. iPhone7简介 iPhone 7是Apple(苹果公司)的第10代手机,北京时间2016年9月8日凌晨1点在美国旧金山比尔·格雷厄姆市政礼堂2016年苹果秋季新品发布会上发布。 2. Syl...
RISCV基础开发(八)
QEMU裸机开发之M模式中断设置 1. CSR寄存器操作 从本章节开始我们需要对CSR相关寄存器设置,所以将这些寄存器的读写访问封装成一些接口定义在“csr.h”中,这些接口基本都参考自xv6,如下所...
SylixOS块设备驱动开发(五)
块设备读写和控制 在初始化块设备数据结构的时候,有几个回调函数需要初始化: pdev->BLKD_pfuncBlkRd = vdisk_read; pdev->BLKD_pfuncBlkW...
SimpleOS开发(3)添加Cache操作接口
1. 实现Cache操作接口 在系统启动过程中需要使能icache和dcache来提高系统整体性能,并且后续别的系统模块也需要操作cache比如回写cache、失效cache等等,所以需要封装出cac...
(六)SylixOS同步互斥之自旋锁
1.基本作用 在前面我们介绍过互斥锁用于共享资源的互斥访问,但是互斥锁有一个缺点就是资源开销比较大。因为获取互斥锁和释放互斥锁过程中都需要进出内核,如果共享资源自身不是很大的话,比如可能就是修改一个变...
SylixOS内存访问错误解决方法(二)
解决方法(一)介绍的方法比较麻烦,因为需要反汇编要排查文件,当文件比较大时,反汇编的时间就会很长,而且打开一个很大的文件在性能较差的电脑上也需要较长时间,下面介绍一种更简便的方法。 1. 测试代码 测...
SylixOS动态库的初始化和清理
参考以下博客: https://blog.csdn.net/xy010902100449/article/details/47263049 https://blog.csdn.net/lixiangm...
SimpleOS开发(7)添加进程支持
1. 进程相关数据结构定义 首先定义进程的状态,这里参考xv6将进程定义为6个状态: PROC_UNUSED:进程控制块未使用处于空闲状态。 PROC_USED:进程控制块已经被使用状态。 PROC_...
SylixOS BSP开发(一)
写在前面的话 其实很早之前就想写BSP开发教程了,但是由于各种各样的原因都被搁置了。创建这个博客大概也是2~3年前的想法,当时还跟荣哥说了,估计荣哥都忘了吧( ﹁ ﹁ )。去年年底在网上找资料偶尔发现...