摘要:
startup.s 功能 不同的开发环境(IAR、KEIL、GCC编译器),startup.s的内容多少有些差别,但是功能基本如下: 设置向量表,包含MSP初值,各中断函数指针 芯片一上电,自动设置SP,PC,然后执行复位中断: 执行 SystemInit,初始化时钟,设置SCB->VTOR的值为向 阅读全文
posted @ 2021-06-06 22:55
流水灯
阅读(1433)
评论(0)
推荐(1)
摘要:
Cortex-M3 系列处理器是基于 ARMv7-M 架构的处理器,应用非常广泛,为了能够深入的分析在此平台上跑 RTOS 的各种细节,所以有必要写一篇关于 CM3 处理器的结构相关的文章(CM4 类似),在 OS 调度初始化、系统调用、进程调度等方面的细节均是和具体处理器息息相关,所以先让我们来看 阅读全文
posted @ 2021-06-06 21:58
流水灯
阅读(3303)
评论(0)
推荐(1)
摘要:
FreeRTOS 第一次启动任务切换前,需要调用函数 vPortStartFirstTask,初始化 MSP,然后触发 SVC 的中断函数 vPortSVCHandler,中断函数执行出栈后就跳转到第一个任务的入口函数。 之后任务切换通过中断函数 xPortPendSVHandler,此函数会执行入 阅读全文
posted @ 2021-06-06 15:28
流水灯
阅读(2874)
评论(0)
推荐(0)
摘要:
知识点: MSP:主堆栈指针,系统复位后,默认使用MSP指针,MSP指针用于操作内核以及处理异常和中断(异常是中断的一种,中断服务程序默认强制使用MSP指针,这是硬件自动设置的) 不使用OS,非中断函数和中断函数都使用MSP PSP:进程堆栈指针,任务(进程)使用PSP指针,在vPortSVCHan 阅读全文
posted @ 2021-06-06 14:40
流水灯
阅读(1519)
评论(0)
推荐(0)

浙公网安备 33010602011771号