验证中断系统 上一章节我们已经完成了BSP中的中断系统接口实现,现在该验证下中断控制器是否能正常工作了。我们可以在系统TICK的中断处理函数中添加一个打印信息: 如果中断系统正常工作的话,当TICK产...
SylixOS BSP开发(十四)
实现BSP中断系统处理接口 这些接口都定义在bspLib.c中,需要BSP开发者根据实际平台去实现这些接口。全志R16使用的arm官方的GICv2版本中断控制器,关于这个控制器硬件上如何使用我们不会在...
SylixOS BSP开发(十三)
实现系统TICK初始化 通常情况下我们会选择一个定时器用于产生系统所需要的TICK中断,在全志R16平台上有两个24bit硬件定时器,使用时用户设置一个初始值,启动后定时器进行递减,如果减到0则可以产...
SylixOS BSP开发(十二)
SylixOS内核启动过程简单分析 通过前面的学习我们已经掌握了SylixOS BSP开发的最基础的内容,现在大家至少能快速地在一块开发板上移植SylixOS并且能启动到显示Logo阶段了。现在我们暂...
SylixOS BSP开发(十一)
SylixOS启动初体验 通过前面的学习,我们已经完成了SylixOS内核入口文件设置、内核VMM映射表设置和串口SIO驱动这几个比较重要的功能,这下我们可以再次编译内核启动,这次内核是可以成功输出S...
SylixOS BSP开发(十)
实现串口SIO驱动(二) 在实现SIO驱动操作集之前,我们先来学习下SylixOS下标准输出、标准输入、标准出错时如何工作的: 标准输出:当程序中使用printf打印信息时,就是往系统标准输出上输出信...
SylixOS BSP开发(九)
实现串口SIO驱动(一) 在SylixOS中,不管是调试串口还是通信串口都是以TTY设备的形式注册到内核中使用,每一个串口设备都在/dev/ 目录下有一个对应的ttyS* 设备名的设备: BSP在启动...
SylixOS BSP开发(八)
初始化FPU、MMU和Cache组件 本来想在不初始化这些部件的情况下把SylixOS先启动起来感受下,结果测试发现如果MMU不使能的话,系统启动过程中线程无法进行调度emm。。。所以只好把这一章节提...
SylixOS BSP开发(七)
实现系统调试信息打印接口 当系统出错时或者使用内核日志时会输出一些打印信息,这最终都是调用到bspLib.c中的bspDebugMsg 这个接口来实现的,所以我们在开发BSP时,第一个要做的工作就是实...
SylixOS BSP开发(六)
物理内存空间配置 1. 物理内存段配置 SylixOS将物理内存划分成4个区域进行使用:内核代码区,内核数据区,DMA内存区和APP内存区。系统启动开启MMU后会将内核代码区和内核数据区的物理地址和虚...
SylixOS BSP开发(五)
内核启动参数设置 SylixOS内核启动的时候需要传入一些参数以打开、关闭或者设置内核的一些功能组件,这是通过调用API_KernelStartParam 这个接口来实现的: 这些参数根据实际的需要进...
SylixOS BSP开发(四)
修改内核入口文件 SylixOS内核入口文件是startup.S,这个文件是用汇编写的,在这个文件中会做一些必要的初始化工作,然后跳转到C语言编写的代码中继续执行。创建BSP工程时会自动生成start...