SylixOS

SylixOS BSP开发(十三)

实现系统TICK初始化 通常情况下我们会选择一个定时器用于产生系统所需要的TICK中断,在全志R16平台上有两个24bit硬件定时器,使用时用户设置一个初始值,启动后定时器进行递减,如果减到0则可以产...
阅读全文
SylixOS

SylixOS字符设备驱动开发(九)

SylixOS设备操作之read和write 有些设备可能会和应用层有大量的数据进行传输,比如网卡、硬盘等等,这时候用ioctl来和应用层传输数据就显得不怎么适合了,因为ioctl一般是用来进行对设备...
阅读全文
SylixOS

SylixOS块设备驱动开发(六)

块设备和块缓冲配置 1. 块设备配置 这里对块配置中几个比较重要的成员做个说明: BLKD_pcName:这个名字会在proc文件系统中查看块缓冲信息时用到。 BLKD_ulNSector:块设备总扇...
阅读全文
SylixOS

浅谈编译(四)

OpenCL 1. OpenCL简介 OpenCL 是由 Khronos Group 针对异构计算设备(heterogeneous device)进行并行运算所设计的标准 API 以及程式语言。 Op...
阅读全文
SylixOS

SylixOS块设备驱动开发(三)

SylixOS块设备框架 1. 从功能角度 从功能角度,SylixOS块设备框架大致可以分为5个部分: 用户层的APP通过对文件读写来操作块设备。 各种文件通过内核提供的文件系统进行统一的管理。 文件...
阅读全文
SylixOS

RISCV基础开发(十六)

QEMU裸机开发之S模式定时器中断 在本章节中我们来学习如何在s模式下使用定时器中断,我们首先将上一章节中的ecall调用定义为更新定时器比较寄存器的调用,因为在s模式我们是不能访问定时器比较寄存器的...
阅读全文
SylixOS

SylixOS BSP开发(十二)

SylixOS内核启动过程简单分析 通过前面的学习我们已经掌握了SylixOS BSP开发的最基础的内容,现在大家至少能快速地在一块开发板上移植SylixOS并且能启动到显示Logo阶段了。现在我们暂...
阅读全文
SylixOS

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

修改内核入口文件 有了前面的基础知识后,我们从本章开始正式学习多核BSP开发。首先要做的工作就是修改startup.S这个内核入口文件,为了支持多核我们需要添加修改一些代码。 1. 调整栈设置 我们知...
阅读全文
SylixOS

RealEvo-IDE使用小技巧

1. 显示特殊字符 1.1 快捷按钮 1.2 编辑要显示的特殊字符 2. 将tab键换成4个空格 第一步: 第二步: 第三步: 3. 在固定的列显示竖线 4. 按列编辑 5. 高亮变量 6. 解决单个...
阅读全文
SylixOS

SylixOS字符设备驱动开发(七)

SylixOS驱动创建多个设备文件 在前面几节教程中我们在驱动中是直接定义一个设备实例的全局变量,但是实际项目中我们有时候需要定义自己的数据结构,用来将一些私有数据保存在其中,这时就可以按如下方式定义...
阅读全文