SylixOS

SylixOS BSP开发(三)

创建BSP工程 在实际的项目中,如果需要开发一款新的BSP,一般都是拿一个已有的BSP在此基础上做修改而成。但是在本教程中,我们完全从头开始创建一个空的BSP模板,带领大家一步步的完善这个BSP,最后...
阅读全文
SylixOS

SylixOS BSP开发(二)

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

SylixOS BSP开发(一)

写在前面的话 其实很早之前就想写BSP开发教程了,但是由于各种各样的原因都被搁置了。创建这个博客大概也是2~3年前的想法,当时还跟荣哥说了,估计荣哥都忘了吧( ﹁ ﹁ )。去年年底在网上找资料偶尔发现...
阅读全文
SylixOS

SylixOS PCIe设备驱动开发(十五)

SylixOS PCIe设备驱动中断处理 现在的PCIe设备要想正常工作基本都会用到中断功能,在SylixOS下要想使用设备中断功能,必须注册设备的中断处理函数并使能中断。而PCIe的中断又分为INT...
阅读全文
SylixOS

SylixOS PCIe设备驱动开发(十四)

SylixOS PCIe设备驱动获取BAR空间信息 通过前面的学习我们知道了如何编写一个简单PCIe设备驱动的基本框架,但是我们还需要知道这个设备的寄存器基址,中断号等才能进一步编写驱动硬件的代码。我...
阅读全文
SylixOS

SylixOS PCIe设备驱动开发(十三)

SylixOS PCIe设备驱动注册和卸载入口 通过前面的介绍我们知道当驱动注册时,如果匹配通过会调用我们自己的probe初始化函数,同样在卸载时会调用我们自己的退出函数。我们先来看看我们自己的pro...
阅读全文
SylixOS

SylixOS PCIe设备驱动开发(十二)

SylixOS PCIe设备ID匹配 我们知道声卡有声卡的驱动,网卡有网卡的驱动,那么我们在加载声卡驱动的时候,系统是怎么知道当前的驱动是给声卡这个设备用的而不是给网卡用的呢?这就是通过驱动中定义的设...
阅读全文
SylixOS

SylixOS PCIe控制器驱动开发(九)

SylixOS PCIe控制器驱动使用自动配置功能 1. 地址空间简单回顾 自动配置主要就是配置各个设备BAR空间的PCIe地址,所以我们简单回顾下PCIe地址和CPU物理地址的概念。 PCIe控制器...
阅读全文