源码解读·RT-Thread操作系统从开机到关机
\\参加RT-Thread线上活动,请移步文末 本篇内容比较简单,但却很繁琐,篇幅也很长,毕竟是囊括了整个操作系统的生命周期。这篇文章的 目的是作为后续设计多任务开发的铺垫 ,后续会单独再抽出一篇分析任务的相关知识。另外本篇文章以单核MCU为背景,并且以最新的 3.1.xLTS 版本源码进行分析。主要内容目录如下 : 基于bsp/stm32/stm32f103-mini-system为背景 Cortex-M3的堆栈基础概念 C语言main函数和rt-thread的main rt-thread操作系统的传统初始化与自动初始化组件 任务是怎样运行起来的 Idle任务与新的构想 基于bsp/stm32/stm32f103-mini-system的开机介绍 关于体系结构的知识这里不做过多的介绍,因为这些知识要讲清楚的话足以写出一本大部头的书出来。不过会简单介绍一些必要的东西。 Stm32f103单片机是cortex-m3内核,在cortex-m3内核中使用双堆栈psp和msp,模式分为线程模式和handler模式,权限级别分为非特权级别和特权级别(现在只需要知道这么多就行了),handler模式就是当处理发生中断的时候自动进入的模式,其handler模式永远为特权级。 上电开机最开始运行的是MCU内部的ROM部分,这部分代表我们通常看不到,其通常是对芯片进行必要的初始化