freertos内部机制
1.创建任务(伪造现场) 在内存中开辟一块内存作为该任务的栈。
在while(1)中死循环 直到定时器产生中断
1.进入中断前 硬件会保存当前代码运行过程中的一些寄存器的值到代码运行区域的内存栈中
等于进入start_task();之前的lr的值 0x08000a06
等于产生中断时代码的运行地址 0x08000a34
2.硬件保存之后为了供后续能完成硬件的自动恢复 需要把LR寄存器赋值一个特殊值0xFFFFFFF9
3.之后进入
cpu的 R0寄存器 保存当前LR寄存器中的特殊值
cpu的 R1 寄存器 保存当前栈的值
3.进入处理中断事情
进入函数
参数对应 cpu的R0 R1 R2 R3等寄存器的值