黑客内核:如何实现属于你的实时内核?
本文讲的是黑客内核:如何实现属于你的实时内核?, 概要: 本文的实时内核的实现是在没有使用任何类型的Linux内核的情况下进行的,实时内核的处理器主要是针对16位和32位Microchip MCU,RAM是从8 KB到32 KB,ROM是从128到512 KB。 我们通过采用RTOS(实时操作系统)以及自行迭代的T Neo源代码来实现自定义的实时内核 。 抢占式操作系统如何工作 运行多个线程,由于本文中的处理器是“单线程的”:它们只能一次执行单个指令(这里只针对单核处理器)。所以为了在单核处理器上运行多个线程,我们迫切地需要定期在线程之间切换,以便用户感觉线程的存在并实施运行。 PlantUML图,处理器有一组寄存器。由于处理器是单线程的,所以这组寄存器只属于一个线程。例如,当计算两个数字的和: 实际上发生的却是以下事情(当然,它取决于确切的MCU类型): 并且由于在抢占式操作系统中,一个线程可以在几乎任何时刻抢占另一个线程,当然也可以在该序列之间发生。因此,假设在寄存器V0和V1都填充了值之后,一些其他线程抢占了当前的线程。由于新线程有自己的工作任务,因此,它自己使用的寄存器。当然,...