在驱动开发中,有时候配合app测试之后,使用ts等命令发现只能打印出头部信息,主体信息无法打印,如下: 原因:驱动中锁使用不规范导致系统死锁。 驱动测试代码: #define __SYLIXOS_KE...
SylixOS PCIe设备驱动开发(十)
SylixOS PCI相关shell命令使用 SylixOS下可以使用一些命令来查看PCI设备的信息,具体使用方法请看下面介绍。 1. pcis命令 pcis 命令是SylixOS内核自带的shell...
SylixOSPSV开源项目
1. PSV简介 PlayStation®VITA,简称PSV,是索尼发售的第二代掌机,采用前后双面触控操作,前面为5英寸OLED电容屏,分辨率960×544,后面板为多点触控板(电容式),配备有基于...
RISCV基础开发(十七)
QEMU OpenSBI 裸机开发之字符打印 1. 编译OpenSBI镜像 前面的章节我们是直接从m模式开发的裸机程序,从本章节开始我们来学习在已经有OpenSBI的基础下进行裸机开发。首先需要下载O...
Xv6内核分析(十六)
inode分析 1. inode介绍 在xv6中用Inode表示一个文件,inode数据结构在磁盘上和内存中都有表示。磁盘上的inode信息用于表示文件的大小、类型、文件数据在磁盘上的位置等等,内存中...
SylixOS BSP开发(五)
内核启动参数设置 SylixOS内核启动的时候需要传入一些参数以打开、关闭或者设置内核的一些功能组件,这是通过调用API_KernelStartParam 这个接口来实现的: 这些参数根据实际的需要进...
(七)SylixOS同步互斥之原子操作
1. 基本作用 在各类操作系统提供的接口中,除了我们之前学习的互斥锁和信号量类接口用于实现互斥或者同步的目的外,也基本都会提供一类原子操作的接口,一般接口都带有atomic_xxx字样。原子操作类接口...
全志D1开发(八)SD驱动之注册Host信息
1. 注册SD Memory设备驱动 在SylixOS的SD框架设计中,需要将主控制器驱动和设备驱动分别注册到SDM框架中以方便管理。使用内核SDM相关接口之前需要先调用 API_SdmLibInit...
Xv6内核分析(三.3)
main函数之lapicinit x86的中断体系可参考下面博客: https://blog.csdn.net/jiangwei0512/article/details/52964339。 1. 设置...
SylixOS块设备驱动开发(五)
块设备读写和控制 在初始化块设备数据结构的时候,有几个回调函数需要初始化: pdev->BLKD_pfuncBlkRd = vdisk_read; pdev->BLKD_pfuncBlkW...
RISCV基础开发(七)
QEMU裸机开发之格式化打印 在前面的程序中我们实现了简单的字符串输出函数,在实际使用时,我们还需要进行格式化打印,比如打印某个变量的值,按十进制或者十六进制打印等等,本章节我们在“uart.c”中实...
SimpleOS开发(4)切换到S模式
1. 设置trap入口 1.1 设置M模式trap入口 RISCV架构发生中断和异常时不会像arm那样自动切换栈指针,所以在trap入口需要先设置好栈地址,我们将__stack_start加上第九个页...