SylixOS

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

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

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

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

SylixOS 多核SMP BSP开发(二十)

多核唤醒简介 在开始多核BSP开发之前,我们需要思考两个问题:第一个是各个cpu核不管是主核还是从核是如何开始执行指令的,也就是如何唤醒它们让其开始工作;第二个问题是各个cpu核怎么知道它要执行的第一...
阅读全文
SylixOS

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

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

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

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

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

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

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

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