SylixOS多核启动体验 重新编译SylixOS进行引导启动,启动后可以通过ts 命令查看t_idle线程的个数来判断当前系统中有几个核: 另外还可以通过cat /proc/cpuinfo 命令来查...
SylixOS 多核SMP BSP开发(二十二)
实现bspLib.c中多核相关接口 在bspLib.c中有3个接口是需要我们来实现的,另外为了配合多核启动,我们还需要另外再自己实现几个接口以和bspInit.c来一起将多核启动起来。 1. bspM...
SylixOS 多核SMP BSP开发(二十三)
在bspInit.c中添加多核启动功能 在本章节中,我们将添加从核启动需要的初始化代码,同样的在主核的处理过程中也需要添加代码来配合多核功能。 1. halModeInit 这个接口是主核和从核进入C...
SylixOS 多核SMP BSP开发(二十一)
修改内核入口文件 有了前面的基础知识后,我们从本章开始正式学习多核BSP开发。首先要做的工作就是修改startup.S这个内核入口文件,为了支持多核我们需要添加修改一些代码。 1. 调整栈设置 我们知...
SylixOS 多核SMP BSP开发(二十)
多核唤醒简介 在开始多核BSP开发之前,我们需要思考两个问题:第一个是各个cpu核不管是主核还是从核是如何开始执行指令的,也就是如何唤醒它们让其开始工作;第二个问题是各个cpu核怎么知道它要执行的第一...
SylixOS PCIe设备驱动开发(十四)
SylixOS PCIe设备驱动获取BAR空间信息 通过前面的学习我们知道了如何编写一个简单PCIe设备驱动的基本框架,但是我们还需要知道这个设备的寄存器基址,中断号等才能进一步编写驱动硬件的代码。我...
SylixOS PCIe设备驱动开发(十六)
SylixOS PCIe设备驱动开发杂项 1. 参考驱动代码 在SylixOS内核中,有一些PCIe设备驱动代码可以参考,具体的路径在libsylixos/SylixOS/driver/pci下: 其...
SylixOS PCIe设备驱动开发(十五)
SylixOS PCIe设备驱动中断处理 现在的PCIe设备要想正常工作基本都会用到中断功能,在SylixOS下要想使用设备中断功能,必须注册设备的中断处理函数并使能中断。而PCIe的中断又分为INT...
SylixOS PCIe设备驱动开发(十二)
SylixOS PCIe设备ID匹配 我们知道声卡有声卡的驱动,网卡有网卡的驱动,那么我们在加载声卡驱动的时候,系统是怎么知道当前的驱动是给声卡这个设备用的而不是给网卡用的呢?这就是通过驱动中定义的设...
SylixOS PCIe设备驱动开发(十三)
SylixOS PCIe设备驱动注册和卸载入口 通过前面的介绍我们知道当驱动注册时,如果匹配通过会调用我们自己的probe初始化函数,同样在卸载时会调用我们自己的退出函数。我们先来看看我们自己的pro...
SylixOS PCIe设备驱动开发(十一)
SylixOS PCIe设备驱动注册和卸载 在SylixOS中,使用PCI_DRV_CB 数据结构来表示一个PCIe设备驱动: typedef struct { LW_LIST_LINE PCIDRV...
SylixOS PCIe设备驱动开发(十)
SylixOS PCI相关shell命令使用 SylixOS下可以使用一些命令来查看PCI设备的信息,具体使用方法请看下面介绍。 1. pcis命令 pcis 命令是SylixOS内核自带的shell...