SylixOS

SylixOS BSP开发(二十五)

写在结尾的话 其实在一周前这个BSP开发系列教程就写完了,就差一个结束的篇章,正好借着往PSV上传游戏的时间给他写了。整个教程应该还算是比较基础的,属于比入门稍微高一点的水准的,在第一篇开始的时候也说...
阅读全文
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 BSP开发(十八)

高精度时间修正 1. TICK工作原理 其实这应该说“定时器工作原理”更合适些,1个系统tick就是一个定时器硬件中断,全志R16定时器的工作原理很简单,就是内部有一个递减的计数器,当减到0时产生一个...
阅读全文
SylixOS

SylixOS BSP开发(十七)

bspLib.c其他接口介绍 经过前面的学习,我们已经实现了bspLib.c中的中断和TICK相关的接口,在这个文件中还有一些其他的接口,下面我们就一起来看看这些接口的功能。 1. BSP信息获取相关...
阅读全文
SylixOS

SylixOS BSP开发(十六)

实现串口中断接收 通过前面的学习我们已经调试好了串口SIO驱动发送功能、中断系统和系统TICK功能,现在最小系统已经被我们完成了90%了,就剩最后一步我们需要实现串口使用中断接收数据的功能,这样我们才...
阅读全文
SylixOS

SylixOS BSP开发(十五)

验证中断系统 上一章节我们已经完成了BSP中的中断系统接口实现,现在该验证下中断控制器是否能正常工作了。我们可以在系统TICK的中断处理函数中添加一个打印信息: 如果中断系统正常工作的话,当TICK产...
阅读全文
SylixOS

SylixOS BSP开发(十四)

实现BSP中断系统处理接口 这些接口都定义在bspLib.c中,需要BSP开发者根据实际平台去实现这些接口。全志R16使用的arm官方的GICv2版本中断控制器,关于这个控制器硬件上如何使用我们不会在...
阅读全文