LiteOS的任务是调度执行的最小单元,主要按照优先级抢占,辅以时间片轮转的方式进行调度。任务的操作和维护保护创建、删除、调用、挂起、恢复、切换、sleep等等。任务间的交互可以通过消息或事件进行,同时支持使用互斥锁MUX或信号量semphore来进行活动的互斥同步。任务可以分为不同的优先级,优先级用0-31表示,其中0为最高优先级。
系统的启动
理解上从vendor.s文件__vector_table开始运行,首先初始化MSP的地址,然后调用Reset_Handler函数,在reset函数中跳转__iar_program_start,然后进入main函数,没有找到__iar_program_start具体的说明?在main函数中进行了内存、任务等初始化,随后启动系统任务开始调度。
vendor.s只是系统刚启动时运行,而对于中断向量函数表,在初始化时配置OS_NVIC_VTOR寄存器进行重新定位。
关于中断